亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

UCOS2_STM32F1移植詳細(xì)過程 (二)

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-04-07 11:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Ⅰ、概述

打開上一篇文章新建的工程,是提取的ST標(biāo)準(zhǔn)庫里面源代碼文件和UCOS工程包源代碼文件。下載過的朋友可能會(huì)知道,直接編譯那個(gè)工程會(huì)有大片的錯(cuò)誤和警告,原因在于那個(gè)工程是沒有經(jīng)過修改源代碼的工程,接下來就是講述一步一步修改源代碼的過程(也就是所謂的移植過程)。

該文接著上一篇文章來講述“UCOS移植詳細(xì)過程”,上一篇文章是講述準(zhǔn)備工作、文件提取并整理、新建UCOS工程等工作。該文講述UCOS移植過程中修改部分源代碼(底層代碼、系統(tǒng)配置等)工作。

Ⅱ、ST芯片配置

配置ST型號的方法有兩種:使用標(biāo)準(zhǔn)庫源代碼配置和工程配置

1.源代碼配置

打開工程 -> 打開源代碼“stm32f10x.h”文件。

使用F103大容量的芯片:取消第68行STM32F10X_MD的注釋,這里需要和我們的啟動(dòng)代碼匹配startup_stm32f10x_hd.s。

使用標(biāo)準(zhǔn)外設(shè)庫:取消第105行USE_STDPERIPH_DRIVER的注釋,使用標(biāo)準(zhǔn)外設(shè)庫,我們使用stm32f10x_conf.h文件來配置使用到的外設(shè)庫。

2.工程配置

打開工程-> Project -> Options for Target -> C/C++,在該選項(xiàng)預(yù)定義里面添加STM32F10X_MD,USE_STDPERIPH_DRIVER這兩個(gè)宏定義即可。

注意:兩種方法用一種即可。效果圖如下:

Ⅲ、配置系統(tǒng)滴答時(shí)鐘

系統(tǒng)的運(yùn)行離不開系統(tǒng)滴答,就像我前面說過的:系統(tǒng)滴答的作用,就是驅(qū)動(dòng)整個(gè)系統(tǒng)工作的心臟,如果沒有了它,就等于人沒有了心跳。

1.初始化滴答

我們使用ST的滴答SysTick來配置作為操作系統(tǒng)的滴答時(shí)鐘,芯片SysTick是屬于內(nèi)核(Cortex-M3)的一部分,所以,在初始化的時(shí)候是調(diào)用CM3里面的源代碼(SysTick_Config函數(shù))。

這里說明一下,只要使用Cortex-M3內(nèi)核的芯片都有這個(gè)功能,可以說SysTick是專門為系統(tǒng)而設(shè)計(jì)的。


系統(tǒng)滴答配置如上圖,位于app_cfg.c源文件下面。

2.滴答中斷配置

中斷函數(shù)需要調(diào)用系統(tǒng)相關(guān)的函數(shù),也就是系統(tǒng)進(jìn)行滴答相關(guān)的函數(shù),這里是規(guī)定這么調(diào)用的。

Ⅳ、裁剪系統(tǒng)(配置os_cfg.h)

對于我們常說的系統(tǒng)可裁剪,其實(shí)就是對系統(tǒng)某些功能打開和關(guān)閉,使用到的功能才打開,不使用的功能就關(guān)閉(即使能和失能),這個(gè)文件就集中在os_cfg.h文件里面。

這里先說一下重要的幾個(gè)選項(xiàng):

1.最低優(yōu)先級OS_LOWEST_PRIO

這個(gè)與我們配置任務(wù)優(yōu)先級有關(guān)系,最低優(yōu)先級任務(wù)配置的最大值。我們所說的任務(wù)優(yōu)先級關(guān)系是:優(yōu)先級越小,數(shù)值越大; 相反,優(yōu)先級越大,數(shù)值越小。

位于os_cfg.h文件第39行:

#define OS_LOWEST_PRIO 63

2.系統(tǒng)每秒滴答數(shù)OS_TICKS_PER_SEC

