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

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

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

學(xué)習(xí)STM32開發(fā)難不難? 如何將工程(修改來)運行在自己開發(fā)板上

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-25 11:27 ? 次閱讀

Ⅰ、寫在前面

學(xué)習(xí)STM32開發(fā)難不難?

筆者的回答:不難?。?!

為什么不難?

1、ST提供了很多很好的資源,比如:標(biāo)準(zhǔn)外設(shè)庫、多種資料(包括多版中文的翻譯版資料)等。

2、很好的集成開發(fā)環(huán)境Keil、IAR等。

3、網(wǎng)上很多有用的分享,包括筆者在內(nèi)的愿意把技術(shù)知識無償分享出來的人。

學(xué)習(xí)STM32開發(fā)前途怎么樣?

筆者的回答:只要你技術(shù)能力夠強(qiáng),月薪上萬不是問題。

要學(xué)到什么程度才能找到相關(guān)工作?

1、首先要能靈活運用C語言常用知識編程,也就是說不要求精通,但要能靈活使用基本的語法(如:switch、for、break等),還需要對指針、結(jié)構(gòu)體等有一定的掌握。

2、你得有自己獨立開發(fā)的項目,項目的大小可以看得出你部分能力。

3、對STM32基本外設(shè)有部分了解并親自寫代碼驗證過。

Ⅱ、筆者想說的話

筆者覺得很多初學(xué)者不善于主動去學(xué)習(xí),都是想利用現(xiàn)成的工程代碼。筆者覺得這樣學(xué)習(xí)的方法不會成就你今后的成功,人都有懶惰的一面,但現(xiàn)實就是這么殘酷,沒辦法,你不努力,別人就會超過你?,F(xiàn)在大學(xué)生就業(yè)的情況,我們大家都應(yīng)該知道,可以說是一年不如一年好了。每一年都有成千上萬的大學(xué)生進(jìn)入社會,你在這個領(lǐng)域不付出點努力,總會有人在這個領(lǐng)域付出努力。

如今社會,不管是哪一行,競爭都很激烈。如果你決定選擇了這一行,在不得已的情況下,請不要輕言說放棄。因為你放棄了就等于否定了你當(dāng)初的決定,你再去決定選擇另外一個行業(yè),說不定今后你還會否定你當(dāng)初的決定,這樣會惡性循環(huán)下去。筆者的建議是:真正想想自己喜歡哪一行、適合哪一行,想好了再做決定。

關(guān)于學(xué)習(xí)STM32,筆者覺得它真的不難,需要的是我們的耐心,我們的努力。如果你當(dāng)初只是感覺喜歡學(xué)習(xí)STM32,那么請保持這份感覺。如果你在學(xué)習(xí)的時候遇到困難,失去這份感覺了,請你用不同的方法找回這份感覺。如果你想放棄這一行,請做好進(jìn)入另外一行的準(zhǔn)備。

Ⅲ、如何將工程(修改來)運行在自己開發(fā)板上

可能很多朋友的開發(fā)板、調(diào)試板上面主控芯片和筆者提供講解的工程實例不一樣,那么,只要是同一個系列(比如同為F4系列:你的是STM32F427IG、筆者的是STM32F417ZG),只要適當(dāng)修改一下工程配置就能使用了。

筆者告訴大家:STM32的兼容很好,有些工程可能不用修改,直接下載都能使用。(但是,作為學(xué)習(xí)盡量自己動手驗證、如果只是測試某個功能,可以直接下載測試)。

好了,說了那么多,還是教大家如何使用我的工程:

1.了解筆者工程文件、工程結(jié)構(gòu)關(guān)系


筆者使用的文件和工程結(jié)構(gòu)如上圖所示的對應(yīng)關(guān)系。

文件結(jié)構(gòu)中Libraries就是提取ST官方的標(biāo)準(zhǔn)外設(shè)庫,對應(yīng)添加到工程中(分為三類)。

文件中自定義的文件夾對應(yīng)工程的一個組。

第一類(標(biāo)準(zhǔn)外設(shè)庫):

Startup Code:啟動代碼

STM32F10x_StdPeriph_Driver:標(biāo)準(zhǔn)外設(shè)庫庫驅(qū)動

CMSIS:標(biāo)準(zhǔn)接口

第二類(用戶自定義):

