赞
踩
鸿蒙是一套完整的、普通人可以直接使用的操作系统,跟Windows、安卓、IOS类似。
常见的错误观点是把鸿蒙跟Linux放在一起来对比,这不对:
我们可以把内核之上的软件,简单称为APP(实际上还可以细分,比如各类子系统、桌面等APP)。
启动内核,并不复杂,使用U-boot即可。
与Linux的串口驱动相比,鸿蒙的串口驱动极大简化了。
对于输出:不使用中断,直接使用查询方式输出。
对于输入:使用中断,我们只需要提供底层硬件相关的代码。
要注意:使用的是虚拟地址。
MMU有2大功能:
运行app1时,CPU发出的addr,通过MMU映射到paddr1;
运行app2时,CPU发出的同一个addr,通过MMU映射到paddr2;
虽然app1、app2使用的地址相同,但是对应的内存不同,如下图:
操作系统跟单片机程序最大的区别,就是多任务,也就是同时运行多个程序。同时,对人类来说是这样的,多个程序好像可以同时运行,实际上它们是轮流运行。
轮流运行:
使用串口接收数据时,如果使用"查询"方式,低效并且费电。
一般都使用中断方式。
板子上一般都有EMMC、SD/TF卡、Nor Flash、Nand Flash等存储设备。
Nor Flash、Nand Flash的驱动程序相对简单,但是这些设备比较少见了。
而EMMC、SD/TF卡的驱动程序又太复杂,足够出一个专题了。
我们聚焦在最小系统的移植,先把流程走通:用内存来模拟Flash。
光有存储设备还不行,上面需要有文件:这就是根文件系统。
一个程序要能运行,除了你写出的程序本身,还需要其他库,比如printf就不是你写的,它在库文件里。
根文件系统里会有这些内容:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。