[英]Linux Booting Angel booting
我正在阅读有关linux / arch / arm / boot / compressed / head.S的信息
我想到了angel boot
。 这是我第一次关于这个词
#ifndef CONFIG_CPU_V7M
/*
* Booting from Angel - need to enter SVC mode and disable
* FIQs/IRQs (numeric definitions from angel arm.h source).
* We only do this if we were in user mode on entry.
*/
mrs r2, cpsr @ get current mode
tst r2, #3 @ not user?
bne not_angel
mov r0, #0x17 @ angel_SWIreason_EnterSVC
ARM( swi 0x123456 ) @ angel_SWI_ARM
THUMB( svc 0xab ) @ angel_SWI_THUMB
not_angel:
safe_svcmode_maskall r0
msr spsr_cxsf, r9 @ Save the CPU boot mode in
@ SPSR
#endif
所以我用谷歌搜索并阅读了linux/Documentation/arm/Booting
中的linux/Documentation/arm/Booting
在任何网站上都没有关于天使引导的明确定义,而linux文档只像下面这样提到了天使
For CPUs which do not include the ARM virtualization extensions, the
CPU must be in SVC mode. (A special exception exists for Angel)
所以我想知道关于天使靴的明确定义
谢谢您的回答
指ARM信息中心的内容,“ Angel是调试监视器,它允许快速开发和调试在基于ARM的硬件上运行的应用程序。” http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0066d/Babdcdih.html
看起来,当您的主板安装了Angel时,您可以使用gdb之类的调试器通过Angel调试软件。
它提供了一个称为“半主机”的功能-板主机输入/输出桥接。 它是在SWI上下文中完成的。 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0058d/CIHDICHH.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.