打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ARM启动
ARM 的启动过程:
1.设置系统模式,关掉interrupt 和fast interrupt,
2.初始化TCM,分别设置DTCM和ITCM的基址和长度,设置各种工作模式如svc,irq,fiq,abt,undef等的堆栈基址,
3.初始化VFP,
4.初始化MMU,把s-ram,ddr等的大小等告诉mmu,
5.进入__main.
 
注意的事项:
1.启动或reset的时候,要关掉d-cache,和i-cache,
2.retarget, 处理fputc(),fgetc(),backspace(),ferror(),
3.stack heap 实现__user_initial_stackheap(),
4.中断向量表的在进入main之后安排,.
 
__main()作为c语言的入口函数,它主要做了以下工作:
1.把RO,RW从他们的加载域复制到他们的运行域中去(可以用在LINKER中设置RO=,RW=,来确定,也可以用scatter文件来定义),
2.初始化ZI域,
3.跳到__rt_entry.
 
而库函数__rt_entry()会完成以下工作:
1.调用__rt_stackheap_init()设置stack和heap,
2.调用__rt_lib_init()初始化相应的库函数,
3.调用main(),即是我们自己的应用程序了,
4.调用exit()来处理main()函数的返回值.
 
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
006:
Arm学习笔记之S3c2440处理器在C语言使用前最简单的汇编程序
ARM启动代码中_main 与用户主程序main()的区别
ARM Boot Loader简介(二)
实时操作系统uC/OS一Ⅱ在ARM上的移植—软件仿真
用IAR C/C++ For ARM 编写嵌入式应用的启动细节
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服