The user application is the application layer of RT-Thread RTOS. The developer can develop his/her application out of RT-Thread RTOS firmware environment.
There are two mode for RT-Thread Applications,
The standalone application has a main() function as the program entry. It more like a program in the PC/Linux.
The shared library is compose of functions, and provide these APIs to other programs.
First of all, these programs must base on RT-Thread RTOS environment, and run inside. In the RT-Thread RTOS, the module option must be enable in rtconfig.h File:
#define RT_USING_MODULE
And provide the flags for Application building in rtconfig.py file (since RT-Thread 2.1.x, these flags will be gradually added to each BSP):
And Provide the ENV variable BSP_ROOT
which points to your board support package
directory.
Windows:
set BSP_ROOT=`your_bsp_directory`
Linux:
export BSP_ROOT=`your_bsp_directory`
And to run the command under your BSP directory:
scons --target=ua -s
To generate the information for User Application, such as the header file search path, the macro defined in the RT-Thread RTOS etc.
Finally, you can build the user application in rtthread-apps
directory, for example:
scons --app=hello
To build hello
program.
scons --lib=libtar
To build a shared library.
This is a simple application of Hello World
:
#include <stdio.h>
int main(int argc, char **argv)
{
printf("Hello World!\n");
return 0;
}
It's just like the Hello World
program in the PC/Linux. Beside that, the user
application can use the most of APIs of RT-Thread, for example:
#include <rtthread.h>
void my_thread_entry(void* parameter)
{
int index;
while (1)
{
rt_kprintf("index => %d\n", index ++);
rt_thread_delay(RT_TICK_PER_SECOND);
}
}
int my_thread_init(void)
{
rt_thread_t tid;
tid = rt_thread_create("tMyTask', my_thread_entry, RT_NULL,
2048, 20, 20);
if (tid != RT_NULL) rt_thread_startup(tid);
return 0;
}
This example will create a sub-thread, which named as 'tMyTask'.
If you didn't set RTT_ROOT/BSP_ROOT, The command scons --app=hello
will
build the program in host environment, for example, build it as a Linux program.
Therefore, only POSIX application can be built like that.
All of user application are standalone program, if there is no special explanation, the license of these program is GPLv2. While the license of RT-Thread RTOS is GPLv2+.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。