摘要:本文介绍了Kconfig的基础知识,和鸿蒙轻内核的图形化配置及进阶的使用方法. 本文分享自华为云社区<鸿蒙轻内核Kconfig使用笔记>,作者: zhushy. 1. Kconfig简介 Kconfig语言定义了一套完整的规则来表述配置项及配置项间的关系,详细内容可以参考Linux官方文档Kconfig Language,此处不赘述.鸿蒙轻内核使用的是Python的开源三方库kconfiglib(menuconfig只是其提供的命令之一,相关命令还有genconfig, savedefc…
摘要:本文带领大家一起剖析了鸿蒙轻内核的动态内存模块的源代码,包含动态内存的结构体.动态内存池初始化.动态内存申请.释放等. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列九 动态内存Dynamic Memory 第一部分>,原文作者:zhushy. 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化.分配以及释放. 在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎…
摘要:本文先介绍下LFS文件系统结构体的结构体和全局变量,然后分析下LFS文件操作接口. 本文分享自华为云社区<# 鸿蒙轻内核M核源码分析系列二一 02 文件系统LittleFS>,作者:zhushy . LittleFS是一个小型的Flash文件系统,它结合日志结构(log-structured)文件系统和COW(copy-on-write)文件系统的思想,以日志结构存储元数据,以COW结构存储数据.这种特殊的存储方式,使LittleFS具有强大的掉电恢复能力(power-loss resi…
摘要:本文通过分析鸿蒙轻内核定时器模块的源码,掌握定时器使用上的差异. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列十四 软件定时器Swtmr>,作者:zhushy . 软件定时器(Software Timer)是基于系统Tick时钟中断且由软件来模拟的定时器.当经过设定的Tick数后,会触发用户自定义的回调函数.硬件定时器受硬件的限制,数量上不足以满足用户的实际需求.鸿蒙轻内核提供了软件定时器功能可以提供更多的定时器,满足用户需求. 本文通过分析鸿蒙轻内核定时器模块的源码,掌握定时器使用…
摘要:鸿蒙轻内核M核新增支持了多段非连续性内存区域,把多个非连续性内存逻辑上合一,用户不感知底层的不同内存块. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列九 动态内存Dynamic Memory 补充>,作者:zhushy. 一些芯片片内RAM大小无法满足要求,需要使用片外物理内存进行扩充.对于多段非连续性内存,需要内存管理模块统一管理,应用使用内存接口时不需要关注内存分配属于哪块物理内存,不感知多块内存. 多段非连续性内存如下图所示: 鸿蒙轻内核M核新增支持了多段非连续性内存区域,把多…
摘要:本文先简单介绍下Fault异常类型,向量表及其代码,异常处理C语言程序,然后详细分析下异常处理汇编函数实现代码. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列十八 Fault异常处理>,作者:zhushy. Fault异常处理模块与OpenHarmony LiteOS-M内核芯片架构相关,提供对HardFault.MemManage.BusFault.UsageFault等各种故障异常处理.有关Cortex-M芯片相关的知识不在本文讨论,请自行参考<Cortex-M7 Devi…
摘要:本文学习了LiteOS-M内核Musl LibC的实现,特别是文件系统和内存分配释放部分. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列十九 Musl LibC>,作者:zhushy. LiteOS-M内核LibC实现有2种,可以根据需求进行二选一,分别是musl libC和newlibc.本文先学习下Musl LibC的实现代码.文中所涉及的源码,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m 获取.LiteOS-M内核提…
摘要:本文为大家介绍FatFS文件系统结构体的结构体和全局变量,并分析FatFS文件操作接口. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列二一 03 文件系统FatFS>,作者:zhushy. FAT文件系统是File Allocation Table(文件配置表)的简称,主要包括DBR区.FAT区.DATA区三个区域.其中,FAT区各个表项记录存储设备中对应簇的信息,包括簇是否被使用.文件下一个簇的编号.是否文件结尾等.FAT文件系统有FAT12.FAT16.FAT32等多种格式,其中…
目录: 1.开启明文传输 2.权限申请 3.引入http插件 4.案例展示 5.<鸿蒙OS前端开发入门指南>文章合集 开启明文传输 在config.json配置文件添加如下配置(如果不开启可以不配置) "deviceConfig": { "default": { "network": { "usesCleartext": true } } }, 权限申请 在配置文件module中添加如下 "reqPerm…
wNlRGd.png 前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 GIthub 博客 学习导图 image.png 一.为什么要尝鲜 harmonyos? wNlfxI.png 9月10日,华为在 HDC 2020 大会上宣布正式开源鸿蒙操作系统(HarmonyOS)2.0,并进入开放原子开源基金会,源码地址:https://openharmony.gitee.com ,一共有134个仓库. 一经发布,便引起国内外广大开发者们的激烈讨论,知乎也冲上了热一,我所在…