周工及各位高人:我最近在做bootloader的开发,发现一个问题,在周工提供的easyarm2200的模板中,TargetResetInit(void)程序是用C语言写的,而且是在分配完各个运行模式的堆栈后便马上调用了该程序。于是问题有了: 1:这是C语言的程序,而这个时候,C的运行环境还没有初始化,也就是说C的那些库文件还没有被调用执行(因为是由__main()函数引导库函数的执行环境和初始化。而在模板中是在执行为 void TargetResetInit(void)函数后才调用的__main()) 2:调用__rt_stackheap_init()建立的堆栈是什么概念?是专门为所有C程序在内存独立分配的一段堆栈,还是和原来在InitStack中建立用户模式堆栈是重合的? |