首页 > 其他分享 >Arm复位和初始化过程

Arm复位和初始化过程

时间:2024-07-04 14:32:13浏览次数:15  
标签:__ 初始化 rt 复位 entry main Arm

复位和初始化

 1) 

 

 

在大多数嵌入式系统中,在执行主任务之前,会执行初始化序列以设置系统。ARM默认初始化序列如下:

 __main 负责设置内存,__main 执行 ZI 数据的代码和数据复制、解压缩和零初始化。然后跳转到 __rt_entry。

__rt_entry 负责设置运行时环境,__rt_entry设置堆栈和堆,初始化库函数和静态数据,并调用任何顶级C++构造函数。然后__rt_entry跳转到 main(),即用户程序入口。

当main()完成执行后,返回 __rt_entry关闭库,然后将控制权交还给调试器。

main()函数具有特殊的意义。main() 函数的存在会强制链接器在 __main 和 __rt_entry 中链接初始化代码。如果没有标记为 main()的函数,则初始化序列不会链接,因此,不支持某些标准 C 库功能。

标签:__,初始化,rt,复位,entry,main,Arm
From: https://www.cnblogs.com/TheShore/p/18283782

相关文章

  • 一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发学习路线!
    前言2024年华为开发者大会上,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东称,鸿蒙原生应用已进入全面冲刺阶段,5000多个常用应用已全部启动开发,其中超过1500家已完成上架。2024年第四季度,“HarmonyOS操作系统从2019年8月9日正式发布至今,鸿蒙生态设备数量已超过9......
  • aruba控制器初始化配置
    Auto-provisioningisinprogress.ItrequiresDHCPandActivateserversChooseoneofthefollowingoptionstooverrideordebugauto-provisioning...   'enable-debug'     :Enableauto-provisioningdebuglogs   'disable-debug'......
  • idea Webstorm Pycharm2024最新版 永久使用教程 附激活码亲测可用2099年
    IDEA2024的激活与安装(全网最靠谱,最快捷的方式)大家都在为使用IDEA需要收费而烦恼。IDEA,idea即IntelliJIDEA,是一款强大的集成开发环境,广泛应用于Java开发。但是IDEA是付费的,免费版功能有太少,怎么才能既免费,又能使用上正式版呢!当然还是激活啦(不是正版用不起,而是‘激活’更有性价......
  • HarmonyOS Next开发学习手册——旋转屏动画增强
    在原旋转屏动画基础上,可配置渐隐和渐现的转场效果。完整的代码示例和效果如下。//xx.etsimport{display}from'@kit.ArkUI';@Entry@Componentstructrotation{@StorageLink('orientation')myOrientation:display.Orientation=display.Orientation.PORTR......
  • HarmonyOS Next开发学习手册——共享元素转场
    共享元素转场是一种界面切换时对相同或者相似的两个元素做的一种位置和大小匹配的过渡动画效果,也称一镜到底动效。如下例所示,在点击图片后,该图片消失,同时在另一个位置出现新的图片,二者之间内容相同,可以对它们添加一镜到底动效。左图为不添加一镜到底动效的效果,右图为添加一......
  • OpenHarmony移植小型系统exynos4412(二)
    产品配置规则1、概述产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、部件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:vendor/{产品解决方案厂商}/{产品名称}_。产品解决方案的目录树规则如下:vendor└──company#产品解决方案厂......
  • Pycharm远程连接GPU(内容:下载安装Pycharm、GPU租借、配置SSH、将代码同步到镜像、命令
    目录windows下载安装pycharmGPU租借网站GPU租借GPU选择选择镜像充值然后创建镜像创建成功复制SSH登录信息远程进入镜像在Pycharm中进行ssh连接新建SFTP配置SSH复制ssh根据复制的信息填写ssh配置测试连接将代码同步到远程镜像上设置mappings将本地代码上传到镜像配......
  • Vscode编译Keil ARM工程出现未定义标识符的解决办法
    点击拓展c/c++的拓展设置搜索:intellisenseengine更改为如下图设置设置解释:1.C_Cpp:IntelliSenseEnginedefault(默认):此选项表示使用默认的IntelliSense提供程序,这通常是FullIntelliSense模式。它提供最完整和精确的代码补全、错误检查和导航功能,但可能会占用更多的......
  • PyCharm2024 for mac Python编辑开发
    Mac分享吧文章目录效果一、下载软件二、开始安装1、双击运行软件(适合自己的M芯片版或Intel芯片版),将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功3、打开访达,点击【文稿】。将安装包内的【ja-netfilter】文件夹拖到文稿中4、填写内容,修改用......
  • 0702_ARM5
    练习:使用usart4main.c#include"uart4.h"intmain(){//初始化UART4hal_uart4_init();while(1){//发送一个字符串//hal_put_char(hal_get_char());hal_put_string(hal_get_string());}return0;}usart4.c#inc......