关于系统初始化的流程问题

发布于 2019-11-19 16:12:07
为了在进入 main() 之前完成 RT-Thread 系统功能初始化,我们使用了 MDK 的扩展功能 $Sub$$ 和 $Super$$。


但是我查看了 components.c 中定义的代码, $Sub$$main函数是灰色的,因为__CC_ARM 和 _CLANG_ARM 没有定义,keil设置中也没有定义,那么系统是如何初始化的?
#if defined(__CC_ARM) || defined(__CLANG_ARM)
extern int $Super$$main(void);
/* re-define main function */
int $Sub$$main(void)
{
rtthread_startup();
return 0;
}



查看更多

关注者
0
被浏览
388
5 个回答
来一颗糖
来一颗糖 2019-11-19
__CC_ARM _CLANG_ARM 是 ARMCC 工具链提前定义好的宏定义,MDK 应该识别不到。
青衫烟雨客
青衫烟雨客 2019-11-19
来一颗糖 发表于 2019-11-19 16:56
__CC_ARM _CLANG_ARM 是 ARMCC 工具链提前定义好的宏定义,MDK 应该识别不到。


那在哪个文件可查看么,谢谢
青衫烟雨客
青衫烟雨客 2019-11-19
yangjie 发表于 2019-11-19 18:29
编译器里定义的,在 官方手册 mdk_armcc_user_guide 中有说明


明白了,谢谢,因为一开始我用VScode看的,所以搜不到这个定义, 在MDK里面看确实是有效的语句

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友