看遍网上各种贴子,ID,频率,分区(貌似此处还不涉及,都说卡在uncompressing后才可能是分区问题),串口驱动,都检查过,也开过低级调试信息,没发现问题,按照厂商说的,设定bootcmd、bootargs就成,但是我这不行啊。请前辈们赐教,这里先把我的问题描述如下:
首先printascii(自己用一段汇编封装了这个函数)确认了不能进入arch/arm/kernel/head.S(因为正常kernel用本人的程序有提示性输出)。然后在arch/arm/boot/compressed/head.S里添加点灯程序(写成了宏,也保存恢复了寄存器),发现,加在文件开头_start紧后,可以亮,但是在文件bl decompress_kernel语句(两条可能的分支都加了)前、后都没结果,灯不亮。
我是否应该把问题锁定在head.S解压出错?或者,有没有可能是我加的位置不对?因为直接加载含有.word,.type(没仔细研究过at&t)的汇编语句上下文中,不亮,但是放在bl 1f所指向的标签“1:”里就可以亮,这几个字段莫非有干扰?
希望大家给个问题范围,现在脑袋大了。。。明天我把汇编贴出来。