RT-Threadrt 中怎么用$Sub$$main来扩展main函数
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章将为大家详细讲解有关RT-Threadrt 中怎么用$Sub$main来扩展main函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。现在的r
千家信息网最后更新 2025年02月01日RT-Threadrt 中怎么用$Sub$$main来扩展main函数
这篇文章将为大家详细讲解有关RT-Threadrt 中怎么用$Sub$main来扩展main函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
现在的rt thread是3.1.2版,先看一下rt thread是怎么用$Sub$$main来扩展main函数。
$Sub$$main函数的源码定义在\src\components.c里。
#if defined(__CC_ARM) || defined(__CLANG_ARM)extern int $Super$$main(void);/* re-define main function */int $Sub$$main(void){ rt_hw_interrupt_disable(); rtthread_startup(); return 0;}#elif defined(__ICCARM__)// for IAR...#elif defined(__GNUC__)extern int main(void);// for gcc..#endif
有两个子函数:
1、rt_hw_interrupt_disable,关全局总中断,定义在汇编文件\libcpu\arm\cortex-m3\context_rvds.S里。
;/*; * rt_base_t rt_hw_interrupt_disable();; */rt_hw_interrupt_disable PROC EXPORT rt_hw_interrupt_disable MRS r0, PRIMASK CPSID I BX LR ENDP
就是__set_primask(1),关中断,只有FAULT和NMI中断可以响应。
2、rtthread_startup,启动rtt,也在\src\components.c里。
int rtthread_startup(void){ rt_hw_interrupt_disable(); /* board level initialization * NOTE: please initialize heap inside board initialization. */ rt_hw_board_init(); /* show RT-Thread version */ rt_show_version(); /* timer system initialization */ rt_system_timer_init(); /* scheduler system initialization */ rt_system_scheduler_init();#ifdef RT_USING_SIGNALS /* signal system initialization */ rt_system_signal_init();#endif /* create init_thread */ rt_application_init(); /* timer thread initialization */ rt_system_timer_thread_init(); /* idle thread initialization */ rt_thread_idle_init();#ifdef RT_USING_SMP rt_hw_spin_lock(&_cpus_lock);#endif /*RT_USING_SMP*/ /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return 0;}
关于RT-Threadrt 中怎么用$Sub$main来扩展main函数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
函数
内容
文章
更多
知识
篇文章
不错
两个
全局
只有
就是
文件
源码
质量
参考
帮助
有关
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
拥有32k的服务器网易版
大数据库系统安全论文
库克说网络安全视频
pgsql 创建数据库
网络安全和银行
互联网产品科技品牌加盟
沈阳市医院网络技术
我国的软件开发公司
最好用的资料数据库
平安科技互联网公司
物联网服务器网关
2015年网络安全基础
druid连接什么数据库
国外法律法规数据库
软件开发的路线怎么写
游戏装备数据库表设计
成都国家网络安全宣传周开幕式
广西网络技术学院
河南网络安全及信息化会议
ccs成都网络安全大会官方
无法找到服务器文件
争福软件开发
锋眼科技软件开发
db2数据库需要注意的
软件开发费用处理
国家政府社交网络安全
软件开发者专长简历
金山区网络安全审计系统咨询机构
学网络安全管理制度
惠普服务器电源1200瓦