Bsp:應(yīng)用底層代碼(初始化、驅(qū)動等)

App:應(yīng)用實現(xiàn)代碼(配置OS、應(yīng)用等)

第三類(描述):

Doc:ReadMe.txt描述文檔,不會執(zhí)行編譯

2.同系列修改型號

同一系列(我們以F4系列為例,其他系列F0、F1這些原理一樣)芯片的工程,如果資源都有,工程可以共用,只需要修改一下工程里的型號就行。

我們以F4工程為例,STM32F417ZG-> STM32F427IG修改方法如下三步驟。

參考工程下載地址:

https://yunpan.cn/cBQiZXDsvacwV 訪問密碼 a98e

1.修改工程配置型號

project ->Options for Target -> Device 修改為自己芯片的型號

修改方式如下動畫:

2.修改源文件型號

筆者習(xí)慣在工程文件里面修改型號,原因在于這里可以看見具體的型號,也知道宏定義的名稱(如:STM32F40_41xxx)。

其實,這個宏定義在工程配置中也可以定義,根據(jù)自己習(xí)慣選擇定義。

修改方式如下動畫:

3.修改啟動文件

啟動文件和芯片型號對應(yīng)的關(guān)系,比較簡單,如下動畫:

3.應(yīng)用相關(guān)

筆者提供的實例代碼都是簡化了很多無用的代碼、比較基礎(chǔ)的、容易理解的,基本上都是提供LED、USART1、TIM延時這種在所以芯片都有的功能。

如果你LED不是筆者提供例程里面的,很簡單,在bsp.h文件下改一下對應(yīng)IO口就行了。

如果你串口是使用USART2,只要usart.c文件下修改相關(guān)配置就行了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ST
    ST
    +關(guān)注

    關(guān)注

    32

    文章

    1124

    瀏覽量

    128726
  • STM32
    +關(guān)注

    關(guān)注

    2263

    文章

    10849

    瀏覽量

    353826
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4844

    瀏覽量

    96872
