鸿蒙移植i.mx6ull(八) 添加一个单板(下)

简介: 鸿蒙移植i.mx6ull(八) 添加一个单板

1671000910813.jpg

1671000921241.jpg

1671000939670.jpg

shell/full/src/base/show.c
shell/full/src/cmds/dmesg.c
shell/full/src/base/shcmd.c
shell/full/src/base/shmsg.c


1.5 解决链接错误


tools/build/mk/los_config.mk
mv vendor/st/stm32mp157/stm32mp157.mk vendor/st/stm32mp157/demochip.mk
vendor/democom/hdf/hdf_vendor.mk
drivers/hdf/lite/hdf_lite.mk


1.6 内核启动流程


内核启动流程可以分为4步骤(非官方):


启动


使用汇编代码编写,涉及非常底层的设置,比如CPU设置、代码重定位等等

地址映射也在这里实现

它最终会调用main函数

main函数


以后的代码,基本都是使用C语言编写了

主要工作是:调用OsMain进行各类初始化、最终会启动用户程序

OsMain函数


进行操作系统层面的初始化,比如异常初始化、任务初始化、IPC初始化

调用SystemInit

SystemInit


偏向于应用程序的初始化

挂载根文件系统

启动第一个用户进程


1.6.1 启动文件分析


从kernel\liteos_a\arch\arm\arm\src\startup\reset_vector_up.S开始阅读代码,

流程如下:

1671001256251.png

1671001285324.png


1.6.2 main函数分析


main函数在这个文件里kernel\liteos_a\platform\main.c,

流程如下:

image.png

image.png


1.6.3 OsMain函数分析


OsMain函数在这个文件里kernel\liteos_a\kernel\common\los_config.c,

流程如下:

1671001339503.png

image.png


1.6.4 SystemInit函数分析


SystemInit函数在这个文件里vendor\st\stm32mp157\board\board.c,

流程如下:

image.png


相关文章
|
Linux 芯片
鸿蒙移植i.mx6ull(十) 系统时钟
鸿蒙移植i.mx6ull(十) 系统时钟
311 0
鸿蒙移植i.mx6ull(十) 系统时钟
|
Shell Python
鸿蒙移植i.mx6ull(十二) 根文件系统
鸿蒙移植i.mx6ull(十二) 根文件系统
206 0
鸿蒙移植i.mx6ull(十二) 根文件系统
|
存储 Linux 内存技术
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
326 0
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
|
Shell
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
476 0
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
|
芯片
鸿蒙移植i.mx6ull(八) 添加一个单板(上)
鸿蒙移植i.mx6ull(八) 添加一个单板
313 0
鸿蒙移植i.mx6ull(八) 添加一个单板(上)
|
20天前
|
JavaScript 安全 前端开发
【HarmonyOS开发】ArkTS基础语法及使用(鸿蒙开发基础教程)
【HarmonyOS开发】ArkTS基础语法及使用(鸿蒙开发基础教程)
259 4
|
20天前
|
存储 数据安全/隐私保护
鸿蒙开发:自定义一个动态输入框
在鸿蒙开发中,如何实现这一效果呢,最重要的解决两个问题,第一个问题是,如何在上一个输入框输入完之后,焦点切换至下一个输入框中,第二个问题是,如何禁止已经输入的输入框的焦点,两个问题解决完之后,其他的就很是简单了。
45 13
鸿蒙开发:自定义一个动态输入框
|
23天前
|
小程序 测试技术 API
鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
本文详细介绍元服务的开发及上架全流程,涵盖元服务的特点、创建项目、服务卡片、签名打包、开发测试及上架审核等环节,帮助开发者轻松掌握从零开始开发并发布元服务的全过程。元服务以其轻量、免安装、易于使用等特点,成为未来服务提供的重要形式。
58 13
鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
|
28天前
|
Android开发
鸿蒙开发:自定义一个简单的标题栏
本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。
鸿蒙开发:自定义一个简单的标题栏
|
28天前
|
API
鸿蒙开发:切换至基于rcp的网络请求
本文的内容主要是把之前基于http封装的库,修改为当前的Remote Communication Kit(远场通信服务),无非就是通信的方式变了,其他都大差不差。
鸿蒙开发:切换至基于rcp的网络请求