1help1
(old hand)
09-03-12 10:35
|
在
没有UART的时候如何调试kernel |
|
|
假设板子上
没有 uart 口, 这个时候 采用何种方法来 debug kernel 呢?
期待朋友们来谈谈。
--------------------
http://vm-kernel.org/blog/
文章选
项:
|
goldenfort
(enthusiast)
09-03-12 11:20
|
|
jtag
文章选
项:
|
1help1
(old hand)
09-03-12 11:43
|
|
如果也没有
jtag 呢?
--------------------
http://vm-kernel.org/blog/
文章选
项:
|
yqliu
(member)
09-03-12 11:52
|
|
GPIO点
灯
如果没有灯,结合示波器量信号
如果不能量信号,就去睡觉,靠做梦 :)
文章选
项:
|
wheelz
(Carpal Tunnel)
09-03-12 12:01
|
|
有网卡的
话,可以用netpoll
--------------------
http://www.kernelchina.org/
文章选
项:
|
1help1
(old hand)
09-03-12 12:19
|
|
非常感谢
wheelz
准备尝试一下 netconsole!
--------------------
http://vm-kernel.org/blog/
文章选
项:
|
1help1
(old hand)
09-03-13 14:28
|
|
又想到一种
方法。
(1)假设系统的bootloader 是完好的,放在 memory 的某一处。kernel 不要去touch 这块区域。
(2)假设bootloader 中 网络系统或者 LCD 系统是好的(这两块都是不需要 中断就可以正常工作的)。
(3)然后 bootloader 提供一个 API 接口给kernel 来调用。比如说
putc_via_network,putc_via_lcd,这样在kernel 中 按照 ABI 的规定, 去 调用这两个函数就可以 通过
网络或者 LCD 输出调试信息了。 这个甚至比 串口更来得方便,因为 linux 中的串口也是需要等待 串口初始化完以后才可以 输出的(支持
early debug print)的除外。
--------------------
http://vm-kernel.org/blog/
文章选
项:
|
1help1
(old hand)
09-03-13 14:30
|
|
这种方法对
于 MIPS 来说更是适合,因为 kseg0 区域(放
bootloader和kernel)不需要MMU 就可以跑的。也就是说 kernel 在调用 bootloader 提供的 API
函数的时候,不需要去设置bootloader 这一块的页表。
|