本人是菜鸟,刚接触ARM7才一个星期,最近在看 startup.s 启动文件,但是还是有的地方不是很明白,望高人指教。
1.startup.s是不是主要完成以下三个工作:各种模式的堆栈的分配、目标板的初始化和进入C主程序。
除了这三个工作之外,还有没有要完成的工作啊?
2.好像 startup.s 文件中分配的堆栈都是向下生长的,那么是不是意味着ADS在编译C程序的时候,只要涉及到堆栈的地方,都会按照向下生长的方式使用堆栈?
3.在 startup.s 文件中,好像是用 STACK 表示堆栈的,但是好像还有 heap ,这个是用来干什么的?
在 startup.s 中好像没有用到,而在这部分用了 EXPORT 关键字,是声名给外部程序调用的。
希望高人能解释一下这个一般都拿来做什么?
4. IMPORT __use_no_semihosting_swi 是做什么用的?
我在使用ADS的时候,必须屏蔽这句话,才可以编译。
问题比较多,希望高人能帮忙解释一下? |