RT-Thread Nano较早被移植。实际上,这不是所谓的移植,而是称为部署,因为官方的移植工作已经为我们完成。
文章链接:Xiaoxiong派系移植了RT-Thread Nano 1.与思想相关的信息检索如上一篇文章所述,在主要功能完成之前,RT-Thread与硬件配置,系统初始化,启动调度程序等有关。因此我们稍后看到的main函数非常简洁,使人感到精神焕发,并且希望继续编写代码,如下所示:main.c int main(void){while(1){rt_kprintf(“ Hello RTT_NANO
”); HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin); rt_thread_mdelay(500); }}然后,特定的RT-Thread如何在执行主要功能之前实现所有初始化硬件和时钟?遵循官方文档RT -Thread代码启动过程:遵循代码,最后找到以下代码:/ *重新定义主函数* / int $ Sub $$ main(void){rtthread_startup(); return 0;} / *系统主线程* / void main_thread_entry(void * parameter){extern int main(void); extern int $ Super $$ main(void); / * RT-Thread组件初始化* / rt_components_init(); / *调用系统主函数* /#如果已定义(__CC_ARM)|| define(__ CLANG_ARM)$ Super $$ main(); / *对于ARMCC。
* /#elif定义(__ICCARM__)|| define(__ GNUC__)main();#endif)在正常的工作和开发语法中不使用此语法,因此我只能搜索文档以了解其实现方式。果然,我在Keil帮助手册中找到了答案:从文档中,Keil MDK编译器使用两个符号$ Sub $$和$ Super $$来扩展main函数,这允许使用$ Sub $$ main在执行主函数之前执行$ Sub $$ main函数,因此一些基本的硬件和时钟初始化函数可以在$ Sub $$ main函数中完成。
完成这些任务后,您仍然必须跳至main函数以执行随后的逻辑,这需要通过调用$ Super $$ main来实现。 (注意:在Keil MDK编译器中就是这种情况。
但是IAR和GCC环境之间存在差异,因此我在这里不对其进行分析,稍后我们将对其进行讨论。)由于main函数可用于这样可以在其他功能中使用吗?这句话引人好奇,我继续搜索该文档,并在armlink_user_guide手册中找到了它:接下来,我开始进行实验,然后我使用stm32cubeMX生成了一个基本的裸机项目并将其下载到Bear进行验证是正确的。
2.小熊练习2.1基本功能配置配置外部时钟,调试串口,调试接口和LED最终生成代码。 2.2编写验证代码。
首先添加一个串行端口重定向功能,然后可以使用printf int fputc(int ch,FILE * file){return HAL_UART_Transmit(& huart1,(uint8_t *)& amp; ch,1,1000);}与该文档一起,模仿RT-Thread并编写以下函数:void $ Sub $$ main(void){extern int main(void); extern int $ Super $$ main(void); //初始化HAL HAL_Init(); //初始化系统时钟SystemClock_Config(); //初始化GPIO MX_GPIO_Init(); //初始化串口MX_USART1_UART_Init(); printf(“初始化已完成
”); //点亮HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET); //返回真正的主函数$ Super $$ main();}主函数如下:int main(void){//延迟2s HAL_Delay(2000); printf(“返回主函数
”); while(1){HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13); HAL_Delay(500); }}编译程序后,将其下载到bear pie开发板上,然后打开串行调试助手以查看:可以看出,这是一个非常引人注目的技能,您可以在支持此扩展的编译器中应用此技能。符号,以简化代码,然后将函数添加到上述程序中:添加函数函数并在$ Sub $$ Function之前运行,然后在主函数中调用Function函数:void $ Sub $$ Function (void){extern void Function(void); extern void $ Super $$ Function(void);函数中的printf(&quot ;,在调用$ Sub $$ Function之前
”); $ Super $$ Function();} void Function(void){printf("执行函数功能
");} int main(void){//延迟2s HAL_Delay(2000); printf(“返回主函数
”); //调用函数function Function(); while(1){HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13); HAL_Delay(500); }}然后,在编译之后,将该程序下载到bear pie开发板上,并通过串行调试助手进行查看:至此,我们已经完全理解RT-Thread如何实现初始化硬件,系统初始化和启动硬件的基本原理。
主功能执行之前的调度程序。 3.案例下载,公众号后台回复:主要是。
公司: 深圳市捷比信实业有限公司
电话: 0755-29796190
邮箱: ys@jepsun.com
产品经理: 汤经理
QQ: 2057469664
地址: 深圳市宝安区翻身路富源大厦1栋7楼

更多资讯
获取最新公司新闻和行业资料。
- 聚鼎PXXXX T与S电感对比:性能差异与工程选型策略 聚鼎PXXXX T vs S电感:全面性能对比与工程实践指南面对日益复杂的电子系统设计需求,如何在“聚鼎PXXXX T”与“聚鼎PXXXX S”两款电感之间做出最优选择?本文从结构、性能、适用场景三个维度展开深度对比,并提供实用的工程选...
- TSS管与聚鼎PXXXX T/S电感的性能对比及应用解析 TSS管与聚鼎PXXXX T/S电感的核心技术优势在现代电子设备中,TSS管(Transient Suppressor Semiconductor)与聚鼎品牌PXXXX系列电感(包括T型与S型)因其卓越的瞬态抑制能力和高可靠性,广泛应用于电源管理、通信设备和工业控制领域。以下...
- ABB塑壳断路器(S系列.T系列): 高效可靠的配电解决方案 ABB塑壳断路器以其卓越的性能和可靠性在电气行业中享有盛誉。S系列和T系列作为ABB断路器中的佼佼者,分别针对不同的应用领域提供了高效且灵活的解决方案。S系列塑壳断路器设计紧凑、功能全面,适用于各种工业及商业环境...
- 如何选择合适的聚鼎PXXXX T/S电感与TSS管搭配方案 基于应用场景的TSS管与聚鼎电感选型策略在实际工程设计中,合理匹配TSS管与聚鼎PXXXX系列电感是保障系统可靠性的关键。以下是根据不同应用场景的推荐搭配方案。1. 高频开关电源系统推荐配置:选用聚鼎PXXXX-T型电感 + 高速响...
- TSS管与聚鼎PXXXX T/S电感参数详解:选型指南与应用解析 TSS管与聚鼎PXXXX T/S电感参数深度解析在现代电子设备中,TSS管(Transient Suppressor Semiconductor)和聚鼎(Jude)系列电感元件是保障电路稳定性和抗干扰能力的关键组件。本文将围绕“TSS管”、“聚鼎PXXXX T”与“聚鼎PXXXX S”电感的参...
- 电阻r的大小对谐振频率有无影响 R对频率没有影响,但影响曲线的陡度,即质量因子Q。R越大,Q越低,峰值越慢。...
- E+H液位开关FTL20: 高性能与可靠性的液位检测解决方案 E+H液位开关FTL20是一款高性能、高可靠性的液位检测设备,广泛应用于化工、制药、食品加工等多个行业。该款液位开关采用了先进的测量技术,能够在各种复杂工况下准确检测液体的有无及位置变化,确保生产过程的安全与稳定...
- 费斯托SMT-8-NS-S-LED-24-B:精准可靠的位置控制解决方案 费斯托的SMT-8-NS-S-LED-24-B是一款高性能行程开关,它在自动化领域中扮演着重要角色。这款行程开关具有8毫米的检测距离,适用于需要精确位置控制的应用场景。其内置的LED指示灯可以直观地显示开关状态,便于用户监控和维护。...
- IO扩充器原理详解:如何实现高效外设扩展与数据传输 IO扩充器原理详解:如何实现高效外设扩展与数据传输在现代嵌入式系统和工业自动化领域,设备对外部输入输出(IO)接口的需求日益增长。为解决这一问题,IO扩充器应运而生。它是一种能够将有限的主控芯片IO引脚扩展为更多...
- 功率电阻TR20 TO-220 20W性能解析与GB/T 10228标准应用 功率电阻TR20 TO-220 20W技术特性详解在工业电子设备、电源系统及大功率电路中,功率电阻扮演着至关重要的角色。其中,TR20 TO-220 20W型功率电阻因其优异的散热性能和稳定的电气参数,成为众多设计工程师的首选。1. 封装与结构...
- 爱普瑞BRT-205L-T:高效实用的智能设备 爱普瑞BRT-205L-T是一款高效实用的智能设备。该产品以其卓越的性能和便捷的操作体验,受到了广大用户的青睐。首先,在设计上,爱普瑞BRT-205L-T采用了先进的技术理念,确保了其在同类产品中的领先地位。无论是外观设计还是内...
- 光颉viking陶瓷多层片式电感器(CL-S系列):高性能高频应用的理想之选 光颉viking CL-S系列陶瓷多层片式电感器核心优势解析在现代电子设备日益追求小型化、高集成度与高效能的背景下,光颉viking推出的CL-S系列陶瓷多层片式电感器凭借其卓越的电气性能和可靠的稳定性,成为高频电路设计中的首选...
- Honeywell霍尼韦尔SZL-VL-S-J型行程开关:高可靠性与精确性的工业解决方案 Honeywell霍尼韦尔的SZL-VL-S-J型行程开关是一款高性能、耐用的产品,广泛应用于各种工业自动化系统中。这款行程开关以其卓越的可靠性和精确性而著称,能够在严苛的工作环境中确保准确的位置检测和控制。该型号特别设计用于...
- 光颉viking CL-S系列电感器:高效能滤波与能量转换的核心组件 光颉viking CL-S系列电感器全面解析在高频开关电源、无线充电模块及数字信号滤波电路中,电感器作为能量存储与滤波的核心元件,其性能直接影响系统的效率与稳定性。光颉viking全新推出的CL-S系列电感器,专为高性能、小型化...
- TP-S 系列接近开关:高性能与可靠性的结合 TP-S 系列接近开关是由 TEND/天得制造的一款高品质传感设备。这款接近开关具有卓越的检测性能和耐用性,适用于多种工业自动化环境。它主要用于非接触式位置检测,能够在无需物理接触的情况下感知金属物体的存在,从而实现...
- JMV-E积层压敏电阻技术解析:高性能电子防护的核心组件 JMV-E积层压敏电阻概述JMV-E积层压敏电阻(Multilayer Varistor, MLV)是一种基于陶瓷材料的先进压敏元件,广泛应用于现代电子设备中,用于过电压保护和浪涌抑制。其核心优势在于高可靠性、快速响应时间以及优异的耐冲击能力。核...
- JMV-S积层压敏电阻详解:高性能过压保护的核心元件 JMV-S积层压敏电阻概述JMV-S积层压敏电阻是一种先进的电子元器件,广泛应用于电力系统、通信设备及家用电器中,用于实现瞬态过电压的抑制与保护。其核心特性在于采用积层结构设计,使电阻体在极小体积内实现高通流能力和...
- JMV-S积层压敏电阻的性能优势与应用解析 JMV-S积层压敏电阻的核心特性JMV-S积层压敏电阻是一种高性能的电子元件,广泛应用于电路保护领域。其核心优势在于采用先进的积层结构设计,使电阻层与电极层交替堆叠,实现更高的能量吸收能力与更小的体积。1. 高能量吸收...
- TSS管与聚鼎PXXXX S电感在高频电路中的应用解析 TSS管与聚鼎PXXXX S电感的技术特性与优势在现代电子设备中,TSS管(Transient Suppression Semiconductor)和聚鼎PXXXX S系列电感作为关键的保护与滤波元件,广泛应用于电源管理、通信设备及工业控制领域。两者协同工作,可有效抑制瞬态...
- A-B限位开关802T-X4A:性能特点与应用 A-B限位开关802T-X4A是一款在工业自动化领域广泛应用的设备。这款限位开关主要用于检测机械设备的位置或行程,并将信息转化为电信号,从而实现对机械运动的控制和保护。A-B限位开关802T-X4A具有较高的可靠性和耐用性,能够在...