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

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

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

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

如何在APM32F407開發(fā)板上應(yīng)用uC/OS-III實(shí)時(shí)操作系統(tǒng)

Geehy極海半導(dǎo)體 ? 來(lái)源:21ic論壇極海半導(dǎo)體專區(qū) ? 2025-04-01 09:39 ? 次閱讀

來(lái)源:轉(zhuǎn)載自21ic論壇極海半導(dǎo)體專區(qū)

最近我開始學(xué)習(xí) uC/OS-III 實(shí)時(shí)操作系統(tǒng),并著手將其移植到APM32F407 開發(fā)板上。在這個(gè)過程中,我遇到了許多有趣的挑戰(zhàn)和發(fā)現(xiàn),也感受到了操作系統(tǒng)帶來(lái)的強(qiáng)大功能和靈活性。

在這篇帖子中,我打算分享我的學(xué)習(xí)經(jīng)驗(yàn)和移植過程,包括如何開始學(xué)習(xí)uC/OS-III、配置步驟、移植過程中遇到的問題以及解決方法。我希望通過這篇帖子,能夠幫助那些和我一樣對(duì)操作系統(tǒng)感興趣的朋友們,一起探索如何在APM32F407 上應(yīng)用 uC/OS-III。

1. uC/OS-III簡(jiǎn)介:

uC/OS-III,又稱微型C語(yǔ)言編寫的操作系統(tǒng)第3版,是一個(gè)基于優(yōu)先級(jí)的實(shí)時(shí)內(nèi)核,可升級(jí)和固化。它無(wú)限制地支持任務(wù)個(gè)數(shù),并且作為第三代內(nèi)核,擁有現(xiàn)代實(shí)時(shí)內(nèi)核所需的基本功能,例如資源管理、同步和任務(wù)間通信。值得注意的是,uC/OS-III具有獨(dú)特的功能,如完整的運(yùn)行時(shí)性能測(cè)量、直接向任務(wù)發(fā)送信號(hào)或消息,以及任務(wù)可以同時(shí)等待多個(gè)內(nèi)核對(duì)象。

簡(jiǎn)單來(lái)說(shuō),uC/OS-III是一個(gè)可擴(kuò)展和穩(wěn)固的實(shí)時(shí)內(nèi)核,可以管理無(wú)限數(shù)量的任務(wù)。它滿足現(xiàn)代實(shí)時(shí)內(nèi)核的期望,提供資源管理、同步和任務(wù)間通信等功能。它的獨(dú)特之處在于能夠在運(yùn)行時(shí)測(cè)量性能、直接向任務(wù)發(fā)送信號(hào)或消息,以及任務(wù)可以同時(shí)等待多個(gè)信號(hào)或消息隊(duì)列。

下面是一個(gè)列出了uC/OS-III的功能的簡(jiǎn)單表格:

20d7995c-0bb5-11f0-9310-92fbcf53809c.png

這些功能使得uC/OS-III成為一個(gè)強(qiáng)大、靈活且功能豐富的實(shí)時(shí)操作系統(tǒng),適用于各種嵌入式系統(tǒng)和實(shí)時(shí)應(yīng)用場(chǎng)景。

2.移植流程

?一、uCOS-III系統(tǒng)文件獲取

我這里提供了兩種下載方式,如下。

1.網(wǎng)盤鏈接下載:https://pan.baidu.com/s/1nHZjj2A40qW_jbbODOXfOw?pwd=762k

2.官方下載:https://github.com/weston-embedded

以下是點(diǎn)擊官方下載的鏈接后,需要下載的源文件。

① uc-os3源碼下載

20e73e3e-0bb5-11f0-9310-92fbcf53809c.png

② uc-lib源碼下載

20fce2c0-0bb5-11f0-9310-92fbcf53809c.png

③ uc-cpu源碼下載 ? 2115cc4a-0bb5-11f0-9310-92fbcf53809c.png

??二、添加ucos-III系統(tǒng)文件

