開源項目見:首發!成功移植OpenHarmony到龍芯開發板,代碼開源~
1、啟動文件和鏈接腳本
龍芯開發板的板級代碼位于:deviceloongsonls1c300b_hrst 文件夾。其中,啟動文件位于 deviceloongsonls1c300b_hrstsrclib 文件夾下,文件名:start.S 文件
鏈接腳本:deviceloongsonls1c300b_hrst 文件夾下:ld.script 文件
可以看到鏈接的地址是 0x80200000,也就是說我們編譯出來的固件要加載到這個地址運行。
2、系統啟動流程
代碼啟動流程圖如下,首先 start 函數會做芯片相關初始化,然后跳轉到main函數,接下來會調用bsp_init進行板級初始化,包括串口初始化等,接下來進入 run_los 函數,進行LOS_KernelInit內核初始化,create_test_task創建測試線程,最后調用LOS_Start啟動內核。
流程如下:
3、main函數
啟動文件 start.S 中會執行CPU相關的初始化,例如內存初始化、代碼拷貝、BSS段清零等。最后會執行main函數,如下:
我們來看下main函數:
可以看到main函數首先執行 bsp_init 進行板級初始化,bsp_init 函數主要執行串口初始化、硬浮點初始化,中斷初始化等,最后打印CPU時鐘:
clk_print_all 函數打印的CPU時鐘信息可以在通過打印看到,如下:
執行完 bsp_init 初始化后,會開始執行 run_los 執行openharmony內核,代碼如下:
create_test_task 會根據相關的宏創建對應的測試線程,開發者可以根據需要打開相應測試:
原文標題:龍芯 openharmony 課程 【2】啟動分析
文章出處:【微信公眾號:HarmonyOS官方合作社區】歡迎添加關注!文章轉載請注明出處。
-
開發板
+關注
關注
25文章
5525瀏覽量
102324 -
代碼
+關注
關注
30文章
4887瀏覽量
70257 -
OpenHarmony
+關注
關注
27文章
3831瀏覽量
18155
原文標題:龍芯 openharmony 課程 【2】啟動分析
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
【免費試用】開發板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發板等你試用~

評論