我是内核移植的初学者。我正在尝试在Custom SoC(基于cpu = arm1176jzfs)上移植Linux内核(版本4.9.22)以获得自定义评估板。我的SoC中有ARM Prime单元pl011 UART。它物理映射到0x5800_1000
地址。虽然我试图将它用作Debug UART,但内核要求它的虚拟地址。我应该如何配置此选项。
即:
-> Kernel low-level debugging functions
-> kernel low-level debugging port (Kernel low-level debugging on via ARM Ltd PL01x Primecell UART)
(0x58001000) Physical base address of debug UART
(??) Virtual base address of debug UART
谢谢, Vivek T。
答案 0 :(得分:0)
如果你有一个调试器,那么你当然可以调试你的内核没有启动的原因。
您可以观看以下步骤:
- 在内核配置中,启用CONFIG_DEBUG_INFO(内核黑客 - >编译时检查和编译器选项)
- 编译内核
- 从调试器软件中加载elf中的符号。该命令从一个调试器到另一个调试器不等
- 找到符号“log_buf”,并选择“将内存显示为转储”
选项所以我认为内核日志存储在缓冲区中。也许它可以帮助你:))
答案 1 :(得分:0)
标准UART地址是:
标准端口地址为:
COM1 0x3F8(1016) COM2 0x2F8(760) COM3 0x3E8(1000) COM4 0x2E8(744)
其他端口地址为:
COM5 0x3E0(992) COM6 0x2E0(736) COM7 0x338(824) COM8 0x238(568)