下載 ? 在歷史版本里邊隨便選取一個(gè) ? 會(huì)進(jìn)入百度云盤的下載地址,里邊有全部版本的源碼。這里下載v2.1.0的穩(wěn)定版本。 ? 解壓后的源碼目錄結(jié)構(gòu): ? 基本內(nèi)核的移植只需要關(guān)心目錄-bsp、include、libcpu、src。 ? 二、開始移植 1、文件拷貝 -- F:RT-Thread源碼 t-thread-2.1.0spstm32f10x下的rtconfig.h。 --F:RT-Thread源碼 t-thread-2.1.0spstm32f10xapplications下的application.c和startup.c。 --F:RT-Thread源碼 t-thread-2.1.0spstm32f10" />
0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

RT-thread源碼移植到STM32F10x和STM32F4xx

lcdz66 ? 來源:雨飛工作室 ? 2023-11-15 09:38 ? 次閱讀

RT-thread源碼移植到STM32F10x和STM32F4xx:

一、源碼下載

點(diǎn)擊入門->下載

在歷史版本里邊隨便選取一個(gè)

會(huì)進(jìn)入百度云盤的下載地址,里邊有全部版本的源碼。這里下載v2.1.0的穩(wěn)定版本。

解壓后的源碼目錄結(jié)構(gòu):

基本內(nèi)核的移植只需要關(guān)心目錄-bsp、include、libcpu、src。

二、開始移植

1、文件拷貝

-- F:RT-Thread源碼 t-thread-2.1.0spstm32f10x下的rtconfig.h。

--F:RT-Thread源碼 t-thread-2.1.0spstm32f10xapplications下的application.c和startup.c。

--F:RT-Thread源碼 t-thread-2.1.0spstm32f10xdrivers下的board.c和board.h。

--F:RT-Thread源碼 t-thread-2.1.0include下的所有頭文件。

-- F:RT-Thread源碼 t-thread-2.1.0libcpuarmcortex-m3下的cpuport.c和對(duì)應(yīng)IDE的匯編文件。

Keil MDK使用context_rvds.S。

--F:RT-Thread源碼 t-thread-2.1.0src下的所有文件。此目錄是RT-thread的內(nèi)核代碼。

STM32的啟動(dòng)文件等自己添加。也可以直接復(fù)制源碼中的文件。

2、工程目錄結(jié)構(gòu)

RT-Thread存放RTOS源碼,也就是用戶無需修改的文件。

applications存放用戶修改文件和配置文件。

3、修改board.c文件

主要作用:初始化外設(shè)、硬件等。

源碼中提供的函數(shù):

NVIC_Configuration(void)里,加上中斷分組的配置。

EXT_SRAM_Configuration(void)是配置外部運(yùn)存的代碼,如果用不到,可以不管或者刪除。關(guān)于48行的宏STM32_EXT_SRAM可在rtconfig.h里邊找到。

這個(gè)是系統(tǒng)心跳中斷服務(wù)函數(shù)。默認(rèn)使用內(nèi)核自帶的SystemTick計(jì)數(shù)器。當(dāng)然,也可以使用定時(shí)器來產(chǎn)生系統(tǒng)心跳。只要能夠周期性調(diào)用下圖165行、167行、170行的代碼即可。

rt_hw_board_init(void)函數(shù)是單片機(jī)上電調(diào)用的一個(gè)函數(shù),主要功能就是初始化外設(shè),串口、定時(shí)器、GPIO之類的。

4、修改application.c文件

主要作用:用戶任務(wù)線程初始化、執(zhí)行。

從43行開始,把下面的內(nèi)容全部刪除。然后自己重寫。

主要提供一個(gè)int rt_application_init(void)的初始化函數(shù)即可。然后其他的全是任務(wù)線程。

5、提供串口打印函數(shù)

RT-Thread使用rt_hw_console_output函數(shù)來打印一些信息,這個(gè)只要在串口驅(qū)動(dòng)文件里邊寫好即可。不需要extern。

6、修改配置文件rtconfig.h

注釋掉78行即可。

移植完成。

三、創(chuàng)建應(yīng)用

審核編輯:湯梓紅
聲明:本文內(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)投訴
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    375

    瀏覽量

    28008
  • STM32F10x
    +關(guān)注

    關(guān)注

    1

    文章

    81

    瀏覽量

    20632
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    625

    瀏覽量

    28964
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1239

    瀏覽量

    39425

原文標(biāo)題:RT-thread源碼移植到STM32F10x和STM32F4xx

