C語言,相對于匯編有更好的可讀性,便于維護等優(yōu)點。下面實驗將使用C語言實現(xiàn)點亮LED燈。C語言與硬件是緊密連在一起的,結(jié)合芯片中的flash和sram,簡單了解C語言。
步驟:
- FLASH,就是存放.bin文件的地方。SRAM,用于存放程序的堆棧,全局變量。
- MEMORY,用于定義存儲器范圍。
- _data_start / _data_end,用于說明data段在flash中的位置,方便程序?qū)ata段從flash中復制到sram中。
- _ram_data_start,表示data段將復制到sram中的什么位置。
- LOADADDR(),表示獲得SECTION的加載地址lma。
- SIZEOF(),用于求SECTION的大小
- 整個SECTIONS,可以看做是程序在flash中的布局,其中.bss不占用flash空間,它是由程序中開始運行時,在sram中開辟空間并初始化為0。
- 各個SECTION,如.vectors\.text\.rodata\.data\.bss,分別存放不同類型的數(shù)據(jù)。
本質(zhì)就是C語言中的指針操作,volatile作用是確保本條指令不會因編譯器的優(yōu)化而省略。如代碼“RCC_APB2ENR |= 0x00000010;”,表示向寄存器的第4位(從0位開始計數(shù))寫1。
文章整合自:CSDN
編輯:ymf
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
led
+關(guān)注
關(guān)注
240文章
22907瀏覽量
650141 -
STM32
+關(guān)注
關(guān)注
2258文章
10828瀏覽量
352499 -
C語言
+關(guān)注
關(guān)注
180文章
7575瀏覽量
134124
發(fā)布評論請先 登錄
相關(guān)推薦
嵌入式實時操作系統(tǒng):Intewell操作系統(tǒng)與VxWorks操作系統(tǒng)有啥區(qū)別
Intewell操作系統(tǒng)和VxWorks操作系統(tǒng)都是工業(yè)領(lǐng)域常用的操作系統(tǒng),它們各有特點和優(yōu)勢。以下是它們之間的一些主要區(qū)別:
請問STM32上有跑RTOS實時操作系統(tǒng)的嗎?
親們最近在鼓搗實時操作系統(tǒng),有什么好的經(jīng)驗請不吝賜教,嘿嘿。
我在摸索uT/OS。社區(qū)有在STM32幾款芯片上的移植。
發(fā)表于 05-16 07:16
帶你認識實時操作系統(tǒng)(rtos)
實時操作系統(tǒng)(RTOS)是為嵌入式系統(tǒng)和實時應用提供一個穩(wěn)定、可預測和高效運行環(huán)境的操作系統(tǒng)。實時操作系統(tǒng)確保了系統(tǒng)能夠在嚴格的時間限制內(nèi)響
C語言基礎(chǔ)-為什么要使用C?
當今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng)) MySQL 都是使用 C 語言編寫的
發(fā)表于 03-25 11:20
?293次閱讀
c語言,c++,java,python區(qū)別
操作系統(tǒng)、嵌入式系統(tǒng)等對性能要求較高的場景。C語言的語法相對簡單,學習曲線較平緩,也是學習其他高級語言的入門
深度解析全球操作系統(tǒng)格局
操作系統(tǒng)是負責協(xié)調(diào)、管理和控制計算機硬件與軟件資源的程序,是整個計算機的核心系統(tǒng)軟件。 按照操作系統(tǒng)面向的設(shè)備類型,通用操作系統(tǒng)主要包括桌面操作系統(tǒng)
詳解實時操作系統(tǒng)和非實時操作系統(tǒng)
實時操作系統(tǒng),當外界事件和數(shù)據(jù)產(chǎn)生時,系統(tǒng)能以足夠快的速度予以處理,其處理結(jié)果能在規(guī)定的時間內(nèi)控制生產(chǎn)結(jié)果或?qū)?b class='flag-5'>系統(tǒng)做出響應,并控制所有實時任務協(xié)調(diào)一致運行的操作系統(tǒng)。
C語言運行環(huán)境是什么
計算等多個領(lǐng)域。為了能夠正確、有效地運行C語言程序,必須具備相應的運行環(huán)境。 C語言運行環(huán)境包括軟件運行環(huán)境和硬件運行環(huán)境兩個方面。下面將從這兩個方面詳細介紹
如何選擇創(chuàng)建c語言和c++
++ 的詳盡、詳實、細致的討論。 C 語言的特點和優(yōu)勢: C 語言是一種過程性的編程語言,它注重的是簡潔、高效、直接的編碼方式。以下是一些
嵌入式C語言的結(jié)構(gòu)特點
嵌入式開發(fā)中既有底層硬件的開發(fā)又涉及上層應用的開發(fā),即涉及系統(tǒng)的硬件和軟件,C語言既具有匯編語言操作底層的優(yōu)勢,又具有高級
如何判斷自己的應用需要上實時操作系統(tǒng)?
無線,WIFI無線。主要是數(shù)據(jù)采集,多種通信規(guī)約轉(zhuǎn)換。
請問怎么判斷自己的設(shè)備需要上實時操作系統(tǒng);實時操作系統(tǒng)中,ucos、freertos、rt-thread在應用上,或者說是實時性響應上應該沒區(qū)別吧。
發(fā)表于 10-28 08:12
開源操作系統(tǒng)大全
,重啟后不會影響用戶數(shù)據(jù);KnightOS 內(nèi)核具有獨立特性,它采用類 Unix 的環(huán)
境,使用 Z80 的匯編語言編寫,開發(fā)者可以用它來編寫自己的操作系統(tǒng);需要較少的內(nèi)存,使用 31K 的內(nèi)存即可
發(fā)表于 10-27 15:13
C語言的基礎(chǔ)知識
C語言是一種高級編程語言,廣泛應用于操作系統(tǒng)、嵌入式系統(tǒng)、游戲開發(fā)等領(lǐng)域。它由貝爾實驗室的Dennis Ritchie在1972年開發(fā)而成,
發(fā)表于 09-28 17:27
?1363次閱讀
STM32嵌入式操作系統(tǒng)介紹
的分配、任務調(diào)度,控制、協(xié)調(diào)并發(fā)活動。? 目前在嵌入式領(lǐng)域廣泛使用的操作系統(tǒng)有:嵌入式實時操作系統(tǒng)FreeRTOS、μC/OS-II、RThread、WindowsCE、VxWorks 等等.
發(fā)表于 09-28 06:59
評論