這個(gè)宏定義的意思就是說,系統(tǒng)每秒鐘滴答多少次,它與系統(tǒng)延時(shí)(OSTimeDly)關(guān)系比較重要,我們的例子中OS_TICKS_PER_SEC等于100,調(diào)用OSTimeDly(100);相當(dāng)于的延時(shí)100個(gè)滴答,即延時(shí)1秒的意思。

位于os_cfg.h文件第51行:

#define OS_TICKS_PER_SEC 100

3.任務(wù)堆棧大小OS_TASK_xxx_STK_SIZE

這個(gè)幾個(gè)宏定義在使用相應(yīng)功能的時(shí)候有用,如果RAM資源有限,這個(gè)任務(wù)堆棧的大小最好根據(jù)任務(wù)來評估一下,資源有限時(shí)不要太大,當(dāng)然也不能小于程序正常運(yùn)行。

位于os_cfg.h文件第55 - 57行:

#define OS_TASK_TMR_STK_SIZE 128

#define OS_TASK_STAT_STK_SIZE 128

#define OS_TASK_IDLE_STK_SIZE 128

4.其他

還有很多與系統(tǒng)其他資源相關(guān)的配置,正常的情況下是需要的時(shí)候才開啟,不用盡量關(guān)閉。一是節(jié)約資源,二是減少編譯時(shí)間。后期我會(huì)將中文注釋在后面。

Ⅴ、下載

我將移植完成,建立了3個(gè)簡單任務(wù)的例程放在360云盤供大家下載與參考:

https://yunpan.cn/cRIpR5bwHMCCY訪問密碼 3885

UCOS2基于STM32F107的軟件工程包(官網(wǎng)原版):

Micrium官網(wǎng)下載地址(需要賬號):

https://www.micrium.com/download/micrium_stm32f107_ucos-ii

我360云盤下載地址:

https://yunpan.cn/cRzcf8eSacEhE訪問密碼 1235

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

ST官網(wǎng)下載地址(需要賬號):

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961

我360云盤下載地址(定期更新):

