0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32操作系統(tǒng)系列使用C語言的教程

汽車玩家 ? 來源:CSDN ? 作者:CSDN ? 2021-08-10 23:26 ? 次閱讀

C語言,相對于匯編有更好的可讀性,便于維護(hù)等優(yōu)點。下面實驗將使用C語言實現(xiàn)點亮LED燈。C語言與硬件是緊密連在一起的,結(jié)合芯片中的flash和sram,簡單了解C語言。

步驟:

  • FLASH,就是存放.bin文件的地方。SRAM,用于存放程序的堆棧,全局變量。


  • MEMORY,用于定義存儲器范圍。


  • 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。


  • 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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23308

    瀏覽量

    661603
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10910

    瀏覽量

    356588
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7608

    瀏覽量

    137125
收藏 人收藏

    評論

    相關(guān)推薦

    普華車用操作系統(tǒng)與黑芝麻智能武當(dāng)C1200家族芯片完成適配

    普華靈智安全車控操作系統(tǒng)(AUTOSAR CP)和普華靈思智能駕駛操作系統(tǒng)(AUTOSAR AP)已與黑芝麻智能武當(dāng)C1200家族芯片完成適配。
    的頭像 發(fā)表于 01-06 14:16 ?113次閱讀
    普華車用<b class='flag-5'>操作系統(tǒng)</b>與黑芝麻智能武當(dāng)<b class='flag-5'>C</b>1200家族芯片完成適配

    deepin操作系統(tǒng)介紹

    希望從自己的能力和對桌面操作系統(tǒng)的理解,能給 Linux 的用戶與開發(fā)者更多的選擇。我們也相信 deepin 能夠得到更多用戶的認(rèn)可與喜愛,成為開源世界的最佳選擇。? 一、 deepin 操作系統(tǒng) 先說 Linux 操作系統(tǒng),它
    的頭像 發(fā)表于 12-23 09:08 ?403次閱讀
    deepin<b class='flag-5'>操作系統(tǒng)</b>介紹

    基于無操作系統(tǒng)STM32單片機開發(fā)附源碼

    現(xiàn)在非常多的的MCU性能都還不錯,同時用戶也會去擴展一些外部RAM,這樣如果高效便捷的管理這些內(nèi)存是一個重要話題。 今天給大家分享一份源碼:基于無操作系統(tǒng)STM32單片機開發(fā),功能強大,可申請
    的頭像 發(fā)表于 11-15 11:24 ?528次閱讀

    linux是實時系統(tǒng)還是分時操作系統(tǒng)

    大家平時玩單片機基本上對于μC/OS、FreeRTOS、ThreadX這些操作系統(tǒng)非常熟悉了,他們都屬于實時操作系統(tǒng)(RTOS),在工業(yè)領(lǐng)域比較廣泛;然而對于linux這樣的基于時間片劃分的非實時
    的頭像 發(fā)表于 11-11 11:43 ?521次閱讀

    工控機支持什么操作系統(tǒng)

    工控機,全稱工業(yè)控制計算機(Industrial Personal Computer, IPC),支持多種操作系統(tǒng)以滿足不同行業(yè)和應(yīng)用場景的需求。具體來說,工控機常見的操作系統(tǒng)包括:
    的頭像 發(fā)表于 09-11 09:24 ?494次閱讀

    簡單認(rèn)識RTOS實時操作系統(tǒng)

    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次閱讀

    嵌入式實時操作系統(tǒng):Intewell操作系統(tǒng)與VxWorks操作系統(tǒng)有啥區(qū)別

    Intewell操作系統(tǒng)和VxWorks操作系統(tǒng)都是工業(yè)領(lǐng)域常用的操作系統(tǒng),它們各有特點和優(yōu)勢。以下是它們之間的一些主要區(qū)別:
    的頭像 發(fā)表于 07-08 14:16 ?457次閱讀
    嵌入式實時<b class='flag-5'>操作系統(tǒng)</b>:Intewell<b class='flag-5'>操作系統(tǒng)</b>與VxWorks<b class='flag-5'>操作系統(tǒng)</b>有啥區(qū)別

    求助,psoc4系列支持的所有操作系統(tǒng)類型是哪些?

    您能告訴我們 psoc4 系列支持的所有操作系統(tǒng)類型嗎?
    發(fā)表于 05-21 07:37

    請問STM32上有跑RTOS實時操作系統(tǒng)的嗎?

    親們最近在鼓搗實時操作系統(tǒng),有什么好的經(jīng)驗請不吝賜教,嘿嘿。 我在摸索uT/OS。社區(qū)有在STM32幾款芯片上的移植。
    發(fā)表于 05-16 07:16

    如何根據(jù)需求選擇合適的新加坡VPS操作系統(tǒng)?

    選擇合適的新加坡VPS操作系統(tǒng)您需要考慮哪些因素,如何根據(jù)需求選擇合適的新加坡VPS操作系統(tǒng)?rak部落小編為您整理發(fā)布選擇合適的新加坡VPS操作系統(tǒng)需要考慮哪些因素。
    的頭像 發(fā)表于 05-10 11:14 ?463次閱讀
    如何根據(jù)需求選擇合適的新加坡VPS<b class='flag-5'>操作系統(tǒng)</b>?

    基于鴻道(Intewell?)操作系統(tǒng)研發(fā)的農(nóng)業(yè)機器人操作系統(tǒng)

    江蘇大學(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次閱讀

    帶你認(rèn)識實時操作系統(tǒng)(rtos)

    實時操作系統(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次閱讀
    帶你認(rèn)識實時<b class='flag-5'>操作系統(tǒng)</b>(rtos)

    C語言基礎(chǔ)-為什么要使用C?

    當(dāng)今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng)) MySQL 都是使用 C 語言編寫的
    發(fā)表于 03-25 11:20 ?459次閱讀

    c語言,c++,java,python區(qū)別

    操作系統(tǒng)、嵌入式系統(tǒng)等對性能要求較高的場景。C語言的語法相對簡單,學(xué)習(xí)曲線較平緩,也是學(xué)習(xí)其他高級語言的入門
    的頭像 發(fā)表于 02-05 14:11 ?2459次閱讀

    深度解析全球操作系統(tǒng)格局

    操作系統(tǒng)是負(fù)責(zé)協(xié)調(diào)、管理和控制計算機硬件與軟件資源的程序,是整個計算機的核心系統(tǒng)軟件。 按照操作系統(tǒng)面向的設(shè)備類型,通用操作系統(tǒng)主要包括桌面操作系統(tǒng)
    的頭像 發(fā)表于 01-18 15:00 ?1244次閱讀
    深度解析全球<b class='flag-5'>操作系統(tǒng)</b>格局