rt-thread 官方库镜像 https://www.rt-thread.org
Go to file
uestczyh222 0779b00905 [BSP][STM32F4xx-HAL]Update clock tree
修正84M主频下48M时钟的产生错误
修正没有对部分芯片需要单独配置48M时源(RCC_PERIPHCLK_CLK48)
增加芯片存在非通用时钟树配置时产生编译警告
严正警告。F4工作在100M主频下(F411等)无法正确产生48M时钟,此时请另行配置时钟或降频至84M使用。自动配置的时钟将导致芯片无法启动。(只要是不能产生48M时钟的HCLK配置均不能使用该BSP内的自动时钟配置,芯片最大主频中只有100M无法使用)
2017-12-29 06:05:42 +08:00
bsp [BSP][STM32F4xx-HAL]Update clock tree 2017-12-29 06:05:42 +08:00
components [dfs] fix the issue of stat "/.." of lwext4 2017-12-28 13:36:33 +08:00
documentation Update and rename documentation to documentation/roadmap-2.1.0.md 2015-02-26 16:43:00 +08:00
examples [Termios]1. Add termios test. 2.Add termios.h 2017-12-07 18:32:06 +08:00
include Update rtdef.h 2017-12-27 20:38:43 +08:00
libcpu Merge pull request #1124 from SummerGGift/add_arm_8-byte_alignment 2017-12-21 17:07:34 +08:00
src [Kernel] fix the object container initialization issue 2017-12-25 20:55:20 +08:00
tools [Tools] Fix the env.sh in menuconfig 2017-12-26 15:55:30 +08:00
.gitattributes update .gitattributes 2013-01-08 23:57:29 +08:00
.gitignore Update .gitignore file. 2017-12-14 09:58:40 +08:00
.travis.yml Update .travis.yml 2017-12-23 13:56:51 +08:00
AUTHORS update CRLF 2013-01-09 00:06:34 +08:00
COPYING import RT-Thread RTOS 0.3.x to Google SVN 2009-07-02 22:48:23 +00:00
ChangeLog.md Update ChangeLog.md 2017-12-01 00:22:39 +08:00
Kconfig [Kconfig] Rename all of KConfig files to 'Kconfig' 2017-11-30 20:12:53 +08:00
README.md Update README.md 2017-11-05 21:58:05 +08:00
README_zh.md Create README_zh.md 2017-11-05 22:40:01 +08:00

README.md

RT-Thread

Build Status Gitter

RT-Thread is an open source IoT operating system from China, which has strong scalability: from a tiny kernel running on a tiny core, for example ARM Cortex-M0, or Cortex-M3/4/7, to a rich feature system running on MIPS32, ARM Cortex-A8, ARM Cortex-A9 DualCore etc.

Overview

RT-Thread RTOS like a traditional real-time operating system. The kernel has real-time multi-task scheduling, semaphore, mutex, mail box, message queue, signal etc. However, it has three different things:

  • Device Driver;
  • Component;
  • Application Module

The device driver is more like a driver framework, UART, IIC, SPI, SDIO, USB device/host, EMAC, MTD NAND etc. The developer can easily add low level driver and board configuration, then combined with the upper framework, he/she can use lots of features.

The Component is a software concept upon RT-Thread kernel, for example a shell (finsh/msh shell), virtual file system (FAT, YAFFS, UFFS, ROM/RAM file system etc), TCP/IP protocol stack (lwIP), POSIX (thread) interface etc. One component must be a directory under RT-Thread/Components and one component can be descripted by a SConscript file (then be compiled and linked into the system).

The Appliation Module, or User Applicaion (UA) is a dyanmic loaded module, it can be compiled standalone without Kernel. Each UA has its own object container to manage thread/semaphore/kernel object which was created or initialized inside this UA. More information about UA, please visit another git repo.

Board Support Package

RT-Thread RTOS can support many architectures:

  • ARM Cortex-M0
  • ARM Cortex-M3/M4/7
  • ARM Cortex-R4
  • ARM Cortex-A8/A9
  • ARM920T/ARM926 etc
  • MIPS32
  • x86
  • Andes
  • C-Sky
  • RISC-V
  • PowerPC

License

RT-Thread RTOS is free software; you can redistribute it and/or modify it under terms of the GNU General Public License version 2 as published by the Free Software Foundation. RT-Thread RTOS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with RT-Thread; see file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

As a special exception, including RT-Thread RTOS header files in a file, instantiating RT-Thread RTOS generics or templates, or linking other files with RT-Thread RTOS objects to produce an executable application, does not by itself cause the resulting executable application to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU Public License.

Usage

RT-Thread RTOS uses scons as building system. Therefore, please install scons and Python 2.7 firstly. So far, the RT-Thread scons building system support the command line compile or generate some IDE's project. There are some option varaibles in the scons building script (rtconfig.py):

  • CROSS_TOOL the compiler which you want to use, gcc/keil/iar.
  • EXEC_PATH the path of compiler.

In SConstruct file:

RTT_ROOT This variable is the root directory of RT-Thread RTOS. If you build the porting in the bsp directory, you can use the default setting. Also, you can set the root directory in RTT_ROOT environment variable and not modify SConstruct files.

When you set these variables correctly, you can use command:

scons 

under BSP directory to simplely compile RT-Thread RTOS.

If you want to generate the IDE's project file, you can use command:

scons --target=mdk/mdk4/mdk5/iar/cb -s 

to generate the project file.

NOTE: RT-Thread scons building system will tailor the system according to your rtconfig.h configuration header file. For example, if you disable the lwIP in the rtconfig.h by commenting the #define RT_USING_LWIP, the generated project file should have no lwIP related files.

Contribution

Please refer the contributors in the github. Thank all of RT-Thread Developers.