The Applications of RT-Thread RTOS

來源:互聯網
上載者:User

標籤:turn   rtu   exp   sha   get   efi   lob   library   The   

The Applications of RT-Thread RTOSIntroduction

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,

  • Standalone Application
  • Shared Library

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.

Build Application

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):

  • M_CFLAGS - User Application C/C++ compiler flags
  • M_LFLAGS - User Application link flags

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.

A Simple Application

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‘.

Build the POSIX application in the host

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.

License

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+.

 

 

【來源】

The Applications of RT-Thread RTOS

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.