简体   繁体   English

如何在i.MX6Q上检查和调试Yocto的引导程序?

[英]How to examine and debug Yocto's bootloader on i.MX6Q?

I am building a trusted execution environment on IMX6Q with a Linux Yocto version in the untrusted processor mode. 我正在IMX6Q上以不受信任的处理器模式在Linux Yocto版本上构建受信任的执行环境。 When I switch to non-secure for the first time after reset to load the linux kernel, I get flooded with data and prefetch abort exceptions after I jump to the kernels bootloader.It also seems like, that those exceptions occur as soon as the MMU is switched on. 当我在重置后第一次切换到非安全模式以加载linux内核时,跳转到内核引导加载程序后,数据充满并且预取异常中止,而且这些异常似乎在MMU发生后就发生了已开启。

Booting the Kernel without changing to non-secure state works fine. 在不更改为非安全状态的情况下引导内核可以正常工作。

Is it possible, that the control bits of the non-secure copy of the first-stage page tables are written with the NS-Bit cleared which causes the MMU to refuse any access to those regions ? 是否有可能写了第一阶段页表的非安全副本的控制位并清除了NS位,这导致MMU拒绝对这些区域的任何访问?

Where can I find the startup code that is setting up the page tables in the Yocto-BSP for IMX6Q ? 在哪里可以找到在Yocto-BSP中为IMX6Q设置页表的启动代码?

How can I debug the Linux Bootloader? 如何调试Linux Bootloader?

Is it possible to simply change source code of the bootloader in the build-directory of the BSP and rebuild the image? 是否可以仅在BSP的构建目录中更改引导加载程序的源代码并重建映像?

Thanks in advance, 提前致谢,

Paul 保罗

How can I debug the Linux Bootloader? 如何调试Linux Bootloader?

Yes, you can with beautiful printf / puts ... BTW if you want to really debug with jtag in early stages of uboot you can refer to this NXP forum post 是的,您可以使用精美的printf / puts ...顺便说一句,如果您想在uboot早期阶段使用jtag进行真正的调试,则可以参考此NXP论坛帖子

Is it possible to simply change source code of the bootloader in the build-directory of the BSP and rebuild the image? 是否可以仅在BSP的构建目录中更改引导加载程序的源代码并重建映像?

You can easily work with the git directory of u-boot in your workbuild/tmp/work/. 您可以在workbuild/tmp/work/.轻松使用u-boot的git目录workbuild/tmp/work/. . dir 目录

  1. Modify what you need 修改您需要的
  2. compile it with bitbake -f -c compile u-boot-imx bitbake -f -c compile u-boot-imx编译它,用bitbake -f -c compile u-boot-imx
  3. Deploy it with bitbake -f -c deploy u-boot-imx 使用bitbake -f -c deploy u-boot-imx

At the end your new u-boot will be placed in usual workbuild/tmp/deploy/images/... 最后,您的新u-boot将放在通常的workbuild/tmp/deploy/images/...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM