開源項目見:首發(fā)!成功移植OpenHarmony到龍芯開發(fā)板,代碼開源~
1、啟動文件和鏈接腳本
龍芯開發(fā)板的板級代碼位于:deviceloongsonls1c300b_hrst 文件夾。其中,啟動文件位于 deviceloongsonls1c300b_hrstsrclib 文件夾下,文件名:start.S 文件
鏈接腳本:deviceloongsonls1c300b_hrst 文件夾下:ld.script 文件

可以看到鏈接的地址是 0x80200000,也就是說我們編譯出來的固件要加載到這個地址運行。
2、系統(tǒng)啟動流程
代碼啟動流程圖如下,首先 start 函數(shù)會做芯片相關(guān)初始化,然后跳轉(zhuǎn)到main函數(shù),接下來會調(diào)用bsp_init進行板級初始化,包括串口初始化等,接下來進入 run_los 函數(shù),進行LOS_KernelInit內(nèi)核初始化,create_test_task創(chuàng)建測試線程,最后調(diào)用LOS_Start啟動內(nèi)核。
流程如下:

3、main函數(shù)
啟動文件 start.S 中會執(zhí)行CPU相關(guān)的初始化,例如內(nèi)存初始化、代碼拷貝、BSS段清零等。最后會執(zhí)行main函數(shù),如下:

我們來看下main函數(shù):

可以看到main函數(shù)首先執(zhí)行 bsp_init 進行板級初始化,bsp_init 函數(shù)主要執(zhí)行串口初始化、硬浮點初始化,中斷初始化等,最后打印CPU時鐘:

clk_print_all 函數(shù)打印的CPU時鐘信息可以在通過打印看到,如下:

執(zhí)行完 bsp_init 初始化后,會開始執(zhí)行 run_los 執(zhí)行openharmony內(nèi)核,代碼如下:

create_test_task 會根據(jù)相關(guān)的宏創(chuàng)建對應(yīng)的測試線程,開發(fā)者可以根據(jù)需要打開相應(yīng)測試:

原文標(biāo)題:龍芯 openharmony 課程 【2】啟動分析
文章出處:【微信公眾號:HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
開發(fā)板
+關(guān)注
關(guān)注
26文章
6290瀏覽量
118030 -
代碼
+關(guān)注
關(guān)注
30文章
4967瀏覽量
73948 -
OpenHarmony
+關(guān)注
關(guān)注
33文章
3952瀏覽量
21093
原文標(biāo)題:龍芯 openharmony 課程 【2】啟動分析
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
探索MCIMX93-QSB開發(fā)板:開啟嵌入式開發(fā)新征程
ESP32-P4全功能開發(fā)板和ESP32-P4-TINY開發(fā)板該怎么選?看這篇就夠了!
【精選資料】開發(fā)板測評大賽作品合集!
有ARM,NPU,F(xiàn)PGA三種核心的開發(fā)板 — 米爾安路飛龍派開發(fā)板
【新品】遠距離圖傳數(shù)傳模塊開發(fā)板、藍牙模塊開發(fā)板、無線模塊開發(fā)板
【免費試用】開發(fā)板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發(fā)板等你試用~
迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)三級節(jié)點操作函數(shù)實驗
貝啟BQ3568HM 開發(fā)板被選用為 OpenHarmony 明星開發(fā)板
請問下,openharmony支持哪一款龍芯的開發(fā)板?有沒有開源的龍芯的openharmony源碼?
龍芯開發(fā)板的板級代碼首發(fā)
評論