![](https://i-blog.csdnimg.cn/blog_column_migrate/eb9b4578b75763a886c4c12f2908d628.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
005-华为liteOS-a
华为liteOS-a学习笔记
xiaoaojianghu09
这个作者很懒,什么都没留下…
展开
-
liteOS-A网络参考资料集锦
一.鸿蒙源码分析系列(总目录) | 百万汉字注解 百篇博客分析 | 中文注解HarmonyOS源码 | v8.20原创 2021-03-21 18:50:05 · 437 阅读 · 0 评论 -
liteOS-A学习笔记-04 Liteos-a的编译系统-4-2_编译哪些子目录
1.从链接命令看内核的组成1.1 链接命令如下liteOS由一系列库组成,reset_vector是它的入口。-T:链接脚本 liteos_llvm.ld;-Map:内存地址文件 liteos.map;-o:目标文件 liteos;-libraries:需要的库文件例如 -lcortex-a7 -lbsp -lrootfs -lbase -lboard -ltickless… 即把lib board.a编译进入目标文件中去;那么如何找到这些库的位置呢?1.2 看链接脚本-找到入口函数O原创 2020-12-06 21:52:03 · 452 阅读 · 0 评论 -
liteOS-A学习笔记-04 Liteos-a的编译系统-4-1_怎么编译子目录
我们以编译文件系统为例讲解过程,核心就是子系统的makefile。首先,config.mk文件定义的通用的编译选项和宏定义;其次,定义好本地的源文件头文件和编译选项;最后,定义哪些文件生成这个结果以及生成的方法。step1:Openharmony_CommentByLine\kernel_liteos_a_note\fs\fat\makefile下面的makefile的1~4包含了编译文件系统源文件的路径和头文件路径以及编译选项。##############################原创 2020-11-30 22:03:37 · 820 阅读 · 0 评论 -
liteOS-A学习笔记-5.驱动程序-HDF框架深层知识
一 概述鸿蒙为了支持多个内核,提出了HDF(HarmonyDiverFoundation),鸿蒙驱动框架。使用“服务”的概念编写驱动程序:(1)驱动程序中实现服务;(2)APP要先获得服务,然后调用服务跟驱动函数交互。liteOS-a中驱动程序也跟linux类似:linux使用设备树描述硬件信息,驱动程序从设备树中获得这些信息;liteos-a使用HCS文件描述硬件信息,驱动程序从HCS文件中获得这些信息。二 驱动程序怎么写?(1)跟Linux类似:构造注册一个file_op原创 2020-11-15 17:05:18 · 2901 阅读 · 0 评论 -
liteOS-A学习笔记-4.用内存模拟FLASH(实现存储设备启动)
1.设备分类:转载自字符设备与块设备的区别(1)字符设备:字符设备按照字符流的方式被有序访问,像串口和键盘就都属于字符设备。如果一个硬件设备是以字符流的方式被访问的话,那就应该将它归于字符设备;反过来,如果一个设备是随机(无序的)访问的,那么它就属于块设备。驱动函数核心的file_operations结构体:open read write(2)块设备:系统中能够随机(不需要按顺序)访问固定大小数据片(chunks)的设备被称作块设备,这些数据片就称作块。例如:flash还需要按照se原创 2020-11-03 22:03:36 · 541 阅读 · 0 评论 -
liteOS-A学习笔记-3.移植中断控制器GIC
一 中断控制器1.路径:\OpenharmonyFor6ull\kernel\liteos_a\platform\main.cLITE_OS_SEC_TEXT_INIT INT32 main(VOID){ UINT32 uwRet = LOS_OK; OsSetMainTask(); OsCurrTaskSet(OsGetMainTask()); /* set smp system counter freq */#if (LOSCFG_KERNEL_SM原创 2020-10-23 22:34:49 · 697 阅读 · 0 评论 -
liteOS-A学习笔记-2.移植串口和MMU预备知识
之前都是编写裸机程序,从来不关心MMU是个什么鬼。现在研究各种OS(LINUX/liteOS)内核源码的时候,每一个都要关心MMU的初始化和移植。总是一知半解混混沌沌肯定是不行的,今天结合各种资料彻底搞懂它!以下内容摘自《步步惊芯——软核处理器内部设计分析》一书的第10章 MMU剖析MMU作用MMU(Memory Management Unit)是内存管理单元的简称。读者朋友在学习嵌入式的时候应该听说过µCLinux,这是适合没有MMU的微控制器使用的嵌入式Linux操作系统,比如ARM7。原创 2020-10-18 21:25:35 · 577 阅读 · 0 评论 -
liteOS-A学习笔记-2.移植串口和MMU
1.移植串口(1)追踪串口打印函数《kernel/liteos_a/platform》LITE_OS_SEC_TEXT_INIT INT32 main(VOID){ ... PRINT_RELEASE("\nmain core booting up...\n"); ...(2)最终调用函数《liteos_a\platform\uart\amba_pl011\amba_pl011.c》VOID UartPuts(const CHAR *s, UINT32 len, BO原创 2020-10-11 22:26:04 · 925 阅读 · 0 评论 -
liteOS-A学习笔记-1.环境搭建过程中遇到的问题+启动流程分析
解决THE FOLLOWING PACKAGES HAVE UNMET DEPENDENCIES问题!!!1.启动流程分析reset_vector_up.s1.关中断;设置CPU为SVC32模式;2.禁止I-cache;3.重定位(把程序复制到运行地址);4.LINE175:设置页表(虚拟地址转换为物理地址),代码如下 PAGE_TABLE_SET SYS_MEM_BASE, UNCACHED_VMM_BASE, UNCACHED_VMM_SIZE, MMU_INITIAL_MAP_ST原创 2020-10-06 22:20:31 · 1197 阅读 · 0 评论