RT-Threadrt 中怎么用$Sub$$main来扩展main函数
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,这篇文章将为大家详细讲解有关RT-Threadrt 中怎么用$Sub$main来扩展main函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。现在的r
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
董有福数据库打分
河北伟创网络技术公司
北京在线网络技术咨询常见问题
金山安全网络技术
硬盘录像机数据库恢复
dl580g服务器指示灯
Tricon数据库备份
数据库的核心特征
软件开发初中文化可以学吗
om数据库是什么
数据库模糊查询sql语句
愿赌服输吉他谱软件开发
软件开发百度贴吧
上传认证显示服务器异常什么意思
公安网络安全自查情况
粤恒通网络技术有限公司
哪里有招网络技术员
顺义区品质网络技术推广系统
互联网支付科技
华为德科软件开发
数据库看端口
东莞汽车软件开发方案
db2数据库建新架构
数据库模糊查询sql语句
通州网络安全厂房项目
文件服务器优化
陕西影视频道网络安全教育
云南平讯科技互联网设计
国庆与网络安全
网络安全数字取证