HarmonyOS
文章平均质量分 56
HarmonyOS
「已注销」
这个作者很懒,什么都没留下…
展开
-
OpenHarmony(12) —— 入手RK3588?
RK3588来研究OHOS?原创 2023-03-21 20:35:25 · 697 阅读 · 0 评论 -
OpenHarmony(11) —— GUI底层
GUI底层使用情况原创 2023-03-04 10:06:55 · 527 阅读 · 1 评论 -
OpenHarmony(10) —— “续下命”,然后还可以再挣扎一段时间
OpenHarmony3.0出来很久了,之前也研究了一点,主要是想从头开始,从linux启动init进程开始了解OpenHarmony(linux版)。 之前的一点研究OpenHarmony: 了解OpenHarmony并移植再使用的记录 (gitee.com)这里提一点,一开始以为xx_lite 方式比较合适,见README_learn.md,在研究了解并按自己想法改写(init作为主要程序,其他service以.so方式加载)时遇到一个fchmodat BUG问题 ui...原创 2022-03-25 15:01:25 · 3153 阅读 · 0 评论 -
OpenHarmony(9) —— load ELF
还没具体看Harmony HDF 驱动框架。 Linux宏内核,但采用了LKM机制,可以动态增删模块,增加了自由度。而对于微内核的思想,其实没有“驱动”和“程序”之分。 但还是喜欢linux insmod/rmmod *.ko这样的模块动态加载,LKM机制确实很方便。 看看Linux怎么实现的吧。 编译linux驱动需要用到linux源码树的symbols, 如System.map文件等 先看下别人的分析《Linux内核模块LKM的动态加载技术分析》 https://b...原创 2020-12-26 21:31:13 · 298 阅读 · 0 评论 -
OpenHarmony(8) —— Task调度 (1)
首先是一个疑惑,main()开头: OsSetMainTask(); OsCurrTaskSet(OsGetMainTask());secondary_cpu_start()开头: OsCurrTaskSet(OsGetMainTask());MainTask:LosTaskCB g_mainTask[LOSCFG_KERNEL_CORE_NUM];VOID* OsGetMainTask(){ return...原创 2020-10-19 20:05:46 · 2468 阅读 · 0 评论 -
OpenHarmony(7) —— 简单整合
代码仓:https://codechina.csdn.net/fu851523125/rtos https://codechina.csdn.net/fu851523125/rtos/-/tags/release_v0.2.0 总结下前面两个要点:1. release secondary cores参考hisi u-boot中go_cpu1 /* * 0xe51ff004 = "ldr pc, [pc, #-4]" ...原创 2020-10-18 15:16:04 · 1994 阅读 · 0 评论 -
OpenHarmony(6) —— 内存管理
系统运行,少不了做些内存操作,MemAlloc / MemFree,就要实行内存管理。 以LiteOS为基础,所以设计上需要看LiteOS的相关文档https://support.huaweicloud.com/LiteOS/index.html在HI3559V200 SDK开发包中也有liteos内核开发文档,其中也描述了内存管理算法。 网页资料看https://support.huaweicloud.com/kernelmanual-LiteOS/zh-cn_topic_01453...原创 2020-10-14 15:15:19 · 2915 阅读 · 0 评论 -
OpenHarmony(5) —— OHOS信息
代码仓:https://codechina.csdn.net/fu851523125/rtos 下载HI3516DV300官方板子的固件,烧写到自己的板子上,虽然不能正常使用,但主要看一些信息。官方教程https://device.harmonyos.com/cn/docs/start/introduce/oem_camera_start_first_example-0000001051610926EMMC 分区0x00000000 - 0x00100000 1M u-boot....原创 2020-10-10 11:04:16 · 3101 阅读 · 0 评论 -
OpenHarmony(4) —— system counter
进入多核时代后,ARM公司提供了timer的硬件设计,集成在了自己的多核结构中。例如:在Cortex A15 MPcore的硬件体系结构中有一个HW block叫做Generic Timer(该硬件取代了A9中的global timer、private timer的功能),为系统提供了计时以及触发timer event的功能。 ARM generic timer的硬件block主要是SOC上的System counter(多个process共享,用来记录时间的流逝)以及附着在各个proce...原创 2020-10-04 12:43:07 · 1398 阅读 · 0 评论 -
OpenHarmony(3) —— SMP调度理解
现代调度执行都是基于时间片(Time Slice)概念的。启动一个定时器,一个时间片时隙就是定时器的计数周期。在kernel\liteos_a\kernel\base\core\los_timeslice.c中VOID OsTimesliceCheck(VOID),一个时间片过去后进行检测是否改变当前调度TaskOsTimesliceCheck() <<===OsTickHandler() <<===OsTickEntry() ...原创 2020-10-02 17:51:05 · 1972 阅读 · 0 评论 -
OpenHarmony(2)
从头看起,看有没有什么改变。 harmonyos/kernel/liteos_a/arch/arm/arm/src/startup/下原创 2020-09-24 14:05:16 · 3256 阅读 · 0 评论 -
OpenHarmony (1)
LiteOS,比较熟悉了,出来很久了,真正接触它是在Hi3559v200运动相机上,跑着LiteOS + Linux双系。在学习了解时,希望按照自己的风格来,于是边了解边结构。 但毕竟没有全开源,所以对于底层的调度等都无法看到代码,只能望着libcortex-a7.a而惆怅。 处于对系统调度算法及SMP的好奇,搜索到RT-Thread是全开源的,于是下载研究,并在HI3518EV300上边学边写。了解了后,原来是那么简单,有点类似单片机,开个定时器,到时间了就调度。虽说简单,但设计上要考...原创 2020-09-22 15:15:10 · 3195 阅读 · 0 评论