开源项目见:首发!成功移植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文章
6122浏览量
113273 -
代码
+关注
关注
30文章
4941浏览量
73137 -
OpenHarmony
+关注
关注
31文章
3926浏览量
20715
原文标题:龙芯 openharmony 课程 【2】启动分析
文章出处:【微信号:HarmonyOS_Community,微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
【精选资料】开发板测评大赛作品合集!
有ARM,NPU,FPGA三种核心的开发板 — 米尔安路飞龙派开发板
【新品】远距离图传数传模块开发板、蓝牙模块开发板、无线模块开发板
【免费试用】开发板评测大赛开启!OH 、RISC-V、Rockchip顶级开发板等你试用~
贝启BQ3568HM 开发板被选用为 OpenHarmony 明星开发板
请问下,openharmony支持哪一款龙芯的开发板?有没有开源的龙芯的openharmony源码?

龙芯开发板的板级代码首发
评论