https://gitee.com/kerndev/kliteKLite的作者是jiangxiaogang。我們之前分享的?實用 | 手頭上無LCD卻又急著開發(fā)UI?LCD模擬器了解一下中介紹的模擬器也是這位大佬的作品。
void cpu_sys_init(void);
這個函數(shù)被kernel_init調(diào)用,為用戶提供一個接口,用于實現(xiàn)那些必須在系統(tǒng)初始化之前的準(zhǔn)備工作,例如初始化CPU的時鐘,設(shè)置FLASH等。
void cpu_sys_idle(uint32_t time);
這個函數(shù)被kernel_idle調(diào)用,為用戶提供一個接口,用于實現(xiàn)系統(tǒng)休眠.例如調(diào)用WFI指令,或者什么都不做。
void SysTick_Handler(void);
這個函數(shù)是平臺相關(guān)的滴答時鐘中斷函數(shù),需要在滴答時鐘中斷中調(diào)用kernel_tick(n),n表示一次中斷的毫秒數(shù)。
3、在main函數(shù)里面添加初始化代碼
main函數(shù)的推薦寫法如下:
//只需要包含這一個頭文件即可
#include "kernel.h"
//用于初始化應(yīng)用程序的線程
void init(void *arg)
{
}
//空閑線程,只需調(diào)用kernel_idle即可
void idle(void *arg)
{
kernel_idle();
}
//C語言程序入口
void main(void)
{
static uint8_t heap[HEAP_SIZE];
kernel_init((uint32_t)heap, HEAP_SIZE);
thread_create(init, 0, 0);
thread_create(idle, 0, 0);
kernel_start();
}
說明:
-
kernel_init 用于初始化內(nèi)核;
-
thread_create 創(chuàng)建主線程init和idle;
-
kernel_start 用于啟動內(nèi)核;
-
init是一個線程函數(shù),在該函數(shù)中實現(xiàn)你的其它初始化代碼.
-
更多函數(shù)參數(shù)說明請參考API文檔。
往期推薦:
嵌入式設(shè)計模式:有限狀態(tài)自動機的C語言實現(xiàn)
不修車了!轉(zhuǎn)行做單片機開發(fā)
在公眾號聊天界面回復(fù)1024,可獲取嵌入式資源;回復(fù) m ,可查看文章匯總。
點擊閱讀原文,查看更多分享
U-Boot,全稱Universal Boot Loader,是遵循GPL條款的從FADSROM、8xxROM、PPCBOOT逐步發(fā)展演化而來的 開放源碼項目。U-boot,是一個主要用于嵌入式系統(tǒng)的引導(dǎo)加載程序,可以支...
關(guān)鍵字: U-Boot GPL 嵌入式操作系統(tǒng)北京2022年10月11日 /美通社/ -- 在四川大涼山深處,有一只"涼山黑鷹"少年籃球隊:隊員平均年齡12歲,平均身高1米3,球隊剛成立時,連個像樣的球場都沒有。然而,憑著一腔熱情和驚人天賦,這只...
關(guān)鍵字: 網(wǎng)絡(luò) BSP 內(nèi)核 騰訊上海2022年8月5日 /美通社/ -- 日本院線級精準(zhǔn)護膚品牌TAKAMI強勢布局中國,品牌天貓官方旗艦店于7月1日重磅亮相,以便捷的線上購買渠道為中國消費者提供更豐富、沉浸的購物體驗,持續(xù)傳遞品牌的美肌哲學(xué)。這是TA...
關(guān)鍵字: OS OTA 內(nèi)核 大數(shù)據(jù)廣州2022年7月27日 /美通社/ -- 7月24日晚11:08,功能性護膚品牌溪木源官宣樸樹為品牌代言人。品牌卡點樸樹生日11·08官宣,心意滿滿。以官宣為契機,溪木源也迎來品牌升級,以全新品牌理念、全...
關(guān)鍵字: HEART 內(nèi)核 創(chuàng)始人 大眾