1、去極海官網(wǎng)(https://geehy.com/apm32?id=47)下載APM32F407SDK,打開Examples文件夾,復(fù)制一份Template模板,新建ucos-III文件夾,把下載的源碼文件全部都復(fù)制進(jìn)去。??

212913a4-0bb5-11f0-9310-92fbcf53809c.png

2、打開mdk工程,新建一些文件目錄。

213a1988-0bb5-11f0-9310-92fbcf53809c.png

?3、向ucos_cpu中添加文件

打開uCOSIIIuC-CPU文件目錄,添加cpu_core.c文件。?

214f0578-0bb5-11f0-9310-92fbcf53809c.png

打開uCOSIIIuC-CPUARM-Cortex-MARMv7-M文件目錄,添加cpu_c.c。

21624b2e-0bb5-11f0-9310-92fbcf53809c.png

打開uCOSIIIuC-CPUARM-Cortex-MARMv7-MARM文件目錄,添加cpu_a.asm。

217a4094-0bb5-11f0-9310-92fbcf53809c.png

?4、向ucos_lib中添加文件。

打開uCOSIIIuC-LIB文件目錄,添加該文件目錄下的所有.c文件。?

218ef9f8-0bb5-11f0-9310-92fbcf53809c.png

?5、向ucos_source中添加文件。

打開uCOSIIIuC-OS3Source文件目錄,添加除了__dbg_uCOS-III.c文件的其余所有文件。?

21a771b8-0bb5-11f0-9310-92fbcf53809c.png

?6、向ucos_port中添加文件。

打開uCOSIIIuC-OS3PortsARM-Cortex-MARMv7-MARM文件目錄,添加該目錄下所有文件。?

21bc6e88-0bb5-11f0-9310-92fbcf53809c.png

打開uCOSIIIuC-OS3PortsARM-Cortex-MARMv7-M文件目錄,添加os_cpu_c.c。

7、向ucos_misc中添加文件。

打開uCOSIIIuC-CPUBSPTemplate文件目錄,添加bsp_cpu.c。?

21d23556-0bb5-11f0-9310-92fbcf53809c.png

8、添加頭文件。

21e8abf6-0bb5-11f0-9310-92fbcf53809c.png

21fab7d8-0bb5-11f0-9310-92fbcf53809c.png

三、編寫代碼

?1、編寫app_cfg.h文件。

ucos-III是沒有提供app_cfg.h這個(gè)文件的,我們需要手動(dòng)編寫。在uCOSIII下新建app_cfg.h,添加如下代碼。 ?

220a1778-0bb5-11f0-9310-92fbcf53809c.png

/* ********************************************************************************************************* * EXAMPLE CODE * * This file is provided as an example on how to use Micrium products. * * Please feel free to use any application code labeled as 'EXAMPLE CODE' in * your application products. Example code may be used as is, in whole or in * part, or may be used as a reference only. This file can be modified as * required to meet the end-product requirements. * * Please help us continue to provide the Embedded community with the finest * software available. Your honesty is greatly appreciated. * * You can find our product's user manual, API reference, release notes and * more information at https://doc.micrium.com. * You can contact us at www.micrium.com. ********************************************************************************************************* */ #ifndef APP_CFG_MODULE_PRESENT #define APP_CFG_MODULE_PRESENT /* ********************************************************************************************************* * MODULE ENABLE / DISABLE ********************************************************************************************************* */ /* ********************************************************************************************************* * TASK PRIORITIES ********************************************************************************************************* */ #define APP_CFG_TASK_START_PRIO 2u #define APP_CFG_TASK_1_PRIO 3u #define APP_CFG_TASK_2_PRIO 4u /* ********************************************************************************************************* * TASK STACK SIZES ********************************************************************************************************* */ #define APP_CFG_TASK_START_STK_SIZE 128u #define APP_CFG_TASK_BLINKY_STK_SIZE 128u #define APP_CFG_TASK_1_STK_SIZE 512u #define APP_CFG_TASK_2_STK_SIZE 512u /* ********************************************************************************************************* * TRACE / DEBUG CONFIGURATION ********************************************************************************************************* */ #ifndef TRACE_LEVEL_OFF #define TRACE_LEVEL_OFF 0 #endif #ifndef TRACE_LEVEL_INFO #define TRACE_LEVEL_INFO 1 #endif #ifndef TRACE_LEVEL_DBG #define TRACE_LEVEL_DBG 2 #endif #define APP_CFG_TRACE_LEVEL TRACE_LEVEL_OFF #define APP_CFG_TRACE printf #define BSP_CFG_TRACE_LEVEL TRACE_LEVEL_OFF #define BSP_CFG_TRACE printf #define APP_TRACE_INFO(x) ((APP_CFG_TRACE_LEVEL >= TRACE_LEVEL_INFO) ? (void)(APP_CFG_TRACE x) : (void)0) #define APP_TRACE_DBG(x) ((APP_CFG_TRACE_LEVEL >= TRACE_LEVEL_DBG) ? (void)(APP_CFG_TRACE x) : (void)0) #define BSP_TRACE_INFO(x) ((BSP_CFG_TRACE_LEVEL >= TRACE_LEVEL_INFO) ? (void)(BSP_CFG_TRACE x) : (void)0) #define BSP_TRACE_DBG(x) ((BSP_CFG_TRACE_LEVEL >= TRACE_LEVEL_DBG) ? (void)(BSP_CFG_TRACE x) : (void)0) #endif

?這段代碼是uC/OS-III示例程序的配置文件,定義了一些任務(wù)優(yōu)先級(jí)、任務(wù)堆棧大小以及跟蹤/調(diào)試配置相關(guān)的宏。以下是每個(gè)定義的宏的作用:

1. 任務(wù)優(yōu)先級(jí)(`APP_CFG_TASK_START_PRIO`, `APP_CFG_TASK_1_PRIO`, `APP_CFG_TASK_2_PRIO`):

- 定義了不同任務(wù)的優(yōu)先級(jí),用于確定任務(wù)在多任務(wù)系統(tǒng)中的執(zhí)行順序。數(shù)字越小,優(yōu)先級(jí)越高。?

?2. 任務(wù)堆棧大小(`APP_CFG_TASK_START_STK_SIZE`, `APP_CFG_TASK_BLINKY_STK_SIZE`,`APP_CFG_TASK_1_STK_SIZE`, `APP_CFG_TASK_2_STK_SIZE`):

- 定義了不同任務(wù)所使用的堆棧大小。堆棧大小越大,任務(wù)能夠使用的局部變量和函數(shù)調(diào)用深度就越大。

3. 跟蹤/調(diào)試配置:

- `TRACE_LEVEL_OFF`、`TRACE_LEVEL_INFO` 和`TRACE_LEVEL_DBG` 定義了跟蹤信息的級(jí)別。在這里,`TRACE_LEVEL_OFF` 表示關(guān)閉跟蹤,`TRACE_LEVEL_INFO` 表示僅輸出信息級(jí)別的跟蹤,`TRACE_LEVEL_DBG`表示輸出調(diào)試級(jí)別的跟蹤。

-`APP_CFG_TRACE_LEVEL` 和 `BSP_CFG_TRACE_LEVEL` 分別定義了應(yīng)用程序和 BSP (Board Support Package) 的跟蹤級(jí)別。

- `APP_CFG_TRACE` 和 `BSP_CFG_TRACE` 是跟蹤輸出函數(shù)的宏定義。在這里,它們被定義為`printf`,表示將跟蹤信息輸出到標(biāo)準(zhǔn)輸出設(shè)備(通常是串口)。?

?4. 跟蹤輸出宏 (`APP_TRACE_INFO`,`APP_TRACE_DBG`, `BSP_TRACE_INFO`, `BSP_TRACE_DBG`):

- 這些宏用于根據(jù)跟蹤級(jí)別輸出相應(yīng)級(jí)別的跟蹤信息。當(dāng)跟蹤級(jí)別高于宏定義的級(jí)別時(shí),才會(huì)輸出相應(yīng)級(jí)別的跟蹤信息,否則會(huì)被忽略。

2、編寫main函數(shù)。

我已經(jīng)編寫了一個(gè)使用ucos-iii的簡(jiǎn)單的示例代碼,代碼如下。

/*!

* [url=home.php?mod=space&uid=288409]@file[/url] main.c * * [url=home.php?mod=space&uid=247401]@brief[/url] Main program body * * [url=home.php?mod=space&uid=895143]@version[/url] V1.0.3 * * [url=home.php?mod=space&uid=212281]@date[/url] 2023-07-31 * * @attention * * Copyright (C) 2021-2023 Geehy Semiconductor * * You may not use this file except in compliance with the * GEEHY COPYRIGHT NOTICE (GEEHY SOFTWARE PACKAGE LICENSE). * * The program is only for reference, which is distributed in the hope * that it will be useful and instructional for customers to develop * their software. Unless required by applicable law or agreed to in * writing, the program is distributed on an "AS IS" BASIS, WITHOUT * ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied. * See the GEEHY SOFTWARE PACKAGE LICENSE for the governing permissions * and limitations under the License. */ /* Includes */ #include "main.h" #include "Board.h" #include #include #include #define DEBUG_USART USART1 /** @addtogroup Examples @{ */ /** @addtogroup Template @{ */ /** @defgroup Template_Functions Functions @{ */ #define STACK_SIZE 128 // Stack size for LED task #define LED_TASK_PRIO 5 // Priority for LED task #define SERIAL_TASK_PRIO 6 // Priority for serial print task OS_TCB ledTaskTCB; // Task Control Block for LED task OS_TCB serialTaskTCB; // Task Control Block for serial print task CPU_STK ledTaskStk[STACK_SIZE]; // Stack for LED task CPU_STK serialTaskStk[STACK_SIZE]; // Stack for serial print task OS_FLAG_GRP ledFlagGrp; // Event flag group for LED task void ledTask(void *p_arg); void serialPrintTask(void *p_arg); /*! * [url=home.php?mod=space&uid=247401]@brief[/url] Main program * * @param None * * @retval None */ int main(void) { USART_Config_T usartConfig; /* Configure US

???我們可以簡(jiǎn)單分析一下這段代碼,這段代碼實(shí)現(xiàn)了兩個(gè)任務(wù):LED任務(wù) (`ledTask`) 和串行打印任務(wù)(`serialPrintTask`)。以下是代碼的主要功能和實(shí)現(xiàn)細(xì)節(jié):

1. 任務(wù)優(yōu)先級(jí)和堆棧大小定義:

- 定義了LED任務(wù)和串行打印任務(wù)的優(yōu)先級(jí) (`LED_TASK_PRIO` 和`SERIAL_TASK_PRIO`),以及任務(wù)堆棧大小 (`STACK_SIZE`)。

- 定義了LED任務(wù)和串行打印任務(wù)的任務(wù)控制塊 (TCB) 和堆棧數(shù)組。

2. uC/OS-III初始化:

- 使用`OSInit()` 函數(shù)初始化uC/OS-III。

3. 串口和LED初始化:

- 配置了USART1作為調(diào)試串口,并初始化LED2和LED3。

4. 任務(wù)創(chuàng)建:

- 使用`OSTaskCreate()` 函數(shù)創(chuàng)建LED任務(wù)和串行打印任務(wù)。

- `ledTask` 函數(shù)用于定期切換LED狀態(tài),并通過設(shè)置事件標(biāo)志組通知串行打印任務(wù)。

- `serialPrintTask`函數(shù)等待事件標(biāo)志組的設(shè)置,然后通過串口打印消息。

5. 事件標(biāo)志組創(chuàng)建:

- 使用`OSFlagCreate()` 函數(shù)創(chuàng)建了一個(gè)名為 "LED Flags" 的事件標(biāo)志組 (`ledFlagGrp`)。

6. 多任務(wù)啟動(dòng):

- 使用`OSStart()` 函數(shù)啟動(dòng)uC/OS-III多任務(wù)調(diào)度。

7. 主循環(huán):

- 在`main` 函數(shù)的無(wú)限循環(huán)中,沒有具體的操作,只是用來(lái)保持程序運(yùn)行。

8. LED控制和定時(shí)延遲:

- `ledTask` 定期切換LED2和LED3的狀態(tài),然后通過設(shè)置事件標(biāo)志組通知串行打印任務(wù)。

- `serialPrintTask`等待事件標(biāo)志組的設(shè)置,并在收到通知后通過USART串口打印消息。

9. 系統(tǒng)時(shí)鐘設(shè)置:

- 使用`SysTick_Config()` 函數(shù)配置系統(tǒng)時(shí)鐘,用于提供定時(shí)功能。

總體來(lái)說(shuō),這份代碼展示了如何使用uC/OS-III創(chuàng)建并管理多個(gè)任務(wù),通過事件標(biāo)志組實(shí)現(xiàn)任務(wù)之間的同步,以及使用USART進(jìn)行串行通信。

四、編譯與下載

2218bd46-0bb5-11f0-9310-92fbcf53809c.jpg

初次編譯時(shí)會(huì)報(bào)錯(cuò),原因是ucos-iii系統(tǒng)文件中已經(jīng)實(shí)現(xiàn)了這兩個(gè)中斷服務(wù)函數(shù)。

222449ea-0bb5-11f0-9310-92fbcf53809c.png

注釋apm32f4xx_int.c中這兩個(gè)中斷服務(wù)函數(shù)的實(shí)現(xiàn),再次編譯。

223abbb2-0bb5-11f0-9310-92fbcf53809c.png

編譯無(wú)誤,下載代碼。

可以看到LED每隔0.5s翻轉(zhuǎn)一次,當(dāng) LED的狀態(tài)變化時(shí),串口都會(huì)打印一串信息。(這里L(fēng)ED翻轉(zhuǎn)的現(xiàn)象就不上傳了)

22545d92-0bb5-11f0-9310-92fbcf53809c.png

注:文章作者在原帖中提供了例程文件,有需要請(qǐng)至原文21ic論壇下載

原文地址:https://bbs.21ic.com/icview-3364670-1-1.html

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

    關(guān)注

    3

    文章

    1403

    瀏覽量

    40954
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7025

    瀏覽量

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

    關(guān)注

    1

    文章

    392

    瀏覽量

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

    關(guān)注

    25

    文章

    5389

    瀏覽量

    100901

原文標(biāo)題:APM32芯得 EP.50 | APM32F4 移植ucos-iii

文章出處:【微信號(hào):geehysemi,微信公眾號(hào):Geehy極海半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    國(guó)產(chǎn)優(yōu)秀替代_APM32F407替代STM32F407記錄

    STM32F407綽綽有余。我拿出了我吃灰已久的一塊開發(fā)板“啟明欣欣 IMT407 V5.1”(淘寶搜索“啟明欣欣”)。預(yù)計(jì)將開發(fā)板的ST
    的頭像 發(fā)表于 05-10 11:22 ?2.1w次閱讀
    國(guó)產(chǎn)優(yōu)秀替代_<b class='flag-5'>APM32F407</b>替代STM32<b class='flag-5'>F407</b>記錄

    APM32F407工具鏈?zhǔn)褂媒坛?/a>

    APM32F407工具鏈?zhǔn)褂媒坛?/div>
    的頭像 發(fā)表于 10-31 17:14 ?1442次閱讀
    <b class='flag-5'>APM32F407</b>工具鏈?zhǔn)褂媒坛? />    </a>
