关于$Sub$$ 和 $Super$$ 扩展功能的使用,详见 ARM® Compiler v5.06 for µVision®armlink User Guide。 下面我们来看看在 components.c 中定义的这段代码: /* $Sub$$main 函数 */int$Sub$$main(void){rtthread_startup();return0;} 在这里 $Sub$$main 函数调用了 rtthread_startup() 函数,...
鼠标右击Project视图中的rt-thread目录,选择“Options for Target - rt-thread”,弹出菜单,如下图所示: 在弹出的Options for Target - rt-thread界面中,下拉ARM Compiler,选择Use default compiler version 6,即使用默认的版本6编译器; 点击底部的OK,确认。 修改完默认编译器后,点击编译图标(或者按快捷键F7进行编...
RT-Thread 使用了 MDK 的扩展功能 $Sub$$ 和$Super$$,使得 RT-Thread 可以在进入 main() 之前完成系统功能初始化。关于 $Sub$$ 和$Super$$ 的扩展功能,可以查看 《Arm Compiler for Embedded Reference Guide Version 6.17》 https://developer.arm.com/documentation/101754/0617/armlink-Reference/Accessing-...
这是一份 RT-Thread 开发人员的开发指引。RT-Thread 做为一份开源软件,它需要由不同的人采用合作的方式完成,这份文档是开发人员的一个指引。RT-Thread 的开发人员请遵守这样的编程风格。同时对于使用 RT-Thread 的用户,也可通过这份文档了解 RT-Thread代码内部一些约定从而比较容易的把握到 RT-Thread 的实现方式。
SCB_CFSR_UFSR:0x100 UNALIGNED原因是没有添加C标准库 解决方法 1 添加MicroLIB,这是一个C精简库Option for Target -> Target -> Use MicroLIB 2 如果还是报 Undefined Symbol __aeabi_assert 之类 的错误,添加相应库就行Manage Run Time Enviroment -> Compiler -> I/O -> STDERR
在4.1.0之前,RT-Thread提供了一套基于函数指针运行时注册的HOOK机制。新版本中,在开启HOOK功能的前提下,定义宏开关RT_HOOK_USING_FUNC_PTR将开启与过去相同的基于函数指针运行时注册的HOOK机制,实现向前兼容。 需要特别说明的是: 该机制的优点:在运行时刻允许用户动态修改HOOK函数; 其缺点是:即便用户并未使用对应的...
在弹出的Options for Target - rt-thread界面中,下拉ARMCompiler,选择Use default compiler version 6,即使用默认的版本6编译器; 点击底部的OK,确认。 修改完默认编译器后,点击编译图标(或者按快捷键F7进行编译),将会开始编译: 编译完成后,Build Output将会看到: ...
可以先调用一些要补充在 main 之前的功能函数(这里添加 RT-Thread 系统初始化功能),再调用 $Super$$main 转到 main()函数执行,这样可以让用户不用去管 main()之前的系统初始化操作。 关于$Sub$$和$Super$$扩展功能的使用,详见 ARM® Compiler v5.06 for µVision® armlink User ...
rt_system_timer_thread_init软件定时器初始化,其实就是把软件定时器放入rt_list_init中,然后给每一个软件定时器定时器开启线程。 void rt_system_timer_thread_init(void) { #ifdef RT_USING_TIMER_SOFT int i; for (i = 0; i < sizeof(rt_soft_timer_list) / sizeof(rt_soft_timer_list[0]); ...
RT-Thread has now been ported for nearly 200 development boards, most BSPs support MDK, IAR development environment and GCC compiler, and have provided default MDK and IAR project, which allows users to add their own application code directly based on the project. Each BSP has a similar direc...