RT-Thread入门学习笔记

第一章 初识RT-Thread

RT-Thread小贴士:

RT-Thread诞生于2006年,一款知名度高、口碑极佳、高度稳定可靠的实时操作系统。

RT-Thread是开源免费的,许可证类似FreeRTOS。并且,它不仅是一个RTOS内核,而且包含网络、文件系统、GUI界面等组件,具有极强的扩展性哟~

RT-Thread支持市面所有的主流编译工具(IAR、GCC、Keil等),硬件上,可支持完成超过50款MCU芯片上和所有主流CPU架构上的移植工作。

RT-Thread特点:高可靠性+组建丰富->广泛应用于安防、医疗、新能源、车载、导航以及消费电子等。

 

一 开发环境准备

      基于RT-Thread3.1.0版内核,硬件平台为STM32F103XE

1 代码目录介绍

1、工程源码

       applications:用户应用代码

       drivers:RT-Thread不同平台下的底层驱动

       kernel-sample:内核源码

       Libraries:STM32固件库

       rt-thread:源码

 

2、RT-Thread源码结构

       src:RT-Thread内核源代码

       libcpu:RT-Thread支持的芯片和各类移植文件(如STM32)

       include:RT-Thread内核头文件

       components:RT-Thread支持的外部组件代码(如Finish、Lwip)

 

3、工程目录

                  RT-Thread入门学习笔记_第1张图片

 

二 系统启动

                                       RT-Thread入门学习笔记_第2张图片

 

  1. int $Sub$$main(void)函数为系统的main函数
  2. rt_hw_interrupt_disable();关中断
  3. rtthread_startup();系统分工初始化,结束后使系统处于运行态

        rt_hw_interrupt_disable();关中断

        rt_hw_board_init();硬件平台初始化

        rt_show_version();显示版本号

        rt_system_timer_init();

        rt_system_scheduler_init();系统内核调度器初始化

        rt_system_signal_init();系统信号量机制初始化

        rt_application_init();用户信息初始化(含用户创建)

                main_thread_entry入口地址代码->调用applications中的main.c

        rt_system_timer_thread_init();定时器

        rt_thread_idle_init();

        rt_system_scheduler_start();运行RTOS

你可能感兴趣的:(嵌入式,操作系统)