简体   繁体   English

Linux引导Angel引导

[英]Linux Booting Angel booting

I'm reading about linux/arch/arm/boot/compressed/head.S 我正在阅读有关linux / arch / arm / boot / compressed / head.S的信息

I figured out about the angel boot . 我想到了angel boot It's my first time about this word 这是我第一次关于这个词

#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

So i googled and read the linux documentation located in linux/Documentation/arm/Booting 所以我用谷歌搜索并阅读了linux/Documentation/arm/Booting中的linux/Documentation/arm/Booting

There's no clear definition about angel booting in any website and linux documentation only mentioned angel as like bellow 在任何网站上都没有关于天使引导的明确定义,而linux文档只像下面这样提到了天使

  For CPUs which do not include the ARM virtualization extensions, the
  CPU must be in SVC mode.  (A special exception exists for Angel)

So I want to know about clear definition about angel boot 所以我想知道关于天使靴的明确定义

Thank you for your answer 谢谢您的回答

Refers to the content from ARM Information center, "Angel is a debug monitor that allows rapid development and debugging of applications running on ARM-based hardware." 指ARM信息中心的内容,“ Angel是调试监视器,它允许快速开发和调试在基于ARM的硬件上运行的应用程序。” http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0066d/Babdcdih.html http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0066d/Babdcdih.html

It seems you can debug your software through Angel using debuggers like gdb - when your board is set up with Angel. 看起来,当您的主板安装了Angel时,您可以使用gdb之类的调试器通过Angel调试软件。

It offers a feature which is called "Semihosting" - a board-host input/output bridging. 它提供了一个称为“半主机”的功能-板主机输入/输出桥接。 It is done on SWI context. 它是在SWI上下文中完成的。 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0058d/CIHDICHH.html http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0058d/CIHDICHH.html

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

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