鸿蒙移植
文章平均质量分 93
自己开始尝试书写一些鸿蒙移植的内容
da..
欢迎进群交流!please私
展开
-
鸿蒙移植i.mx6ull(十二) 根文件系统
本章节做的修改会制作为补丁文件:假设目录中是未修改的代码,从没打过补丁;假设补丁文件放在openharmony的同级目录;对于STM32MP157,打补丁方法如下:对于IMX6ULL,打补丁方法如下:打上补丁后,可以如此编译(对于STM32MP157、IMX6ULL,编译命令是一样的):1.2 根文件系统的内容看看一个简单的程序:可以编译出一个APP:hello。有几个问题要考虑:解决这几个问题后,就可以知道根文件系统的内容了:在目录执行:可以知道:执行可以制作根文件系统。分析Makef原创 2022-06-08 11:35:52 · 867 阅读 · 0 评论 -
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
参考资料:Linux中设备驱动程序分为3类:字符设备、块设备、网络设备。所谓字符设备就是LED、按键、LCD、触摸屏这些非存储设备,APP可以直接调用驱动函数去操作它们。而块设备就是Flash、磁盘这些存储设备,APP读写普通的文件时,最终会由驱动程序访问硬件。为什么叫块设备?以前的磁盘读写时,是以块为单位的:即使只是读写一个字节,也需要读写一个块。主要差别在于:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HNYW7Eon-1654658130765)(pic/09原创 2022-06-08 11:17:56 · 968 阅读 · 0 评论 -
鸿蒙移植i.mx6ull(十) 系统时钟
参考资料:STM32MP157芯片手册Linux时间子系统之(十七):ARM generic timer驱动代码分析在操作系统中,需要一个系统时钟,各类芯片都有自己的定时器,它们的编程方法互不相同,这给系统移植带来麻烦。Generic Timer是ARM推荐的一种硬件实现实现,可以实现统一的编程方法。Generic Timer分为两部分:共享的System Counter、各个Processor专有的Timer。下图是Generic Timer的硬件框图,红线表示时钟:System counter是时钟原创 2022-06-08 11:13:55 · 555 阅读 · 0 评论 -
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
> Ps:这个鸿蒙系列是韦东山老师录制的视频和开发手册为基础,请大家支持韦老师。 这个专栏是:> 1.学习的笔记记录。> 2.整理和知识点汇总。> 3.个人做的项目经验汇总。原创 2022-06-08 10:59:57 · 1444 阅读 · 0 评论 -
鸿蒙移植i.mx6ull(八) 内存映射(基于IMX6ULL)
参考资料:。ARM架构支持一级页表映射,也就是说MMU根据CPU发来的虚拟地址可以找到第1个页表,从第1个页表里就可以知道这个虚拟地址对应的物理地址。一级页表里地址映射的最小单位是1M。ARM架构还支持二级页表映射,也就是说MMU根据CPU发来的虚拟地址先找到第1个页表,从第1个页表里就可以知道第2级页表在哪里;再取出第2级页表,从第2个页表里才能确定这个虚拟地址对应的物理地址。二级页表地址映射的最小单位有4K、1K,Linux使用4K。一级页表项里的内容,决定了它是指向一块物理内存,还是指问二级页表,如下原创 2022-06-08 10:55:34 · 1583 阅读 · 0 评论 -
鸿蒙移植i.mx6ull(八) 添加一个单板
按照编译内核的流程,添加代码。补丁文件,已经添加了2个单板:STM32MP157、IMX6ULL。目标:仿照它们,添加一个新的单板,以后修改源码让它再次支持STM32MP157或IMX6ULL。毕竟我们是教学,从0写代码比较好。新加的单板:芯片公司:DemoCom芯片名称:DemoChip本章节做的修改会制作为补丁文件:01_openharmony_add_demo_board.patch,先打补丁:openharmony_100ask_v1.2.patch再打补丁:01_openharmony原创 2022-06-08 10:52:00 · 901 阅读 · 0 评论 -
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统
Ps:这个鸿蒙系列是韦东山老师录制的视频和开发手册为基础,请大家支持韦老师。这个专栏是:1.学习的笔记记录。2.整理和知识点汇总。3.个人做的项目经验汇总。原创 2022-06-08 10:40:42 · 1411 阅读 · 0 评论 -
鸿蒙移植i.mx6ull(六) Kconfig_GCC_Mkefile
参考文档:对于各类内核,只要支持menuconfig配置界面,都是使用Kconfig。在配置界面中,可以选择、设置选项,这些设置会保存在.config文件里。Makefile会包含.config,根据里面的值决定编译哪些文件、怎么编译文件。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FSWKQsJA-1654653766135)(pic/03_Kconfig和Makefile/001_Kconfig_menuconfig.png)]问题:在配置界面中操作的结果保存在.原创 2022-06-08 10:18:14 · 690 阅读 · 0 评论 -
鸿蒙移植i.mx6ull(五) 移植概述
Ps:这个鸿蒙系列是韦东山老师录制的视频和开发手册为基础,请大家支持韦老师。这个专栏是:1.学习的笔记记录。2.整理和知识点汇总。3.个人做的项目经验汇总。原创 2022-06-08 09:46:30 · 1579 阅读 · 0 评论 -
鸿蒙移植i.mx6ull(四) 编译Liteos-a与APP
1.2.4 编译官方版本(不要试)2.1 下载补丁文件2.1 使用补丁文件修改代码2.3 编译3.3 把hello程序放入rootfs放在GIT上,地址为:4.2 编译程序4.4 制作rootfs.jffs2原创 2022-06-07 17:07:54 · 1248 阅读 · 0 评论 -
鸿蒙移植i.mx6ull(三) 体验鸿蒙内核Liteos-a
体验鸿蒙内核Liteos-a原创 2022-06-07 14:09:14 · 1530 阅读 · 1 评论 -
鸿蒙移植i.mx6ull(二) 环境搭建
鸿蒙系统,就相当于一套完整的PC软件系统。Bootloader、内核、APP等等软件,需要在Ubuntu中编译;但是阅读、修改这些源码时,在Windows下会比较方便。所以,我们需要在Windows、Ubuntu上都存有源码。① 在Windows上阅读、研究、修改(使用Source insight会很方便),修改后上传到Ubuntu(使用Filezilla)② 在Ubuntu上编译、制作(使用MobaXterm远程登录Ubuntu会很方便)③ 把制作好的可执行程序下载到开发板上运行、测试(使用Mo原创 2022-06-07 13:54:41 · 1511 阅读 · 1 评论 -
鸿蒙移植i.mx6ull(一) 鸿蒙介绍、资料下载
如果在你“克隆”之后,我们又更新了源码,你可以先进入该目录,然后更新。启动git bash后,使用cd命令可以切换目录。假设要进入D:\abc\ doc_and_source_for_openharmony目录,可以执行以下命令:也可以执行一个命令直接进入该目录,注意目录分隔符是“/”而非“\”。在doc_and_source_for_openharmony目录下,执行以下命令获得最新版本。1. 第1天,下载源码假设你要把源码下载到D盘abc目录,如下图操作:2. 第2天,查看无更新3.原创 2022-06-07 13:09:40 · 883 阅读 · 0 评论