C語言,相對于匯編有更好的可讀性,便于維護(hù)等優(yōu)點。下面實驗將使用C語言實現(xiàn)點亮LED燈。C語言與硬件是緊密連在一起的,結(jié)合芯片中的flash和sram,簡單了解C語言。
步驟:
-
FLASH,就是存放.bin文件的地方。SRAM,用于存放程序的堆棧,全局變量。
-
AT>rom,表示將對應(yīng)的SECTION放置到rom中,即Flash中。
-
_data_start / _data_end,用于說明data段在flash中的位置,方便程序?qū)ata段從flash中復(fù)制到sram中。
-
_ram_data_start,表示data段將復(fù)制到sram中的什么位置。
-
ADDR(),表示獲得SECTION的運行地址vma,當(dāng)程序被下載到flash后,程序開始運行時首先要將data段移動到sram中0x20000400地址處,這樣程序運行時才不會出錯。
-
LOADADDR(),表示獲得SECTION的加載地址lma。
-
整個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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
普華靈智安全車控操作系統(tǒng)(AUTOSAR CP)和普華靈思智能駕駛操作系統(tǒng)(AUTOSAR AP)已與黑芝麻智能武當(dāng)C1200家族芯片完成適配。
發(fā)表于 01-06 14:16
?113次閱讀
希望從自己的能力和對桌面操作系統(tǒng)的理解,能給 Linux 的用戶與開發(fā)者更多的選擇。我們也相信 deepin 能夠得到更多用戶的認(rèn)可與喜愛,成為開源世界的最佳選擇。? 一、 deepin 操作系統(tǒng) 先說 Linux 操作系統(tǒng),它
發(fā)表于 12-23 09:08
?403次閱讀
現(xiàn)在非常多的的MCU性能都還不錯,同時用戶也會去擴展一些外部RAM,這樣如果高效便捷的管理這些內(nèi)存是一個重要話題。 今天給大家分享一份源碼:基于無操作系統(tǒng)的STM32單片機開發(fā),功能強大,可申請
發(fā)表于 11-15 11:24
?528次閱讀
大家平時玩單片機基本上對于μC/OS、FreeRTOS、ThreadX這些操作系統(tǒng)非常熟悉了,他們都屬于實時操作系統(tǒng)(RTOS),在工業(yè)領(lǐng)域比較廣泛;然而對于linux這樣的基于時間片劃分的非實時
發(fā)表于 11-11 11:43
?521次閱讀
工控機,全稱工業(yè)控制計算機(Industrial Personal Computer, IPC),支持多種操作系統(tǒng)以滿足不同行業(yè)和應(yīng)用場景的需求。具體來說,工控機常見的操作系統(tǒng)包括:
發(fā)表于 09-11 09:24
?494次閱讀
RTOS(Real Time Operating System,實時操作系統(tǒng))是一種專門設(shè)計用于在嚴(yán)格時間限制內(nèi)處理任務(wù)的操作系統(tǒng)。它以其高實時性、多任務(wù)處理能力和資源管理能力在工業(yè)自動化、醫(yī)療設(shè)備、航空航天、汽車電子等眾多領(lǐng)域得到廣泛應(yīng)用。以下是對RTOS實時
發(fā)表于 08-20 11:20
?2939次閱讀
Intewell操作系統(tǒng)和VxWorks操作系統(tǒng)都是工業(yè)領(lǐng)域常用的操作系統(tǒng),它們各有特點和優(yōu)勢。以下是它們之間的一些主要區(qū)別:
發(fā)表于 07-08 14:16
?457次閱讀
您能告訴我們 psoc4 系列支持的所有操作系統(tǒng)類型嗎?
發(fā)表于 05-21 07:37
親們最近在鼓搗實時操作系統(tǒng),有什么好的經(jīng)驗請不吝賜教,嘿嘿。
我在摸索uT/OS。社區(qū)有在STM32幾款芯片上的移植。
發(fā)表于 05-16 07:16
選擇合適的新加坡VPS操作系統(tǒng)您需要考慮哪些因素,如何根據(jù)需求選擇合適的新加坡VPS操作系統(tǒng)?rak部落小編為您整理發(fā)布選擇合適的新加坡VPS操作系統(tǒng)需要考慮哪些因素。
發(fā)表于 05-10 11:14
?463次閱讀
江蘇大學(xué)與科東軟件聯(lián)合研發(fā)“農(nóng)業(yè)機器人操作系統(tǒng)”,并成立“農(nóng)業(yè)機器人操作系統(tǒng)”聯(lián)合實驗室,奮力推進(jìn)農(nóng)業(yè)智能化,推動農(nóng)業(yè)科技創(chuàng)新?!稗r(nóng)業(yè)機器人操作系統(tǒng)”的技術(shù)革新,對提高農(nóng)業(yè)生產(chǎn)效率、保護(hù)環(huán)境、應(yīng)對農(nóng)業(yè)勞動力短缺及促進(jìn)智慧農(nóng)業(yè)發(fā)展
發(fā)表于 04-30 11:09
?449次閱讀
實時操作系統(tǒng)(RTOS)是為嵌入式系統(tǒng)和實時應(yīng)用提供一個穩(wěn)定、可預(yù)測和高效運行環(huán)境的操作系統(tǒng)。實時操作系統(tǒng)確保了系統(tǒng)能夠在嚴(yán)格的時間限制內(nèi)響
發(fā)表于 04-16 16:30
?1350次閱讀
當(dāng)今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng)) MySQL 都是使用 C 語言編寫的
發(fā)表于 03-25 11:20
?459次閱讀
操作系統(tǒng)、嵌入式系統(tǒng)等對性能要求較高的場景。C語言的語法相對簡單,學(xué)習(xí)曲線較平緩,也是學(xué)習(xí)其他高級語言的入門
發(fā)表于 02-05 14:11
?2459次閱讀
操作系統(tǒng)是負(fù)責(zé)協(xié)調(diào)、管理和控制計算機硬件與軟件資源的程序,是整個計算機的核心系統(tǒng)軟件。 按照操作系統(tǒng)面向的設(shè)備類型,通用操作系統(tǒng)主要包括桌面操作系統(tǒng)
發(fā)表于 01-18 15:00
?1244次閱讀
評論