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

发表在 Kernel2019-11-19 16:12 [复制链接] 5 101

为了在进入 main() 之前完成 RT-Thread 系统功能初始化,我们使用了 MDK 的扩展功能 $Sub$$$Super$$。
. _, y# z; X; _1 [; p/ E/ W- _2 K% D: Y

, f: L8 k0 Y* f9 t/ b但是我查看了 components.c 中定义的代码, $Sub$$main函数是灰色的,因为__CC_ARM 和 _CLANG_ARM 没有定义,keil设置中也没有定义,那么系统是如何初始化的?
  w# h0 v) [5 O& [7 z- G#if defined(__CC_ARM) || defined(__CLANG_ARM)2 {3 e5 K6 J+ V4 T- D3 K
extern int $Super$$main(void);4 G2 c0 V, P0 K  b- G
/* re-define main function */
- o& p* F* E& x" d* g/ c! Tint $Sub$$main(void)
- E( X9 j" W: P0 v% ]0 {{
9 y; e: `) f1 a& e8 E- C: b3 r# e2 l    rtthread_startup();
+ |+ b! N+ S. [+ c# \7 J    return 0;  U& v" B0 R$ L
}. L0 ]0 E( q% V0 w; P; l
; N3 O% u6 |) u% Y
/ O6 {% K7 a6 t7 P) a

% e; R' d  y  K4 N# f4 Y
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-11-19 16:56:14 | 显示全部楼层
__CC_ARM _CLANG_ARM 是  ARMCC 工具链提前定义好的宏定义,MDK 应该识别不到。
使用道具 举报 回复
发表于 2019-11-19 18:15:56 | 显示全部楼层
可以呀4 o1 S$ F( t9 ~; c$ w! Q; n; y8 J
bb90130da6878cdb271102a092e0e0e.png
使用道具 举报 回复
发表于 2019-11-19 18:21:09 | 显示全部楼层
来一颗糖 发表于 2019-11-19 16:56
, n0 m* p8 ~- j1 |" s: d: ~; H__CC_ARM _CLANG_ARM 是  ARMCC 工具链提前定义好的宏定义,MDK 应该识别不到。

1 z- w% p$ N% {( @那在哪个文件可查看么,谢谢
使用道具 举报 回复
发表于 2019-11-19 18:29:20 | 显示全部楼层
本帖最后由 yangjie 于 2019-11-19 18:30 编辑 2 G7 ?, n" a. K7 t
青衫烟雨客 发表于 2019-11-19 18:21% g# a4 p5 Y1 F, e  }  }
那在哪个文件可查看么,谢谢

/ `2 o; m& n% G; d& _; G5 ]编译器里定义的,在 官方手册 mdk_armcc_user_guide 中有说明* }/ ]* K7 i' h7 l  j5 Y* p

3 n0 z" \, Y9 Z# m) O' ?1 h5 W# t
8 ~$ _" p2 p1 w& [
1574159218(1).jpg
使用道具 举报 回复
发表于 2019-11-19 19:51:01 | 显示全部楼层
yangjie 发表于 2019-11-19 18:29
  T/ Q" j* M+ R2 I  P( o) l编译器里定义的,在 官方手册 mdk_armcc_user_guide 中有说明

+ L: d! y0 Q* B  y9 Z9 Q1 p9 Z: Z, a明白了,谢谢,因为一开始我用VScode看的,所以搜不到这个定义, 在MDK里面看确实是有效的语句
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表