she*_*lbc 7 boot embedded arm u-boot linux-kernel
我已成功在嵌入式设备上启用安全启动。问题是,当我以这种模式启动时,该过程似乎在该行之后卡住了:
Starting kernel ...
一旦 U-boot 将内核复制到内存中并发出bootm命令。
在调试器中,我能够捕捉到 PC 卡在一条yield指令上,然后是分配给pc = pc-4- 所以本质上是一个循环。
我以前从未在如此低的水平上提出过 linux,所以我不确定从哪里开始寻找。不过,我确实注意到,我能够在非安全模式下成功启动内核映像,因此这对供应商来说可能是一个更合适的问题。
1) 一般来说,在哪里可以找到有关执行切换阶段的 U-boot 诊断信息?
2)在什么时候执行完全交给内核?即 U-boot 何时失效?
小智 3
也许您可以使用以下过程转储 linux 早期打印的内存。原因可能是,内核正在启动,但在控制台初始化之前挂起。还将打印内容放入 uboot 的内核入口点,并确认控制权已移交给内核。
找到该System.map文件。使用以下命令来识别log_buf地址:
grep __log_buf System.map
Run Code Online (Sandbox Code Playgroud)
这将输出类似的内容
c0352d88 B __log_buf
Run Code Online (Sandbox Code Playgroud)
热启动开发板(RAM 中的内容不应被删除)。
在 Uboot 中转储 (c0352d88) 的内存__log_buf。它将转储内核控制台打印。这样您就可以确定确切的挂起发生在哪里。
| 归档时间: |
|
| 查看次数: |
11027 次 |
| 最近记录: |