在歷史版本里邊隨便選取一個(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和對應(yīng)IDE的匯編文件。
--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)用
-
移植
+關(guān)注
關(guān)注
1文章
375瀏覽量
28085 -
STM32F10x
+關(guān)注
關(guān)注
1文章
81瀏覽量
20647 -
源碼
+關(guān)注
關(guān)注
8文章
631瀏覽量
29085 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1252瀏覽量
39771
原文標(biāo)題:RT-thread源碼移植到STM32F10x和STM32F4xx
文章出處:【微信號(hào):雨飛工作室,微信公眾號(hào):雨飛工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論