从汇编看Linux系统


加了三天工作时间,想解决本子上的Linux跑不起来,现在还没有搞定,但至少知道,Linux中的main.c已经执行到了最后的rets_init(),应该在串口上打出的版本号等信息,却没有显示。

  完成了一件以前从没想到过的事情,把BootLoader(Redboot)->Linux kernel的start_kernel()函数的汇编完全的跟了一遍,从出生到现在,从没有看过,跟踪过,理解过这么多的汇编代码。关键的寄存器值,关键的内存地址,关键的跳转,很有收获,把Linux的启动过程全面深入的理解了,真是实践出真知。

  自然从这之中也学到了不少JTAG调试的方法,ICE这个东西真是好,也对得起它几千块钱的价格了,以前从没有这样调过汇编,就算汇编代码都接触得不多,老大批评指教了不少,事不过三,要刻意去纠正错误的认识和做法,嘿嘿,进步就是这么来滴。

  多在底层进行调试,学到的玩意儿真不少。

相关内容