女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

UCOS2_STM32移植詳細過程 (一)

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-07 11:49 ? 次閱讀

Ⅰ、概述

該文寫針對初學μC/OS的朋友,基于以下平臺來一步一步移植μC/OS嵌入式操作系統。UCOS移植相關平臺:

系統平臺:μC/OS-II(最新V2.92版)

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

開發平臺:Keil(MDK-ARM) V5

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

原因在于μC/OS-II是一個比較成熟、穩定的系統,與μC/OS-III比較有些機制相對簡單很多。當你掌握了μC/OS-II,μC/OS-III很容易就理解了。

2.為什么是STM32F1?

硬件平臺是在移植的過程中比較重要的一點,也就是說,不同的硬件平臺,移植過程中的端口uCOS-II\Ports下源文件)存在一定的差異性。

但是同一內核的芯片,在系統移植的過程中基本上類似,也就是說,你掌握這一種內核(如:Cortex-M3),你移植相關的芯片就很容易了。

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

3.為什么是MDK-ARMV5?

這里沒什么好說的,個人愛好,喜歡使用最新的開發平臺。其他平臺(如:IAR)與系統軟件關聯性不是很大,你也可以試著用其他平臺進行移植。

筆者將“UCOS移植詳細過程”分為多篇文章來講述,敬請關注。

關于本文的詳情請往下看(微信請點擊“閱讀原文”查看內容鏈接內容)。

本著免費分享的原則,方便大家手機學習知識,定期在微信平臺分享技術知識。如果你覺得分享的內容對你有用,又想了解更多相關的文章,請用微信搜索“EmbeddDeveloper”或者掃描下面二維碼、關注,將有更多精彩內容等著你。

Ⅱ、關于μC/OS

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

μC/OS總共有三大版本(μCOS、μCOS-II和μCOS-III),這三個版本也存在很多差異,該文主要針對初學者,因此圍繞μC/OS-II來講解。它們之間的差異對比可以參看相關文檔(uCOS-III用戶指導手冊)。

https://yunpan.cn/cRU7gefa6gcma訪問密碼 8c7d

Ⅲ、準備工作

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

μC/OS-II可以在Micrium官網下載(需要賬號),也可以到我360云盤下載。

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

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

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

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

Micrium官網下載流程圖:

2.ST標準外設庫

Micrium官網下載的軟件是使用比較老的ST標準外設庫,這里我們下載最新的外設庫。

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

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

ST官網下載流程圖:

3.MDK-ARM下載與安裝

該環節我在我的其他文章中已經詳細講述過,請參考我的另外一篇文章:

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

Keil官網下載地址(需要賬號):

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

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

https://yunpan.cn/cPYaeY23RSsbb訪問密碼 9aba

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

1.軟件工程文件夾描述

從Micrium官網下載的軟件工程包解壓之后會發現里面有許多源程序文件,其實對于初學者來說,里面有很多文件都不會使用的。這里我們以下載的軟件包“Micrium_uC-Eval-STM32F107_uCOS-II.zip”解壓來說明一下里面的文件。

EvalBoards:評估(開發)板相關文件;主要是配置底層和系統,我們會提取部分有效文件。

uC-CPU:CPU相關文件;我們使用ST標準外設庫配置一些模塊,不使用該文件夾下文件。

uC-LIB:這個是Micrium官方的庫,初學者這里也不使用。

uCOS-II:這個文件夾才是關鍵,我們移植的內容基本上就是這里的文件。

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

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


app_cfg.h是應用配置的文件(如:任務優先級、堆棧大小等)。

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

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


Ports是與系統息息相關的端口配置文件。

Source這個不用說了,就是OS全部文件。

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

3.提取ST標準外設庫有用的文件

Micrium官網下載的軟件工程包也是使用標準外設庫建立的工程,但那是老版本的標準外設庫,因此,我們需要使用ST官網最新的標準外設庫。

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

4.整合提取的文件

Micrium官網下載的文件 + ST下載標準外設庫 + 提取整合

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


可以在我360云盤下載整合提取的文件:

https://yunpan.cn/cRz7TxwWex9Wc訪問密碼 70f4

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

1.新建工程

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

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

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

如下動畫:

2.新建、修改文件

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

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

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

https://yunpan.cn/cRpHh6CTYQavV訪問密碼 cc34

Ⅵ、說明

當你掌握UCOS在一種平臺上的移植,其他平臺移植原理類似,請不要局限某一平臺。

以上總結僅供參考,若有不對之處,敬請諒解。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2289

    文章

    11012

    瀏覽量

    362365
  • 移植
    +關注

    關注

    1

    文章

    394

    瀏覽量

    28575
  • 嵌入式操作系統

    關注

    1

    文章

    121

    瀏覽量

    31867
  • ucos2
    +關注

    關注

    0

    文章

    15

    瀏覽量

    3612
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    STM32與機智云連接實現步驟與技巧(下篇):機智云代碼移植與優化

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

    STM32G431移植FreeModbus

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

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

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

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

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

    STM32如何移植Audio框架?

    最近在學習音頻解碼,想用下Audio框架。 1、這個該如何移植到自己創建的BSP并對接到device框架中?看了官方移植文檔沒有對沒有對該部分的描述。 2、我只想實現
    發表于 04-01 08:08

    移植LWIP+FREERTOS時遇到的問題怎么解決?

    中斷,并且再也沒法ping 通的問題,表現的現象是進不去以太網中斷,導致 ethernetif_input()接收不到數據 移植過程是這樣的:(STM32F407+DP83848) 1:首先
    發表于 03-11 06:48

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

    移植是基于stm32cubeide,oled屏是1306驅動128x64的。接口用iic軟件模擬,hal庫iic硬件貌似有bug。 1,先在網上下載u8g2包。 2,解壓后找到源文件文
    的頭像 發表于 03-04 09:52 ?782次閱讀
    關于<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移植

    電子發燒友網站提供《從STM32WL55JC到STM32WLE5CC的LoRaWAN_FUOTA移植.pdf》資料免費下載
    發表于 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>

    STM32H503開發(2)----STM32CubeProgrammer燒錄

    STM32CubeProgrammer (STM32CubeProg) 是款用于編程STM32產品的全功能多操作系統軟件工具。 它提供了
    的頭像 發表于 11-28 09:25 ?2068次閱讀
    <b class='flag-5'>STM32</b>H503開發(<b class='flag-5'>2</b>)----<b class='flag-5'>STM32</b>CubeProgrammer燒錄

    外設移植 安信可Ai-WB2+FPM383C指紋

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

    基于機智云移植STM32L496G代碼移植

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

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

    GD32E230 上,大體上來說工作量不大,移植后的效果也不錯,GD32E230 相比 STM32F030 有不少功能的升級,主頻也更高,能感覺到國產 MCU 直在
    的頭像 發表于 09-07 10:24 ?1364次閱讀
    【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 系列

    對比、外設及性能對比以及從 STM32F10x 移植到 GD32F30x 的移植步驟,旨在讓開發者能夠快速從STM32F10x 移植到 GD
    的頭像 發表于 09-07 09:57 ?1715次閱讀
    【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 系

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

    基于STM32的E01和E01C驅動移植

    實驗簡介基于STM32F103C8T6的E01系列(nRF24L01P)和E01C系列(SI24R1)的EBYTE官網例程移植。EBYTE官網例程是基于STM8L151編寫,本次實驗的目的是將該例程
    的頭像 發表于 08-30 12:35 ?741次閱讀
    基于<b class='flag-5'>STM32</b>的E01和E01C驅動<b class='flag-5'>移植</b>