首先需要明确的是,内核镜像在被解压之后执行,是执行哪段代码,这是个重要的问题,平时在编译生成应用程序或内核模块时,我们无需考虑链接的具体细节,如代码和数据放在哪里、代码执行入口在哪等等,但在编译生成内核镜像时就不能不考虑这些了,对于arm架构,下面是它的编译内核时的arm交叉链接器命令:arm-linux-ld -EL -p --no-undefined -X --build-id -ovmlinux -T arch/arm/kernel/vmlinux.lds。
1 NVIDIA Jeston4.2 华为atlas4.3 比特大陆 Sophon SE54.4 Amlogic4.5 寒武纪MLU。我本科是电子信息工程专业,硕士是电磁场与微波技术方向,2018年底开始接触并进入AI行业。
上篇回顾:一文Linux内核调试方法(一)KGDBkgdb提供了一种使用 gdb调试 Linux 内核的机制。使用KGDB可以象调试普通的应用程序那样,在内核中进行设置断点、检查变量值、单步跟踪程序运行等操作。
GDB适用的编程语言: Ada / C / C++ / objective-c / Pascal 等。直接输入 gdb 启动,进入 gdb 之后采用命令 file test_file.exe 来指定文件名。