Android13开启DEVMEM
问题描述
RK 平台的调试过程中,我们经常需要使用 io 指令来操作主控的寄存器进行在线调试。
io 指令使用方法可以见《RK平台使用IO指令》。
使用 io 指令就需要把 DEVMEM 驱动打开,在 Android 平台下,我们可以在 mkcombinedroot/configs 中修改 config。
如果只是在 android-13.config 中启用 CONFIG_DEVMEM 会导致在编译 Android 上层的时候报错。报错如下:
处理方法
- 只编译 kernel。
如果只是调试 kernel 功能,可以只编译 kernel 代码,生成 boot.img 烧录到板子上测试,这样就不用编译 Android 代码,不需要处理 上层的报错。
- 修改 kernel 的配置。
RK 平台的 Android13 用的 kernel 源码是 kernel-5.10,因此需要根据 Android 版本和内核版本修改 SDK kernel 目录下对应用的 config 文件,Android13 对应的文件是:
kernel/configs/t/android-5.10/android-base.config
把# CONFIG_DEVMEM is not set
这一行去掉即可。