rt-thread 私人库
Go to file
Gavin Liu 9791c31c1b imxrt:uart: Add PINs init for each uart port
Add PINs init function based on the selected UART port.

In general, user should configure all necessary PINs based on
the specific imxrt board in:
    bsp/imxrt/xxxx/board/MCUX_Config/pin_mux.c
There is a convenient GUI tool named MCUXpresso Config Tools,
it's free and can be obtained from NXP offical website. Open
the file:
    bsp/imxrt/imxrt1052-nxp-evk/board/MCUX_Config/MCUX_Config.mex
with MCUXpresso Config Tools, set the necessary PINs (or clocks)
and generate the new code of pin_mux.c (or clock_config.c), the
project can get right configurations based on specific imxrt
board.

But, there is no relation between RT-Thread Kconfig and MCUXpresso
Config Tools. User selects one driver in RT-Thread menuconfig, then
the ping_mux.c should be udpated by MCUXpresso Config Tools to set
the right PIN configurations for the selected driver. It's clear
but a little complex.

We add the PIN init functions for some drivers in the board.c file,
1. It's convenient to usr a driver in RT-Thread. Just select the
   driver, then the code will include all necessary parts, and the
   driver can work well.
2. User can also configure the PINs with MCUXpresso Config Tools.
3. The drivers in bsp/imxrt/libraries/drivers are common for all
   imxrt boards. They may have different PIN configurations based
   on different hardware design. So we put the PIN init functions
   in each board.c file following each different imxrt board.

Signed-off-by: Gavin Liu <gavin-liugang@outlook.com>
2019-09-19 11:13:57 +08:00
.github Update PULL_REQUEST_TEMPLATE.md 2019-01-23 10:05:23 +08:00
bsp imxrt:uart: Add PINs init for each uart port 2019-09-19 11:13:57 +08:00
components Merge pull request #3077 from jesven/fix_mempool 2019-09-17 14:11:14 +08:00
documentation There is some "micro" word (e.g. section6), maybe "macro"? 2018-09-26 18:48:17 +09:00
examples [examples][pm]add wakeup application for pm. 2019-05-09 20:55:35 +08:00
include Merge pull request #3077 from jesven/fix_mempool 2019-09-17 14:11:14 +08:00
libcpu Fix Cortex-M0 Cannot Execute Reboot 2019-09-07 21:20:46 +08:00
src Merge pull request #3077 from jesven/fix_mempool 2019-09-17 14:11:14 +08:00
tools Merge pull request #3072 from liruncong/EnvPath 2019-09-16 08:49:30 +08:00
.gitattributes update .gitattributes 2013-01-08 23:57:29 +08:00
.gitignore Update .gitignore 2018-11-09 10:08:31 +08:00
.travis.yml [ci] remove gcc-4.6-base:i386 from ci env. 2019-08-18 07:30:29 +08:00
AUTHORS update CRLF 2013-01-09 00:06:34 +08:00
ChangeLog.md Update ChangeLog.md 2019-05-16 20:25:15 +08:00
Kconfig [Kconfig] Rename all of KConfig files to 'Kconfig' 2017-11-30 20:12:53 +08:00
LICENSE Update license information. 2018-09-09 11:13:41 +08:00
README.md fix typo 2019-05-11 10:39:24 +04:00
README_zh.md Update license information. 2018-09-09 11:13:41 +08:00

README.md

RT-Thread

中文页 |

GitHub GitHub release Build Status Gitter GitHub pull-requests PRs Welcome

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;
  • Dynamic 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 Dynamic Module, formerly named as User Applicaion (UA) is a dynamic loaded module or library, it can be compiled standalone without Kernel. Each Dynamic Module has its own object list 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 is Open Source software under the Apache License 2.0 since RT-Thread v3.1.1. License and copyright information can be found within the code.

/*
 * Copyright (c) 2006-2018, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 */

Since 9th of September 2018, PRs submitted by the community may be merged into the main line only after signing the Contributor License Agreement(CLA).

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.