摘要:
调试步骤 Qemu monitor 为什么要使用 QEMU monitor命令? QEMU monitor用于向QEMU模拟器提供复杂的命令。你可以用它来: 删除或插入可移动媒体映像(如CD-ROM或软盘)。 冻结/解冻虚拟机,并通过磁盘文件保存或恢复虚拟机状态。 在没有外部调试器的情况下检查VM状 阅读全文
摘要:
# 内存类型和属性 | ARM Memory types and attributes ```mermaid flowchart LR 1(Arm Memory Type) --> 2(Normal Memory) 1 --> 3(Device Memory) 2 --> 4(Shareable) 阅读全文
摘要:
# 前言 大家都知道,复杂IC内部有很多具有独立功能的硬件模块,例如CPU cores、GPU cores、USB控制器、MMC控制器、等等,出于功耗、稳定性等方面的考虑,有些IC在内部为这些硬件模块设计了复位信号(reset signals),软件可通过寄存器(一般1个bit控制1个硬件)控制这些 阅读全文
摘要:
# cpufreq初始化 cpufreq的初始化,通过调用`cpufreq_register_driver`接口,完成一系列的policy、governor和driver配置。 ## 驱动module init入口 1. driver编写module_init的函数,在初始化中使用`cpufreq_ 阅读全文
摘要:
# module_platform_drivers使用方式 module_platform_driver 是一个宏,用于简化在 Linux 内核模块编程中注册平台设备驱动的过程。 具体使用方法如下: 1. 包含相关头文件: 在代码文件的顶部,包含所需的头文件,如: ``` #include #inc 阅读全文
摘要:
# 简介Operating Performance Points (OPP) SoC是高度集成的,不是SoC中的所有模块需要一直以最高的频率运作。来为了便于实现这一点,SoC中的子模块被分组到不同的域中,允许一些域运行在较低的电压和频率,而其他域运行在更高的电压/频率对。 由频率和电压对组成的离散元 阅读全文
摘要:
> mount的详细使用方式,可以查询`man mount` 例如支持的fstype类型,有详细的描述和查看方法 # 一 、mount命令(用来挂载硬盘或镜像等) 用法:mount [-t vfstype] [-o options] device dir 1、-t vfstype 指定文件系统的类型 阅读全文
摘要:
# 背景 如果没有指定dtb,qemu virt设备平台使用默认的dtb配置的,通过以下命令可以导出dtb。 根据仿真命令的不同,导出的dtb也有不同的配置,例如指定了core为cortex-a53,smp指定了几个core ``` qemu-system-aarch64 -cpu cortex-a 阅读全文
摘要:
# 前言 内核开发者经常需要导出一些信息到用户空间,用于分析内核运行逻辑。最常见的方法是使用 printk(),不过在嵌入式中,printk() 往往直接打印到 console,一旦 printk() 被频繁调用的话,console 就会被刷屏,此时输入命令都是件困难的事情。 有时我们只想偶尔看一下 阅读全文
摘要:
# 解决方案 1. 添加了 -include *.d 指令; 2. gcc 编译指令中,添加了 -MMD 参数; ``` -include $(OBJ_FILES:%.o=%.d) %.o : %.c $(CC) $(CFLAGS) -c $< -o $@ ``` # M,-MM,-MMD,-MF, 阅读全文