wordpress批量替換url臨沂seo
文章目錄
- 前言
- 一、rtt的啟動(dòng)流程
- 二、移植工作
- 總結(jié)
前言
RT-Thread學(xué)習(xí),這里記錄對(duì)bsp的移植
一、rtt的啟動(dòng)流程
RT-Thread 支持多種平臺(tái)和多種編譯器,而 rtthread_startup() 函數(shù)是 RT-Thread 規(guī)定的統(tǒng)一啟動(dòng)入口。一般執(zhí)行順序是:系統(tǒng)先從啟動(dòng)文件開始運(yùn)行,然后進(jìn)入 RT-Thread 的啟動(dòng)函數(shù) rtthread_startup() ,最后進(jìn)入用戶入口函數(shù) main(),如下圖所示:
入口函數(shù)存放在該目錄 rt-thread/src/components.c
…/src/klibc/ 目錄存放內(nèi)核庫文件,跟標(biāo)準(zhǔn)c庫相關(guān)的
…/src/ 目錄存放著內(nèi)核實(shí)現(xiàn)的源碼
rt_hw_interrupt_disable(), rt_hw_board_init(), rt_system_schedular_star() 這三個(gè)函數(shù)是關(guān)鍵,決定板子的中斷初始化,板級(jí)設(shè)置初始化,系統(tǒng)調(diào)度初始化。
rt_hw_interrupt_disable() 和 rt_system_schedular_star() 主要是跟架構(gòu)相關(guān)的東西,rtt中在 /libcpu/ 下可以查看。對(duì)于riscv架構(gòu)的在 rt-thread/libcpu/risc-v 這個(gè)目錄下
cvitek 下 使用的 cv18xx 用的是 riscv c906 架構(gòu)cpu,這是個(gè)64位的cpu,所以應(yīng)該參考…/common64/
使用 SConscript.py 來控制編譯(生成匯編文件),Kconfig 來控制板子配置信息,rtconfig 來填充Kconfig。
二、移植工作
移植流程
- 移植并處理啟動(dòng)文件
- 將芯片架構(gòu)的幾個(gè)文件編譯進(jìn)來,rtt實(shí)現(xiàn)了基本的調(diào)度和中斷等
- 完成rt_hw_board_init函數(shù),不同的芯片這個(gè)函數(shù)不同
確保一個(gè)板子可以運(yùn)行rtt,需要完成下列工作- 配置定時(shí)器為系統(tǒng)提供心跳時(shí)鐘,一般來說是Systick滴答定時(shí)器
- 配置時(shí)鐘系統(tǒng),保證系統(tǒng)的正常運(yùn)行
- 根據(jù)板子的flash或者ram的情況來配置系統(tǒng)堆的空間
- 最基本的pin驅(qū)動(dòng)和uart驅(qū)動(dòng),
在 rt-thread/bsp/cvitek/cv18xx_risc-v/board/board.h 這個(gè)目錄下
堆空間在bss段末尾開始,堆空間的末尾是頁的開始