文章出處:【微信號(hào):雨飛工作室,微信公眾號(hào):雨飛工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【分享經(jīng)驗(yàn)】手把手教你把RT-Thread移植STM32F1

    因?yàn)閷W(xué)習(xí)RT-Thread的原因,需要把RT-Thread移植STMF103ZET6上,在RT-Thread官網(wǎng)下載的原文件中實(shí)際上已經(jīng)
    發(fā)表于 11-27 10:19

    如何移植RT-thread官方的系統(tǒng)源碼STM32F10x特定的MCU平臺(tái)中呢

    如何移植RT-thread官方的系統(tǒng)源碼STM32F10x特定的MCU平臺(tái)中呢?求大神解答
    發(fā)表于 08-11 09:55

    如何移植RT-thread官方的系統(tǒng)源碼STM32F10x特定的MCU平臺(tái)中?

    如何移植RT-thread官方的系統(tǒng)源碼STM32F10x特定的MCU平臺(tái)中?
    發(fā)表于 05-16 10:31

    STM32F4XX的模板例程

    完整的STM32F4XX的模板例程
    發(fā)表于 03-05 15:25 ?47次下載

    基于STM32F4RT-Thread通用BootLoader使用經(jīng)驗(yàn)

    基于STM32F4、RT-Thread通用BootLoader使用經(jīng)驗(yàn)
    的頭像 發(fā)表于 02-27 17:23 ?6049次閱讀
    基于<b class='flag-5'>STM32F4</b>和<b class='flag-5'>RT-Thread</b>通用BootLoader使用經(jīng)驗(yàn)

    STM32F10x系列移植GD32F10x系列電子版

    STM32F10x系列移植GD32F10x系列電子版
    發(fā)表于 05-31 09:22 ?0次下載

    STM32F10x系列移植GD32F10x系列指導(dǎo)文檔

    STM32F10x系列移植GD32F10x系列指導(dǎo)文檔
    發(fā)表于 12-03 16:29 ?6次下載

    基于正點(diǎn)原子精英版stm32f103zet6進(jìn)行rt_thread(3.0.3)的移植

    文件夾內(nèi)容簡(jiǎn)介添加RT_Thread源碼工程組文件夾config.h文件修改board.c文件修改修改main.c函數(shù)注意,此時(shí)編譯還會(huì)存在問題,需要將stm32F10x_it.c中
    發(fā)表于 12-05 11:21 ?0次下載
    基于正點(diǎn)原子精英版<b class='flag-5'>stm32f</b>103zet6進(jìn)行<b class='flag-5'>rt_thread</b>(3.0.3)的<b class='flag-5'>移植</b>

    RT-Thread系統(tǒng)移植STM32f103

    RT-Thread系統(tǒng)移植STM32f103
    發(fā)表于 12-09 12:51 ?26次下載
    <b class='flag-5'>RT-Thread</b>系統(tǒng)<b class='flag-5'>移植</b><b class='flag-5'>到</b><b class='flag-5'>STM32f</b>103

    HC32F460移植RT-Thread Nano+FinSh工程源碼下載

    HC32F460移植RT-Thread Nano+FinSh工程源碼下載
    發(fā)表于 01-05 10:30 ?6次下載

    AN4073 使用STM32F2xxSTM32F4xx微控制器時(shí)如何提高ADC精度

    AN4073 使用STM32F2xxSTM32F4xx微控制器時(shí)如何提高ADC精度
    發(fā)表于 11-21 12:57 ?0次下載
    AN4073 使用<b class='flag-5'>STM32F2xx</b>和<b class='flag-5'>STM32F4xx</b>微控制器時(shí)如何提高ADC精度

    UM1021_STM32F105xxSTM32F107xx、STM32F2xxSTM32F4xx USB On-The-Go 主機(jī)和設(shè)備庫

    UM1021_STM32F105xxSTM32F107xx、STM32F2xxSTM32F4xx USB On-The-Go 主機(jī)和設(shè)備庫
    發(fā)表于 11-22 19:13 ?11次下載
    UM1021_<b class='flag-5'>STM32F105xx</b>、<b class='flag-5'>STM32F107xx</b>、<b class='flag-5'>STM32F2xx</b> 和 <b class='flag-5'>STM32F4xx</b> USB On-The-Go 主機(jī)和設(shè)備庫

    UM1029_STM32F10xx、STM32F2xx、STM32F4xxSTM32L1xx I2C 通信外設(shè)應(yīng)用程序庫 (CPAL)

    UM1029_STM32F10xx、STM32F2xx、STM32F4xxSTM32L1xx I2C 通信外設(shè)應(yīng)用程序庫 (CPAL)
    發(fā)表于 11-22 19:13 ?1次下載
    UM1029_<b class='flag-5'>STM32F10xx</b>、<b class='flag-5'>STM32F2xx</b>、<b class='flag-5'>STM32F4xx</b> 和 <b class='flag-5'>STM32L1xx</b>   I2C 通信外設(shè)應(yīng)用程序庫 (CPAL)

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

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

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

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