在歷史版本里邊隨便選取一個
會進入百度云盤的下載地址,里邊有全部版本的源碼。這里下載v2.1.0的穩(wěn)定版本。
解壓后的源碼目錄結構:
基本內(nèi)核的移植只需要關心目錄-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和對應IDE的匯編文件。
--F:RT-Thread源碼 t-thread-2.1.0src下的所有文件。此目錄是RT-thread的內(nèi)核代碼。
STM32的啟動文件等自己添加。也可以直接復制源碼中的文件。
2、工程目錄結構
RT-Thread存放RTOS源碼,也就是用戶無需修改的文件。
applications存放用戶修改文件和配置文件。
3、修改board.c文件
主要作用:初始化外設、硬件等。
源碼中提供的函數(shù):
NVIC_Configuration(void)里,加上中斷分組的配置。
EXT_SRAM_Configuration(void)是配置外部運存的代碼,如果用不到,可以不管或者刪除。關于48行的宏STM32_EXT_SRAM可在rtconfig.h里邊找到。
這個是系統(tǒng)心跳中斷服務函數(shù)。默認使用內(nèi)核自帶的SystemTick計數(shù)器。當然,也可以使用定時器來產(chǎn)生系統(tǒng)心跳。只要能夠周期性調(diào)用下圖165行、167行、170行的代碼即可。
rt_hw_board_init(void)函數(shù)是單片機上電調(diào)用的一個函數(shù),主要功能就是初始化外設,串口、定時器、GPIO之類的。
4、修改application.c文件
主要作用:用戶任務線程初始化、執(zhí)行。
從43行開始,把下面的內(nèi)容全部刪除。然后自己重寫。
主要提供一個int rt_application_init(void)的初始化函數(shù)即可。然后其他的全是任務線程。
5、提供串口打印函數(shù)
RT-Thread使用rt_hw_console_output函數(shù)來打印一些信息,這個只要在串口驅動文件里邊寫好即可。不需要extern。
6、修改配置文件rtconfig.h
注釋掉78行即可。
移植完成。
三、創(chuàng)建應用
-
移植
+關注
關注
1文章
379瀏覽量
28129 -
STM32F10x
+關注
關注
1文章
81瀏覽量
20682 -
源碼
+關注
關注
8文章
640瀏覽量
29203 -
RT-Thread
+關注
關注
31文章
1288瀏覽量
40116
原文標題:RT-thread源碼移植到STM32F10x和STM32F4xx
文章出處:【微信號:雨飛工作室,微信公眾號:雨飛工作室】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論