RT-Threadrt 中怎么用$Sub$$main来扩展main函数
发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,这篇文章将为大家详细讲解有关RT-Threadrt 中怎么用$Sub$main来扩展main函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。现在的r
千家信息网最后更新 2024年10月02日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安全错误
数据库的锁怎样保障安全
哈尔滨网络技术公司
新兴网络技术的作用和意义
造梦西游4服务器找不到了
根据数据库行号查询
苹果无法连接服务器
天津好的软件开发代理品牌
商场售货系统数据库分析设计
网络安全重要部份组成
数据库技术难点
网络安全鼠标垫
新车手机上选号总是出现服务器忙
wind数据库怎么下载股价
oppo系统服务器出错
服务器带宽15mm
手机服务器出现问题什么情况
林勇网络安全培训
二级代理服务器软件
丁香园医药数据库
amoeba数据库代理
超星网查重数据库
服务队 网络安全
国产服务器打响突围战
义马新创网络技术有限公司
盖国强数据库优化
拖拉机声音软件开发
数据库禁止外网ip
储备网络安全技术人才的措施
数据库读取表返回map对象
深圳小鹅网络技术有限公司校招
win10不能登录局域网服务器