收藏 人收藏

    評論

    相關(guān)推薦

    開發(fā)板的PL端有4片的DDR,怎么管理數(shù)據(jù)的傳輸

    各位大佬好, 我現(xiàn)在想在自己開發(fā)板上面跑通正點原子的一個例程,這個例程是關(guān)于DDR的讀寫,1024個數(shù)寫入DDR,然后讀出來進(jìn)行對比,如果沒有錯誤就點亮LED。 開發(fā)板的PL端有4
    發(fā)表于 09-10 19:17

    【QEMU系列】不用開發(fā)板運行RT-Thread指南-ARM架構(gòu)

    成為一個門檻。本文詳細(xì)介紹如何在QEMU虛擬機(jī)的Vexpress-A9平臺運行RT-Thread,幫助開發(fā)者在沒有實際硬件開發(fā)板的情況下
    的頭像 發(fā)表于 08-09 08:35 ?667次閱讀
    【QEMU系列】不用<b class='flag-5'>開發(fā)板</b><b class='flag-5'>運行</b>RT-Thread指南-ARM架構(gòu)

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)板

    新建第一個工程-HelloWorld P12_Dev-Eco studio的界面布局 P13_基本工程目錄簡介 P14_部署應(yīng)用到開發(fā)板 P15_修改應(yīng)用程序的名稱和圖標(biāo) P16_應(yīng)用
    發(fā)表于 07-23 10:44

    MCU友好過渡MPU,米爾基于STM32MP135開發(fā)板裸機(jī)開發(fā)應(yīng)用筆記

    的代碼:編譯并調(diào)試后,讓程序全速運行,可以看到開發(fā)板的藍(lán)燈閃爍:至此創(chuàng)建的工程調(diào)試成功。產(chǎn)品介紹米爾STM32MP135
    發(fā)表于 03-29 18:35

    基于STM32H743IIT6開發(fā)的代碼,是否能不經(jīng)修改無障礙地運行在STM32H753IIT6

    基于 STM32H743IIT6 開發(fā)的代碼,是否能不經(jīng)修改無障礙地運行在STM32H753IIT6
    發(fā)表于 03-29 06:19

    fpga開發(fā)板是什么?fpga開發(fā)板有哪些?

    FPGA開發(fā)板是一種基于FPGA(現(xiàn)場可編程門陣列)技術(shù)的開發(fā)平臺,它允許工程師通過編程來定義和配置FPGA芯片的邏輯電路,以實現(xiàn)各種數(shù)字電路和邏輯功能。FPGA
    的頭像 發(fā)表于 03-14 18:20 ?1674次閱讀

    如何在PSoC62 Evaluation kit開發(fā)板運行RT-Thread呢?

    本文主要介紹如何在PSoC62 Evaluation kit開發(fā)板運行RT-Thread,如何連接CYW43012 WiFi藍(lán)牙模組,以及如何進(jìn)行WiFi聯(lián)網(wǎng)、網(wǎng)絡(luò)延遲、網(wǎng)絡(luò)帶寬測試。
    的頭像 發(fā)表于 02-27 10:49 ?883次閱讀
    如何在PSoC62 Evaluation kit<b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b><b class='flag-5'>運行</b>RT-Thread呢?

    請問可以利用RT-Thread修改屬于自己開發(fā)板包?

    我在使用RT-Thread的時候,因為默認(rèn)能選擇的開發(fā)板包有限 所以開發(fā)的時候我使用的是目前擁有的比較類似的開發(fā)板,但是硬件是不同的,每次添加組件之后,重新編譯 就會把我修改了的內(nèi)容給
    發(fā)表于 02-26 08:19

    ELF 1技術(shù)貼|如何將Python3.6.9移植到開發(fā)板

    如何進(jìn)行交叉編譯并移植到ELF1開發(fā)板。在網(wǎng)址:https://www.python.org/ftp/python/下載Python-3.6.9.tar.xz壓縮
    的頭像 發(fā)表于 02-22 14:06 ?372次閱讀
    ELF 1技術(shù)貼|<b class='flag-5'>如何將</b>Python3.6.9移植到<b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b>

    在TP芯片開發(fā)的軟件想要運行在同型號的TE芯片,需要做什么修改嗎?

    嗨,請教個問題,如在TP芯片開發(fā)的軟件想要運行在同型號的TE芯片,需要做什么修改嗎?
    發(fā)表于 02-01 08:01

    如何將Go程序編譯到ELF 1開發(fā)板

    編譯并運行在ELF1開發(fā)板的。一、在GoLand中配置(一)配置SSH連接Ubuntu虛擬機(jī)以及ELF1開發(fā)板1、打開GoLand的設(shè)置選項找到SSH,配置連接到
    的頭像 發(fā)表于 01-29 10:42 ?454次閱讀
    <b class='flag-5'>如何將</b>Go程序編譯到ELF 1<b class='flag-5'>開發(fā)板</b>

    鴻蒙設(shè)備-開發(fā)板基礎(chǔ)學(xué)習(xí)(BearPi-HM Micro)

    /download_img/kernel/ 五、燒錄鏡像 開發(fā)板的撥碼開關(guān)上撥到“000”燒錄模式,并按一下開發(fā)板的RESET按鍵 在Windows打開STM32CubePro
    發(fā)表于 01-08 21:54

    帶你玩轉(zhuǎn)AM62x開發(fā)板的顯示接口——LVDS的顯示和修改方式

    此前小編已為大家介紹過OK6254-C開發(fā)板的RGB顯示和修改方式,沒有讀過的小伙伴可以>>點擊這里閱讀,今天繼續(xù)為大家介紹OK6254-C開發(fā)板的LVDS顯示和
    的頭像 發(fā)表于 01-05 08:02 ?1117次閱讀
    帶你玩轉(zhuǎn)AM62x<b class='flag-5'>開發(fā)板</b>的顯示接口——LVDS的顯示和<b class='flag-5'>修改</b>方式

    STM32+Linux開發(fā)板應(yīng)用手冊

    STM32 WIFI Linux 安卓智能控制開發(fā)板應(yīng)用手冊
    發(fā)表于 12-21 11:04 ?3次下載

    方法|基于T507開發(fā)板如何將占用引腳配置為普通GPIO

    方法|基于T507開發(fā)板如何將占用引腳配置為普通GPIO
    的頭像 發(fā)表于 11-09 13:59 ?554次閱讀
    方法|基于T507<b class='flag-5'>開發(fā)板</b>講<b class='flag-5'>如何將</b>占用引腳配置為普通GPIO