https://yunpan.cn/cSaCpGejMSfr8訪問密碼 60ae

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

    關(guān)注

    0

    文章

    49

    瀏覽量

    16101
  • ucos2
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    3694
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32MP257F-EV1評估板深度解析與技術(shù)應(yīng)用指南

    STMicroelectronics STM32MP257F-EV1評估板是用于STM32MP257FAI3的開發(fā)平臺(tái),采用Arm? Cortex?-A35和M33內(nèi)核。它支持用于主處理器(雙核
    的頭像 發(fā)表于 10-20 11:49 ?278次閱讀
    <b class='flag-5'>STM32MP257F-EV1</b>評估板深度解析與技術(shù)應(yīng)用指南

    STM32+esp8266連接機(jī)智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(guān)(平臺(tái)配置、代碼生成、代碼移植

    本教程將詳細(xì)介紹如何將STM32微控制器與ESP8266Wi-Fi模塊連接到機(jī)智云平臺(tái),實(shí)現(xiàn)溫濕度數(shù)據(jù)的上傳與繼電器的遠(yuǎn)程控制。通過此過程,您將學(xué)會(huì)如何配置機(jī)智云平臺(tái),燒錄ESP8266固件,
    的頭像 發(fā)表于 07-15 18:54 ?626次閱讀
    <b class='flag-5'>STM32</b>+esp8266連接機(jī)智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(guān)(平臺(tái)配置、代碼生成、代碼<b class='flag-5'>移植</b>)

    STM32F10xxx參考手冊

    STM32F1XX數(shù)據(jù)手冊中文版
    發(fā)表于 07-10 16:09 ?6次下載

    機(jī)智云配網(wǎng)教程第三期:單片機(jī)代碼移植實(shí)戰(zhàn)

    stm32f103c8t6,WiFi模塊:ESP-01s,下載器:ST-LINK2.軟件:keil5的工程文件模板,mcu代碼包代碼資源:未移植移植后(注:本文是基于
    的頭像 發(fā)表于 07-01 17:32 ?711次閱讀
    機(jī)智云配網(wǎng)教程第三期:單片機(jī)代碼<b class='flag-5'>移植</b>實(shí)戰(zhàn)

    STM32F40xxx和STM32f41xx flash編程手冊

    PM0081_STM32F40xxx and STM32F41xxx單片機(jī)編程手冊
    發(fā)表于 06-06 17:02 ?4次下載

    STM32與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(下篇):機(jī)智云代碼移植與優(yōu)化

    機(jī)智云SDK,集成API,實(shí)現(xiàn)數(shù)據(jù)傳輸和設(shè)備狀態(tài)同步,并分享移植過程中的常見問題及解決方法,幫助開發(fā)者順利實(shí)現(xiàn)云端連接。機(jī)智云相關(guān)代碼開始移植相關(guān)移植步驟
    的頭像 發(fā)表于 05-23 18:10 ?693次閱讀
    <b class='flag-5'>STM32</b>與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(下篇):機(jī)智云代碼<b class='flag-5'>移植</b>與優(yōu)化

    STM32G431移植FreeModbus

    STM32G431移植FreeModbus 的代碼已通過驗(yàn)證,在WeActStudio的STM32G431CoreBoard上進(jìn)行多次測試,均可正常讀取寄存器數(shù)值。STM32G431C
    發(fā)表于 04-19 16:50 ?1次下載

    uCOS III v3.08.01 移植PC Dev C++ 免虛擬機(jī)移植WinXP,Win7,Win10,Win 11

    uCOS III v3.08.01 移植PC Dev C++ 免虛擬機(jī)移植WinXP,Win7,Win10,Win 11。32位系統(tǒng)64位系統(tǒng)都可以。 這里有源碼和程序,歡迎下載測試
    發(fā)表于 04-15 20:14

    STM32F103x8 STM32F103xB單片機(jī)數(shù)據(jù)手冊

    STM32F103x8STM32F103xB單片機(jī)數(shù)據(jù)手冊
    發(fā)表于 04-14 14:55 ?6次下載

    STM32F103×8/STM32F103×B MCU手冊

    本文提供了STM32F103x8和STM32F103xB中密度高性能系列微控制器的訂購信息和機(jī)械器件特性。有關(guān)整個(gè)STMicroelectronics STM32F103xx系列的更多信息,請
    發(fā)表于 03-18 16:37 ?0次下載

    關(guān)于stm32,u8g2菜單之間切換()u8g2移植

    移植是基于stm32cubeide,oled屏是1306驅(qū)動(dòng)128x64的。接口用iic軟件模擬,hal庫iic硬件貌似有bug。 1,先在網(wǎng)上下載u8g2包。
    的頭像 發(fā)表于 03-04 09:52 ?1451次閱讀
    關(guān)于<b class='flag-5'>stm32</b>,u8g<b class='flag-5'>2</b>菜單之間切換(<b class='flag-5'>二</b>)u8g<b class='flag-5'>2</b>的<b class='flag-5'>移植</b>

    STM32F1開發(fā)指南

    這本書詳細(xì)講述了STM32HAL庫開發(fā)的配置流程,非常詳細(xì)
    發(fā)表于 01-21 15:33 ?3次下載

    STM32WL55JC到STM32WLE5CC的LoRaWAN_FUOTA移植

    電子發(fā)燒友網(wǎng)站提供《從STM32WL55JC到STM32WLE5CC的LoRaWAN_FUOTA移植.pdf》資料免費(fèi)下載
    發(fā)表于 01-15 15:24 ?1次下載
    從<b class='flag-5'>STM32</b>WL55JC到<b class='flag-5'>STM32</b>WLE5CC的LoRaWAN_FUOTA<b class='flag-5'>移植</b>

    STM32F101x8/STM32F101xB手冊

    電子發(fā)燒友網(wǎng)站提供《STM32F101x8/STM32F101xB手冊.pdf》資料免費(fèi)下載
    發(fā)表于 12-06 15:45 ?9次下載

    STM32F103x8/STM32F103xB規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《STM32F103x8/STM32F103xB規(guī)格書.pdf》資料免費(fèi)下載
    發(fā)表于 12-06 15:43 ?1次下載