Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
4af16a0d
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
4af16a0d
编写于
1月 18, 2023
作者:
O
openharmony_ci
提交者:
Gitee
1月 18, 2023
浏览文件
操作
浏览文件
下载
差异文件
!13459 M核资料描述和示例代码问题修改
Merge pull request !13459 from wangchen/0111_docs
上级
68cead99
ef7dbe75
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
24 addition
and
7 deletion
+24
-7
zh-cn/device-dev/kernel/kernel-mini-extend-cpup.md
zh-cn/device-dev/kernel/kernel-mini-extend-cpup.md
+6
-3
zh-cn/device-dev/kernel/kernel-mini-extend-file.md
zh-cn/device-dev/kernel/kernel-mini-extend-file.md
+8
-2
zh-cn/device-dev/kernel/kernel-mini-memory-debug.md
zh-cn/device-dev/kernel/kernel-mini-memory-debug.md
+8
-2
zh-cn/device-dev/kernel/kernel-mini-memory-trace.md
zh-cn/device-dev/kernel/kernel-mini-memory-trace.md
+2
-0
未找到文件。
zh-cn/device-dev/kernel/kernel-mini-extend-cpup.md
浏览文件 @
4af16a0d
...
...
@@ -51,16 +51,19 @@ OpenHarmony LiteOS-M提供以下两种CPU占用率的信息查询:
| 输出任务CPU占用率 | LOS_CpupUsageMonitor:输出任务历史CPU占用率 |
| 获取中断CPU占用率 | LOS_GetAllIrqCpuUsage:获取所有中断CPU占用率 |
## 开发流程
在kernel/liteos_m目录下执行 make menuconfig 命令配置"Kernel->Enable Cpup"中打开YES开启任务cpup;
开启后出现新选项“Enable Cpup include irq”打开YES开启中断cpup。
CPU占用率的典型开发流程:
1.
调用获取系统CPU占用率函数LOS_SysCpuUsage。
2.
调用获取系统历史CPU占用率函数LOS_HistorySysCpuUsage。
3.
调用获取指定任务CPU
使
占用率函数LOS_TaskCpuUsage。
3.
调用获取指定任务CPU占用率函数LOS_TaskCpuUsage。
-
若任务已创建,则关中断,正常获取,恢复中断;
-
若任务未创建,则返回错误码;
...
...
@@ -95,7 +98,7 @@ CPU占用率的典型开发流程:
前提条件:
在
target_config.h中将LOSCFG_BASE_CORE_CPUP配置项打开。
在
kernel/liteos_m目录下执行 make menuconfig命令配置"Kernel->Enable Cpup"中开启任务cpup:
代码实现如下:
...
...
zh-cn/device-dev/kernel/kernel-mini-extend-file.md
浏览文件 @
4af16a0d
...
...
@@ -168,13 +168,11 @@ mount接口:int mount(const char *source, const char *target, const char *file
> - 读写指针未分离,例如以O_APPEND(追加写)方式打开文件后,读指针也在文件尾,从头读文件前需要用户手动置位。
> - 暂不支持文件与目录的权限管理。
> - stat及fstat接口暂不支持查询修改时间、创建时间和最后访问时间。微软FAT协议不支持1980年以前的时间。
>
> - FATFS分区挂载与卸载:
> - 支持以只读属性挂载分区。当mount函数的入参为MS_RDONLY时,所有的带有写入的接口,如write、mkdir、unlink,以及非O_RDONLY属性的open,将均被拒绝。
> - mount支持通过MS_REMOUNT标记修改已挂载分区的权限。
> - 在umount操作前,需确保所有目录及文件全部关闭。
> - umount2支持通过MNT_FORCE参数强制关闭所有文件与文件夹并umount,但可能造成数据丢失,请谨慎使用。
>
> - FATFS支持重新划分存储设备分区、格式化分区,对应接口为fatfs_fdisk与fatfs_format:
> - 在fatfs_format操作之前,若需要格式化的分区已挂载,需确保分区中的所有目录及文件全部关闭,并且分区umount。
> - 在fatfs_fdisk操作前,需要该设备中的所有分区均已umount。
...
...
@@ -213,6 +211,10 @@ mount接口:int mount(const char *source, const char *target, const char *file
系统已将设备分区挂载到目录,qemu默认已挂载system。
在kernel/liteos_m目录下执行 make menuconfig 命令配置"FileSystem->Enable FS VFS"开启FS功能;
开启FS后出现新选项“Enable FAT”开启FAT。
**代码实现如下:**
本演示代码在 ./kernel/liteos_m/testsuites/src/osTest.c 中编译验证,在TestTaskEntry中调用验证入口函数ExampleFatfs。
...
...
@@ -425,6 +427,10 @@ blockCount 可以被擦除的块数量,这取决于块设备的容量及擦除
系统已将设备分区挂载到目录,qemu默认已挂载/littlefs。
在kernel/liteos_m目录下执行 make menuconfig 命令配置"FileSystem->Enable FS VFS"开启FS功能;
开启FS后出现新选项“Enable Little FS”开启littlefs。
代码实现如下:
本演示代码在 ./kernel/liteos_m/testsuites/src/osTest.c 中编译验证,在TestTaskEntry中调用验证入口函数ExampleLittlefs。
...
...
zh-cn/device-dev/kernel/kernel-mini-memory-debug.md
浏览文件 @
4af16a0d
...
...
@@ -185,7 +185,9 @@ node size LR[0] LR[1] LR[2]
本演示代码在 ./kernel/liteos_m/testsuites/src/osTest.c 中编译验证,在TestTaskEntry中调用验证入口函数MemLeakTest。
qemu中进行验证时,由于代码段位置特殊需调整ld文件_stext位置到text段的起始位置
qemu平台运行时需确保target_config.h 中对应的LOSCFG_MEM_FREE_BY_TASKID为0。
由于打开内存检测后,部分平台有其他任务运行,会频繁调用内存相关打印如:psp, start = xxxxx, end = xxxxxxx,请忽略打印或删除OsStackAddrGet函数中调用的打印即可。
```
...
...
@@ -311,6 +313,10 @@ LOSCFG_BASE_MEM_NODE_INTEGRITY_CHECK:开关宏,默认关闭;若打开这
本演示代码在 ./kernel/liteos_m/testsuites/src/osTest.c 中编译验证,在TestTaskEntry中调用验证入口函数MemIntegrityTest。
qemu平台运行时需确保target_config.h 中对应的LOSCFG_MEM_FREE_BY_TASKID为0。
由于执行时主动触发异常,执行结束后需要重启qemu(例如打开一个新的终端界面输入killall qemu-system-arm)
```
#include <stdio.h>
...
...
@@ -344,7 +350,7 @@ memory used but magic num wrong, magic num = 0x0
/* 被破坏节点和其前节点关键字段信息,分别为其前节点地址、节点的魔鬼数字、节点的sizeAndFlag;可以看出被破坏节点的魔鬼数字字段被清零,符合用例场景 */
broken node head: 0x2103d7e8 0x0 0x80000020, prev node head: 0x2103c7cc 0xabcddcba 0x80000020
/* 节点的LR信息需要开启
内存
检测功能才有有效输出 */
/* 节点的LR信息需要开启
前文的内存泄漏
检测功能才有有效输出 */
broken node head LR info:
LR[0]:0x2101906c
LR[1]:0x0
...
...
zh-cn/device-dev/kernel/kernel-mini-memory-trace.md
浏览文件 @
4af16a0d
...
...
@@ -246,6 +246,8 @@ Index Time(cycles) EventType CurTask Identity params
6 0x3706f804 0x45 0x1 0x0 0x1f 0x4 0x0
7 0x37070e59 0x45 0x0 0x1 0x0 0x8 0x1f
***TraceInfo end***
根据实际运行环境,上文中的数据会有差异,非固定结果
```
输出的事件信息包括:发生时间、事件类型、事件发生在哪个任务中、事件操作的主体对象、事件的其他参数。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录