OpenHarmony 内核鼠标调试 原创 精华
1、USB鼠标插入USB2不供电问题解决
1.1、增加IO控制驱动
解压IO控制驱动压缩包io_zhouke.tar.gz
复制压缩包的文件到drivers/char/目录下
注释:这些文件可以在3.1LTS版本中获取,复制完之后drivers/char目录结构如下:
1.2 、增加USB相关支持
修改 arch/arm64/configs/rockchip_linux_defconfig
重新编译内核,此时USB可以正确识别鼠标生成对应的设备节点,但是鼠标还是不能正常工作。
2、内核崩溃问题解决
内核崩溃log如下:
只需要修改 arch/arm64/configs/rockchip_linux_defconfig 文件,注释掉以下内容即可(此修改包含第二部分USB支持):
注释:红色内容为修改后的文件。解决上边崩溃问题只需要关闭 CONFIG_SCHED_EAS 一个配置即可。
1.CONFIG_PSI
PSI (Pressure Stall Information) 机制,其核心思想是:如果有进程因为等待某种资源而 stall 了,那说明这个时候资源成了一个限制条件(生产资料的短缺导致了生产力的损失),那就应该适当增加分配给这个进程的资源。
在部署业务时,如果过于保守地追求安全,那资源往往得不到充分的利用,造成浪费,在成本上丧失竞争力。而如果对资源进行过饱和使用(比如内存的 overcommit),又可能导致运行过程中的波动(spike),影响延迟敏感型的任务,甚至最终不得不走向 OOM。
所谓人尽其才,物尽其用,Linux 中 PSI 的目标就是让硬件资源的效能最大化。
2.CONFIG_SCHED_RUNNING_AVG
用于确定平均运行队列的调度程序接口
3.CONFIG_SCHED_CORE_CTRL
OpenHarmony CPU轻量级隔离特性介绍
基本概念
CPU轻量级隔离特性提供了根据系统负载和用户配置来选择合适的CPU进行动态隔离的能力。内核会将被隔离CPU上的任务和中断迁移到其他合适的CPU上执行,被隔离的CPU会进入ilde状态,以此来达到功耗优化的目标。同时提供用户的配置和查询接口来实现更好的系统调优。
配置指导
使能CPU轻量级隔离特性
打开相关配置项及依赖。启用CPU轻量级隔离,需要通过编译内核时打开相应的配置项及依赖,相关CONFIG如下:
4.CONFIG_SCHED_EAS
能量感知调度(EAS)使调度程序能够预测其决策对 CPU 消耗的电量的影响。EAS 依赖于 CPU的能量模型 (EM) 来为每个任务选择省电的 CPU,同时要求对执行任务的吞吐量的影响最小。
EAS 仅在异构 CPU 架构上(例如 Arm big.LITTLE)上运行,因为这是通过调度器节省电量的效果最大的地方。
3、多模子系统服务加载错误
错误日志log
总结:
经过以上修改之后,系统完全启动进入桌面之后,输入 power-shell setmode 602 命令,设置电源模式,防止系统重启,鼠标可正常工作。
很详细的操作流程
鼠标驱动安装偶尔会出现失败问题
一般驱动加载不出来就直接重新插一次就好了
即使是鼠标的内核看来也不简单