0

0

鸿蒙系统开发教程_韦东山 2-1移植RTOS需要做的事

爱谁谁

爱谁谁

发布时间:2025-07-15 10:22:26

|

620人浏览过

|

来源于php中文网

原创

视频教程在线观看https://www.100ask.net/detail/p_5fcf586ae4b04db7c0939c82/81. 框架

鸿蒙是一套完整的、普通人可以直接使用的操作系统,类似于windows、安卓和ios。 常见的误解是将鸿蒙与linux进行比较,这是不正确的:

Linux只是一个内核,普通人无法直接使用,需要在Linux之上安装各种程序,比如Ubuntu等发行版,这些发行版在Linux内核之上,还包括桌面环境和各种办公软件。 鸿蒙支持多种内核:Linux、Liteos(又分为Liteos-a、Liteos-m)。 在内核之上,鸿蒙还有各种子系统,在子系统之上又有桌面等软件。2. 嵌入式软件系统的组成鸿蒙系统开发教程_韦东山  2-1移植RTOS需要做的事我们可以将内核之上的软件简单称为APP(实际上还可以进一步细分,比如各种子系统、桌面等APP)。 启动内核并不复杂,可以使用U-boot来完成。

  1. 移植最小系统需要做的几件事 串口相关打印(仅用于打印调试信息)串口驱动(可发送可接收,APP执行printf时可以通过串口打印,因此需要驱动) MMU(Memory Management Unit,内存管理单元)的设置:虚拟地址与物理地址的映射 完善中断子系统提供系统tick时钟为串口驱动实现基于中断的读取字符函数 实现存储设备驱动程序 在存储设备上烧录文件系统3.1 串口相关与Linux的串口驱动相比,鸿蒙的串口驱动大大简化了。 对于输出:不使用中断,直接使用查询方式输出。 对于输入:使用中断,我们只需要提供底层硬件相关的代码。 需要注意的是:使用的是虚拟地址。

3.2 MMU设置MMU有两大功能:

3.2.1 权限管理例如可以将进程A、B的地址空间完全隔离开,它们互不影响,编写不佳的进程或有恶意的进程不会影响到其他进程。用户程序和内核地址空间完全隔离开:不允许用户直接访问硬件。示例如下鸿蒙系统开发教程_韦东山  2-1移植RTOS需要做的事3.2.2 地址映射启用MMU后,CPU发出的地址被称为“虚拟地址”,它不是直接发送给硬件,而是发送给MMU。MMU根据页表进行权限判定并转换为物理地址,然后发送给外设。运行app1时,CPU发出的addr通过MMU映射到paddr1;运行app2时,CPU发出的同一个addr通过MMU映射到paddr2;尽管app1和app2使用的地址相同,但对应的内存不同,如下图所示:

鸿蒙系统开发教程_韦东山  2-1移植RTOS需要做的事在移植过程中,我们不需要关注“权限”,只需要关注“地址映射”。3.3 中断子系统操作系统与单片机程序最大的区别在于多任务,即同时运行多个程序。 对人类来说是这样的,多个程序似乎可以同时运行,实际上它们是轮流运行。

3.3.1 操作系统“同时”运行多个任务轮流运行:

Magic Eraser
Magic Eraser

AI移除图片中不想要的物体

下载

鸿蒙系统开发教程_韦东山  2-1移植RTOS需要做的事3.3.2 串口接收数据的中断使用串口接收数据时,如果使用“查询”方式,效率低且耗电。 通常使用中断方式。

3.4 存储设备的驱动程序板子上通常有EMMC、SD/TF卡、Nor Flash、Nand Flash等存储设备。 Nor Flash和Nand Flash的驱动程序相对简单,但这些设备较为少见。 而EMMC和SD/TF卡的驱动程序则非常复杂,足以成为一个专题。 我们专注于最小系统的移植,先把流程走通:用内存来模拟Flash。

3.5 根文件系统光有存储设备还不够,上面需要有文件:这就是根文件系统。 一个程序要能运行,除了你编写的程序本身,还需要其他库,比如printf就不是你写的,它在库文件中。 根文件系统里会有这些内容:

程序库配置文件用户数据(可选)驱动程序(可选)4. 想做更多为了更好的人机交互,可以移植LCD、触摸屏驱动。为了方便开发,移植EMMC驱动、网卡驱动。要连接各类外设,还需要I2C、SPI、GPIO、UART驱动(可选)。

相关专题

更多
printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

73

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

282

2023.11.28

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

601

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1104

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

792

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

452

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2349

2023.08.08

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

780

2023.08.10

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号