一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

UCOS2_STM32移植詳細(xì)過(guò)程 (一)

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

掃碼添加小助手

加入工程師交流群

Ⅰ、概述

該文寫(xiě)針對(duì)初學(xué)μC/OS的朋友,基于以下平臺(tái)來(lái)一步一步移植μC/OS嵌入式操作系統(tǒng)UCOS移植相關(guān)平臺(tái):

系統(tǒng)平臺(tái):μC/OS-II(最新V2.92版)

硬件平臺(tái):STM32F1(適合F1所以系列)

開(kāi)發(fā)平臺(tái):Keil(MDK-ARM) V5

1.為什么是μC/OS-II?

原因在于μC/OS-II是一個(gè)比較成熟、穩(wěn)定的系統(tǒng),與μC/OS-III比較有些機(jī)制相對(duì)簡(jiǎn)單很多。當(dāng)你掌握了μC/OS-II,μC/OS-III很容易就理解了。

2.為什么是STM32F1?

硬件平臺(tái)是在移植的過(guò)程中比較重要的一點(diǎn),也就是說(shuō),不同的硬件平臺(tái),移植過(guò)程中的端口uCOS-II\Ports下源文件)存在一定的差異性。

但是同一內(nèi)核的芯片,在系統(tǒng)移植的過(guò)程中基本上類(lèi)似,也就是說(shuō),你掌握這一種內(nèi)核(如:Cortex-M3),你移植相關(guān)的芯片就很容易了。

還有就是,你掌握了移植的原理,不管在什么芯片上移植你都會(huì)覺(jué)得不是那么難,筆者在51、430、ST等眾多芯片上移植過(guò)μC/OS,問(wèn)題都不是很大,只要用心,相信都會(huì)沒(méi)問(wèn)題。

3.為什么是MDK-ARMV5?

這里沒(méi)什么好說(shuō)的,個(gè)人愛(ài)好,喜歡使用最新的開(kāi)發(fā)平臺(tái)。其他平臺(tái)(如:IAR)與系統(tǒng)軟件關(guān)聯(lián)性不是很大,你也可以試著用其他平臺(tái)進(jìn)行移植。

筆者將“UCOS移植詳細(xì)過(guò)程”分為多篇文章來(lái)講述,敬請(qǐng)關(guān)注。

關(guān)于本文的詳情請(qǐng)往下看(微信請(qǐng)點(diǎn)擊“閱讀原文”查看內(nèi)容鏈接內(nèi)容)。

本著免費(fèi)分享的原則,方便大家手機(jī)學(xué)習(xí)知識(shí),定期在微信平臺(tái)分享技術(shù)知識(shí)。如果你覺(jué)得分享的內(nèi)容對(duì)你有用,又想了解更多相關(guān)的文章,請(qǐng)用微信搜索“EmbeddDeveloper”或者掃描下面二維碼、關(guān)注,將有更多精彩內(nèi)容等著你。

Ⅱ、關(guān)于μC/OS

μC/OS-II是Micrium公司開(kāi)發(fā)的一套嵌入式實(shí)時(shí)操作系統(tǒng),應(yīng)用非常廣泛(工業(yè)、醫(yī)療、航天等)。μC/OS-II具有裁剪性(配置資源多少)和高度的移植性,所以很受嵌入式開(kāi)發(fā)工程師的追捧。

μC/OS總共有三大版本(μCOS、μCOS-II和μCOS-III),這三個(gè)版本也存在很多差異,該文主要針對(duì)初學(xué)者,因此圍繞μC/OS-II來(lái)講解。它們之間的差異對(duì)比可以參看相關(guān)文檔(uCOS-III用戶(hù)指導(dǎo)手冊(cè))。

https://yunpan.cn/cRU7gefa6gcma訪問(wèn)密碼 8c7d

Ⅲ、準(zhǔn)備工作

1.μC/OS軟件工程包下載

μC/OS-II可以在Micrium官網(wǎng)下載(需要賬號(hào)),也可以到我360云盤(pán)下載。

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

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

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

https://yunpan.cn/cRzcf8eSacEhE訪問(wèn)密碼 1235

Micrium官網(wǎng)下載流程圖:

2.ST標(biāo)準(zhǔn)外設(shè)庫(kù)

Micrium官網(wǎng)下載的軟件是使用比較老的ST標(biāo)準(zhǔn)外設(shè)庫(kù),這里我們下載最新的外設(shè)庫(kù)。

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

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

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

https://yunpan.cn/cSaCpGejMSfr8訪問(wèn)密碼 60ae

ST官網(wǎng)下載流程圖:

3.MDK-ARM下載與安裝

該環(huán)節(jié)我在我的其他文章中已經(jīng)詳細(xì)講述過(guò),請(qǐng)參考我的另外一篇文章:

http://blog.csdn.net/ybhuangfugui/article/details/51647893

Keil官網(wǎng)下載地址(需要賬號(hào)):

