我在不受信任处理器模式下使用 Linux Yocto 版本在 IMX6Q 上构建受信任的执行环境。当我在重置以加载 linux 内核后第一次切换到非安全时,在我跳转到内核引导加载程序后,我被数据淹没并预取中止异常。看起来,这些异常一旦 MMU 发生已开启。
在不更改为非安全状态的情况下启动内核工作正常。
是否有可能,第一阶段页表的非安全副本的控制位是在清除 NS 位的情况下写入的,这会导致 MMU 拒绝对这些区域的任何访问?
我在哪里可以找到在 IMX6Q 的 Yocto-BSP 中设置页表的启动代码?
如何调试 Linux 引导加载程序?
是否可以简单地更改 BSP 构建目录中引导加载程序的源代码并重建镜像?
提前致谢
保罗
最佳答案
How can I debug the Linux Bootloader?
是的,你可以用漂亮的printf
/puts
... 顺便说一句,如果你想真正调试 jtag
在 uboot
的早期阶段可以引用this NXP forum post
Is it possible to simply change source code of the bootloader in the build-directory of the BSP and rebuild the image?
您可以在workbuild/tmp/work/.
中轻松使用u-boot 的git 目录。 .目录
- 修改你需要的
- 用
bitbake -f -c compile u-boot-imx
编译它 - 用
bitbake -f -c deploy u-boot-imx
部署它
最后,您的新 u-boot 将放置在通常的 workbuild/tmp/deploy/images/...
中
关于linux - 如何在 i.MX6Q 上检查和调试 Yocto 的引导加载程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44064787/