</div>                            <div   id=

    深入剖析uC/OS-III和FreeRTOS的區(qū)別

    操作uC/OS-III為了減少中斷執(zhí)行的時(shí)間,提高系統(tǒng)中斷響應(yīng)的實(shí)時(shí)性,設(shè)計(jì)了OS_TickT
    發(fā)表于 08-22 23:08

    分析一下uC/OS-III和FreeRTOS的區(qū)別

    : 我覺得,從這一點(diǎn),可以看出uC/OS-III實(shí)時(shí)性要比FreeRTOS好。另外,可能有的同學(xué)不理解為什么中斷執(zhí)行時(shí)間少了,系統(tǒng)
    發(fā)表于 12-17 10:31

    哪里可以買到《嵌入式實(shí)時(shí)操作系統(tǒng)uc/os-III應(yīng)用開發(fā)》這本書?

    最近學(xué)習(xí)在看原子哥的視頻學(xué)習(xí)uc/os-III的相關(guān)知識(shí),想買他推薦的兩本參考教材《嵌入式實(shí)時(shí)操作系統(tǒng)uc/
    發(fā)表于 09-26 22:46

    有沒有哪位大神將UC/OS-III 3.06.00移植到STM32F407的?

    最近在學(xué)習(xí)uC/OS-III,原子的例程中移植UC/OSIII 3.04.00,官網(wǎng)上更新的最新版本是UC/OS-III 3.06.00,取
    發(fā)表于 05-25 09:51

    uC/OS-III和FreeRTOS有什么區(qū)別

    : 我覺得,從這一點(diǎn),可以看出uC/OS-III實(shí)時(shí)性要比FreeRTOS好。另外,可能有的同學(xué)不理解為什么中斷執(zhí)行時(shí)間少了,系統(tǒng)
    發(fā)表于 05-28 00:38

    uC/OS-III和FreeRTOS的區(qū)別是什么?

    : 我覺得,從這一點(diǎn),可以看出uC/OS-III實(shí)時(shí)性要比FreeRTOS好。另外,可能有的同學(xué)不理解為什么中斷執(zhí)行時(shí)間少了,系統(tǒng)
    發(fā)表于 06-09 15:09

    uC/OS-III學(xué)習(xí)筆記

    uC/OS-III 學(xué)習(xí)筆記(一)uC/OS-III移植前言  最近畢設(shè)要做一個(gè)嵌入式設(shè)備,需要用到操作系統(tǒng)。本人只會(huì)制
    發(fā)表于 08-06 06:33

    嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II原理及應(yīng)用

    例程下載驗(yàn)證總結(jié)參考資料:正點(diǎn)原子《STM32F767 UCOS開發(fā)手冊(cè)》 野火《uC/OS-III內(nèi)核應(yīng)用與開發(fā)》 《嵌入式
    發(fā)表于 12-17 08:18

    uC/OS-III介紹

    uC/OS-III(Micro C OS Three 微型的C 語(yǔ)言編寫的操作系統(tǒng)第3版)是一個(gè)可升級(jí)的,可固化的,基于優(yōu)先級(jí)的實(shí)時(shí)內(nèi)核。它
    發(fā)表于 07-13 17:31 ?0次下載

    uC/OS-III的特點(diǎn)

    uC/OS-III簡(jiǎn)介 uC/OS-III(Micro C OS Three 微型的C 語(yǔ)言編寫的操作系
    發(fā)表于 10-13 14:07 ?2340次閱讀

    uCOS-III嵌入式實(shí)時(shí)操作系統(tǒng)中文版教程免費(fèi)下載

    什么是 uC/OS-III? uC/OS-III(Micro C OS Three 微型的 C語(yǔ)言編寫的
    發(fā)表于 10-28 08:00 ?0次下載
    uCOS-<b class='flag-5'>III</b>嵌入式<b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b>中文版教程免費(fèi)下載

    uC/OS-III移植----第一節(jié)(基于野火STM32F407ZGT6開發(fā)板 2021/11/1)

    uC/OS-III移植(基于野火STM32F407ZGT6開發(fā)板)一、源碼獲取二、工程準(zhǔn)備1、開發(fā)板準(zhǔn)備2、模板準(zhǔn)備三、開始移植1、源碼選擇
    發(fā)表于 12-01 14:36 ?8次下載
    <b class='flag-5'>uC</b>/<b class='flag-5'>OS-III</b>移植----第一節(jié)(基于野火STM32<b class='flag-5'>F407</b>ZGT6<b class='flag-5'>開發(fā)板</b> 2021/11/1)

    APM32F407 EVAL 原理圖

    APM32F407 EVAL 原理圖
    發(fā)表于 11-09 21:04 ?13次下載
    <b class='flag-5'>APM32F407</b> EVAL 原理圖