https://www.keil.com/demo/eval/arm.htm

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

https://yunpan.cn/cPYaeY23RSsbb訪問(wèn)密碼 9aba

Ⅳ、移植過(guò)程(文件描述與提?。?/p>

1.軟件工程文件夾描述

從Micrium官網(wǎng)下載的軟件工程包解壓之后會(huì)發(fā)現(xiàn)里面有許多源程序文件,其實(shí)對(duì)于初學(xué)者來(lái)說(shuō),里面有很多文件都不會(huì)使用的。這里我們以下載的軟件包“Micrium_uC-Eval-STM32F107_uCOS-II.zip”解壓來(lái)說(shuō)明一下里面的文件。

EvalBoards:評(píng)估(開(kāi)發(fā))板相關(guān)文件;主要是配置底層和系統(tǒng),我們會(huì)提取部分有效文件。

uC-CPU:CPU相關(guān)文件;我們使用ST標(biāo)準(zhǔn)外設(shè)庫(kù)配置一些模塊,不使用該文件夾下文件。

uC-LIB:這個(gè)是Micrium官方的庫(kù),初學(xué)者這里也不使用。

uCOS-II:這個(gè)文件夾才是關(guān)鍵,我們移植的內(nèi)容基本上就是這里的文件。

2.提取工程中有用的文件

我們主要提取EvalBoards和uCOS-II下文件。


app_cfg.h是應(yīng)用配置的文件(如:任務(wù)優(yōu)先級(jí)、堆棧大小等)。

os_cfg.h是系統(tǒng)配置的文件(使能相應(yīng)功能函數(shù),也就是所謂的裁剪系統(tǒng))。

將這兩個(gè)文件提取至我們自己新建工程app文件夾下。


Ports是與系統(tǒng)息息相關(guān)的端口配置文件。

Source這個(gè)不用說(shuō)了,就是OS全部文件。

拷貝整個(gè)uCOS-II文件夾(里面)到我們工程。

3.提取ST標(biāo)準(zhǔn)外設(shè)庫(kù)有用的文件

Micrium官網(wǎng)下載的軟件工程包也是使用標(biāo)準(zhǔn)外設(shè)庫(kù)建立的工程,但那是老版本的標(biāo)準(zhǔn)外設(shè)庫(kù),因此,我們需要使用ST官網(wǎng)最新的標(biāo)準(zhǔn)外設(shè)庫(kù)。

提取的文件過(guò)程我不在描述,最后我會(huì)提供下載鏈接供大家下載。

4.整合提取的文件

Micrium官網(wǎng)下載的文件 + ST下載標(biāo)準(zhǔn)外設(shè)庫(kù) + 提取整合

= UCOS2_STM32F1_ProjectTemplate(提取文件),如下圖:


可以在我360云盤(pán)下載整合提取的文件:

https://yunpan.cn/cRz7TxwWex9Wc訪問(wèn)密碼 70f4

Ⅴ、移植過(guò)程(新建工程及文件)

1.新建工程

新建Keil軟件工程及其工程的配置這里就不在多說(shuō),可以參考我的另外一篇文章:

http://blog.csdn.net/ybhuangfugui/article/details/51510482

配置的時(shí)候需要將uCOS-II下的文件添加到工程,同時(shí)也需要將他們的路徑配置好。

如下動(dòng)畫(huà):

2.新建、修改文件

工程建好之后,還需要新建一些文件(main.c、 bsp.c、 bsp.h、 app_cfg.c、 app_task.c、 app_task.h等)。同時(shí),還需要修改某些文件,修改的這些文件是移植過(guò)程的重點(diǎn),我將在下一篇文章進(jìn)行總結(jié)。

我將新建好的工程和源代碼整理打包供大家下載(注意:沒(méi)有修改源代碼,暫時(shí)編譯通不過(guò))。

360云盤(pán)下載(新建工程、文件):

https://yunpan.cn/cRpHh6CTYQavV訪問(wèn)密碼 cc34

Ⅵ、說(shuō)明

當(dāng)你掌握UCOS在一種平臺(tái)上的移植,其他平臺(tái)移植原理類(lèi)似,請(qǐng)不要局限某一平臺(tái)。

以上總結(jié)僅供參考,若有不對(duì)之處,敬請(qǐng)諒解。

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

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    365196
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    401

    瀏覽量

    28704
  • 嵌入式操作系統(tǒng)

    關(guān)注

    1

    文章

    121

    瀏覽量

    31956
  • ucos2
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    移植 ZephyrRTOS 到思澈 SF32LB58 過(guò)程筆記

    為 ZephyrRTOS 增加 SoC 支持(2) 基礎(chǔ)框架 N32L406 的移植還沒(méi)有完成,最近又開(kāi)坑做思澈 SF32LB58 的移植。原因是這個(gè)芯片帶藍(lán)牙和
    的頭像 發(fā)表于 07-04 11:17 ?851次閱讀
    <b class='flag-5'>移植</b> ZephyrRTOS 到思澈 SF32LB58 <b class='flag-5'>過(guò)程</b>筆記 <b class='flag-5'>一</b>

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

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

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

    在《STM32與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(上篇)》中,我們介紹了硬件連接和通信協(xié)議配置。本篇將重點(diǎn)講解如何將機(jī)智云相關(guān)代碼移植STM32,完成數(shù)據(jù)上傳和設(shè)備控制。我們將介紹如何在STM32
    的頭像 發(fā)表于 05-23 18:10 ?269次閱讀
    <b class='flag-5'>STM32</b>與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(下篇):機(jī)智云代碼<b class='flag-5'>移植</b>與優(yōu)化

    STM32G431移植FreeModbus

    STM32G431移植FreeModbus 的代碼已通過(guò)驗(yàn)證,在WeActStudio的STM32G431CoreBoard上進(jìn)行多次測(cè)試,均可正常讀取寄存器數(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)都可以。 這里有源碼和程序,歡迎下載測(cè)試
    發(fā)表于 04-15 20:14

    uCOS II v2.92 移植PC 免虛擬機(jī)移植WinXP,Win7,Win10,Win 11

    uCOS II v2.92 移植PC 免虛擬機(jī)移植WinXP,Win7,Win10,Win 11,32位系統(tǒng)64位系統(tǒng)都可以。
    發(fā)表于 04-13 22:46

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

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

    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>

    外設(shè)移植 安信可Ai-WB2+FPM383C指紋

    https://bbs.ai-thinker.com/forum.php?mod=viewthreadfromuid=15918 這里主要說(shuō)一下移植 FPM383C 指紋到 Ai-WB2 模塊時(shí)遇到
    的頭像 發(fā)表于 10-29 14:54 ?692次閱讀
    外設(shè)<b class='flag-5'>移植</b> 安信可Ai-WB<b class='flag-5'>2</b>+FPM383C指紋

    基于機(jī)智云移植STM32L496G代碼移植

    代碼詳解-機(jī)智云(gizwits.com)在移植過(guò)程中遇到的些問(wèn)題,這里我將重構(gòu)下,大致內(nèi)容跟文檔差不多,但是根據(jù)文檔的操作,會(huì)產(chǎn)生
    的頭像 發(fā)表于 09-20 08:05 ?1197次閱讀
    基于機(jī)智云<b class='flag-5'>移植</b><b class='flag-5'>STM32</b>L496G代碼<b class='flag-5'>移植</b>

    【GD32 MCU 移植教程】10、從STM32F030系列移植到GD32E230系列

    GD32E230 上,大體上來(lái)說(shuō)工作量不大,移植后的效果也不錯(cuò),GD32E230 相比 STM32F030 有不少功能的升級(jí),主頻也更高,能感覺(jué)到國(guó)產(chǎn) MCU 直在
    的頭像 發(fā)表于 09-07 10:24 ?1574次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】10、從<b class='flag-5'>STM32</b>F030系列<b class='flag-5'>移植</b>到GD32E230系列

    【GD32 MCU 移植教程】9、從 STM32F10x 系列移植到 GD32F30x 系列

    對(duì)比、外設(shè)及性能對(duì)比以及從 STM32F10x 移植到 GD32F30x 的移植步驟,旨在讓開(kāi)發(fā)者能夠快速?gòu)?b class='flag-5'>STM32F10x 移植到 GD
    的頭像 發(fā)表于 09-07 09:57 ?1986次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】9、從 <b class='flag-5'>STM32</b>F10x 系列<b class='flag-5'>移植</b>到 GD32F30x 系列

    【GD32 MCU 移植教程】8、從 STM32F4xx 系列移植到 GD32F4xx 系

    、外設(shè)及性能對(duì)比以及從 STM32F4xx 移植到 GD32F4xx 的移植步驟,旨在讓開(kāi)發(fā)者能夠快速?gòu)?b class='flag-5'>STM32F4xx移植到 GD32F
    的頭像 發(fā)表于 09-06 09:40 ?2650次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】8、從 <b class='flag-5'>STM32</b>F4xx 系列<b class='flag-5'>移植</b>到 GD32F4xx 系

    基于STM32的E01和E01C驅(qū)動(dòng)移植

    實(shí)驗(yàn)簡(jiǎn)介基于STM32F103C8T6的E01系列(nRF24L01P)和E01C系列(SI24R1)的EBYTE官網(wǎng)例程移植。EBYTE官網(wǎng)例程是基于STM8L151編寫(xiě),本次實(shí)驗(yàn)的目的是將該例程
    的頭像 發(fā)表于 08-30 12:35 ?872次閱讀
    基于<b class='flag-5'>STM32</b>的E01和E01C驅(qū)動(dòng)<b class='flag-5'>移植</b>