C語言,相對于匯編有更好的可讀性,便于維護等優點。下面實驗將使用C語言實現點亮LED燈。C語言與硬件是緊密連在一起的,結合芯片中的flash和sram,簡單了解C語言。
步驟:
- FLASH,就是存放.bin文件的地方。SRAM,用于存放程序的堆棧,全局變量。
- MEMORY,用于定義存儲器范圍。
- _data_start / _data_end,用于說明data段在flash中的位置,方便程序將data段從flash中復制到sram中。
- _ram_data_start,表示data段將復制到sram中的什么位置。
- ADDR(),表示獲得SECTION的運行地址vma,當程序被下載到flash后,程序開始運行時首先要將data段移動到sram中0x20000400地址處,這樣程序運行時才不會出錯。
- LOADADDR(),表示獲得SECTION的加載地址lma。
- SIZEOF(),用于求SECTION的大小
- 整個SECTIONS,可以看做是程序在flash中的布局,其中.bss不占用flash空間,它是由程序中開始運行時,在sram中開辟空間并初始化為0。
- 各個SECTION,如.vectors\.text\.rodata\.data\.bss,分別存放不同類型的數據。
本質就是C語言中的指針操作,volatile作用是確保本條指令不會因編譯器的優化而省略。如代碼“RCC_APB2ENR |= 0x00000010;”,表示向寄存器的第4位(從0位開始計數)寫1。
文章整合自:CSDN
編輯:ymf
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
led
+關注
關注
243文章
24594瀏覽量
690813 -
STM32
+關注
關注
2309文章
11162瀏覽量
373413 -
C語言
+關注
關注
183文章
7644瀏覽量
145570
發布評論請先 登錄
相關推薦
熱點推薦
操作系統體系結構
操作系統的體系結構是一個開放的問題。正如上文所述,操作系統在核心態為應用程序提供公共的服務,那么操作系統在核心態應該提供什么服務、怎樣提供服務?有關這個問題的回答形成了兩種主要的體系結構:大內核和微
發表于 01-15 08:19
操作系統運行機制
計算機系統中,通常CPU執行兩種不同性質的程序:一種是操作系統內核程序;另一種是用戶自編程序或系統外層的應用程序。對操作系統而言,這兩種程序的作用不同,前者是后者的管理者,因此“管理程
發表于 01-15 07:12
什么是嵌入式操作系統?
、嵌入式操作系統的定義
嵌入式操作系統是專門為資源受限的嵌入式設備(比如 STM32 單片機、物聯網模塊、工業控制器)設計的微型操作系統,核心作用是:管理硬件資源、調度多任務、提供標
發表于 12-09 10:33
C語言特性
數據,實現對設備的精準控制,同時降低功耗,延長設備的使用壽命。
2、可移植性:跨平臺的通行證
C 語言具有良好的可移植性,這意味著用 C 語言編寫的程序可以在多種不同的硬件平臺和
發表于 11-24 07:01
單片機的操作系統
搶占和輪轉調度,適用于低資源消耗場景(如STM32F0系列)。 ?
? μC/OS-II ?:搶占式多任務內核,支持64個任務,內存分區管理避免碎片,中斷嵌套深度達255層,適合工業控制系統
發表于 11-14 06:18
嵌入式實時操作系統的特點
。
低功耗和小尺寸:實時嵌入式操作系統通常要求運行時的資源占用較少,以適應嵌入式系統對功耗和尺寸的限制。
常見的實時嵌入式操作系統包括 FreeRTOS、ThreadX、Micrium μC
發表于 11-13 06:30
RusT-Thread:基于Rust面向資源受限嵌入式設備的操作系統的實踐 | 技術集結
摘要隨著物聯網和嵌入式系統的發展,實時操作系統(RTOS)的安全性和性能需求日益提高。傳統基于C語言的RTOS在內存安全和并發控制方面存在局限,容易導致緩沖區溢出、數據競爭等問題。本項
STM32C011開發(3)----Flash操作
STM32C011 系列微控制器內置 Flash 存儲器,支持程序存儲與數據保存,具備頁面擦除、雙字寫入、讀寫保護等功能。本文將簡要介紹 STM32C011 的 Flash 結構與特性,并通過實際代碼示例,講解 Flash 的擦
龍芯CPU與銀河麒麟操作系統V11深度適配
近日,龍芯中科受邀參加“麒麟遨天·共承長”2025中國操作系統產業大會,見證銀河麒麟操作系統V11的正式發布。龍芯桌面CPU(3A5000/3A6000)、服務器CPU(3C5000/3D5000
樹莓派操作系統:版本、特性及設置完整指南!
樹莓派操作系統是什么?樹莓派操作系統是由樹莓派基金會專為樹莓派開發的官方操作系統。它基于DebianLinux發行版,并針對樹莓派的ARM架構進行了專門優化。樹莓派操作系統有多個版本,
鴻道Intewell操作系統:人形機器人底層操作系統
操作系統的實時性賦能東土科技的鴻道(Intewell)工業操作系統作為國內唯一通過汽車、工業控制、醫療、軌道交通四項功能安全認證的系統,為標準體系中的技術層架構提供了底層支持。其微內核虛擬化架構可將人形機器人電子架構成本降低50
KaihongOS操作系統:ArkTS語言基礎
ArkTS語言基礎
KaihongOS是面向全場景的萬物智聯技術底座,在OpenHarmony基礎上技術創新和系統能力增強的跨設備的操作系統,它支持多種設備類型。ArkTS是KaihongOS
發表于 04-23 06:31
將樹莓派作為PC使用的5大最佳操作系統!
如果你喜歡用RaspberryPi構建多個項目,那么僅通過更換microSD卡就能切換發行版這一功能簡直太棒了。此外,RaspberryPi系列兼容眾多操作系統,每個系統都有其獨特的優勢。隨著新款
模型原生操作系統:機遇、挑戰與展望 CCCF精選
本文立足人工智能時代用戶、應用和系統的需求,分析“外掛式模型”演進路徑下的操作系統發展困局,提出通過“模型-系統-芯片”的全棧協同設計來構建模型原生操作系統,并進一步探討了面臨的機遇與
STM32操作系統系列使用C語言的教程
評論