RT-Thread

第十六届智能车竞赛MCU这么多,该怎么办?别慌,有人来帮忙

时光毁灭记忆、已成空白 提交于 2020-12-19 14:06:33
在第十六届全国大学生智能汽车竞赛中引入了多种MCU类型,包括有Infineon, STC, WCH, MindMotion,NXP等。这一方面为同学开发智能嵌入式控制系统提供了更多的选择可能,另一方面也为同一学校不同组别之间相互交流也带来了一定的挑战,毕竟不同单片机具有不同的底层硬件资源、不同的开发调试环境等等。 那么,有没有能够对应不同底层MCU硬件开发平台之后,对上层控制软件开发一统江湖的解决方案呢? RT-Thread,嵌入式实时操作系统迈着霸气的步伐前来给出解决方案。 一、RT-Thread简介 RT-Thread诞生于2006年,是国内以开源中立、 社区化发展起来的一款实时操作系统,由上海睿赛 德电子科技有限公司拥有并负责开发维护和运营。 因其十四年的沉淀积累, 加上最近两年在资本的加 持下专业化的运营推广, 其高可靠性、超低功耗、高 可伸缩性和中间组件丰富易用等特性极大地满足了 物联网市场的需求。 目前已经成为市面上装机量最 大(超6亿台)、 开发者数量最多、 软硬件生态最好的 物联网操作系统之一, 被广泛应用于智能家居及安 防、工业、车载、穿戴、智慧城市等众多行业领域。 二、推荐使用版本 智能车竞赛在32位处理器上推荐使用RT-Thread标准版及RT-Thread NANO 两个版本的操作系统。 ▲ RT-Thread标准版 ▲ RT-Thread Nano版本

开放学生申请|“开源软件供应链点亮计划-暑期2020”

早过忘川 提交于 2020-12-19 05:32:15
“开源软件供应链点亮计划-暑期2020”(以下简称“暑期2020”)是由中国科学院软件研究所与openEuler社区共同举办、中科院软件研究所南京软件技术研究院承办的一项面向高校学生的暑期活动,旨在鼓励在校学生积极参与开源软件的开发维护。 自2020年5月15日起,“暑期2020”活动便开始陆续公布社区和项目列表。截至今天,所有社区和项目信息已经更新完毕:共计 42 家社区、 388 个项目参与本次活动。 6月1日起,活动组委会将正式接收学生的项目申请。6月20日24:00之前,学生均可参考项目申请模板的要求提交项目申请材料, 流程细则请点击 https://isrc.iscas.ac.cn/summer2020/help/student.html 。 RT-Thread社区加入这一计划,提供若干项目需求。欢迎有能力、有热情、有时间的小伙伴们参加。RT-Thread愿意和大家一起,为国内的开源生态添砖加瓦。 小tips 在正式提交项目申请书之前,学生一定要与社区指定的项目导师沟通(Email),提高申请成功概率。 一个学生最多可以同时申请三个项目,但最终只能承担一个项目。尽量专注于感兴趣的1-2家社区,以免降低中选概率。 请勿在最后一天提交,避免因不熟悉申请流程、缺少申请材料、网络等问题造成无法在指定时间内完成申请。 海量奖励,等你来拿 组委会为此次活动设置了丰富的奖金奖品

【STM32F4】【银杏科技ARM+FPGA】iCore3移植RT-Thread--准备工作

馋奶兔 提交于 2020-12-18 04:14:43
一、 初始RT-Thread RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统。以下我们就简称RTT,RTT是一款完全由我们国内团队开发的嵌入式实时操作系统,它诞生于2006年,最初源于对当时小型RTOS现状的诸多不满,RTT要打造一个精致而优雅的操作系统。从最初的V0.0.1发布,历经十几个年头的沉淀到今天的V4.0.0的发布,它正演变成一个功能强大、组件丰富的物联网操作系统。 RTT支持任务抢占,STM32默认支持优先级范围是32,支持多任务(线程)轮转调度,可以通过信号量、互斥量、事件集进行线程间同步,通过邮箱、消息队列、信号进行线程间的通信。RTT也支持动态内存、中断等管理。 二、 辅助工具 2.1、Env简介 Env是RTT推出的开发辅助工具,针对基于RTT操作系统项目工程,提供编译构建环境、图形化系统配置及软件包管理功能,其内置的menuconfig提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行自由剪裁,使用系统以搭积木的方式进行构建。   2.1.1 准备工作   在电脑上首先安装好git,软件包管理功能需要git的支持。   git下载地址: https://git-scm.com/downloads   下载后一路next安装,安装完成测试是否安装成功。按下win+R键,打开cmd,输入git

是的,RT-Thread 3.0.4发布了

▼魔方 西西 提交于 2020-12-12 05:01:18
2018年已过去一半了,让我们先默默回顾下年初的计划和目标实现的怎么样了? RT-Thread基本上是按着既定的节奏在推进,离上一个版本发布也过去将近一个季度,在年中迎来v3.0.4版本发布,同时越来越多的开发者加入到了RT-Thread的建设中,如来一颗糖,liuguang,zhuangwei,bluebear,孙冬梅等开发者亦做出许多的贡献。 下面 们主要分新版本发布和社区两块来做一个介绍。 新版本发布 RT-Thread 3.0.4版本相比RT-Thread 3.0.3版本改动不算大,一部分也是bsp的调整,主体比较大的改动部分包括: 更完善的龙芯1C BSP:在龙芯1C智龙开发板上,RT-Thread可以不再依赖pmon就运行起来了。目前龙芯1C BSP也相对健全,可以购买一套龙芯1C300开发板支持下我们国家的龙芯处理器。 更完善的i.MX RT1052 BSP驱动支持,基本上(除了camera驱动)整套驱动都齐全了; 针对GNU GCC版本以及libc功能特性的侦测,以最大程度避免GCC不同版本而带来的编译问题; 其他主要是一些周边的改动,github上的master主干也在发布v3.0.4后,开始陆续的把v3.1.0开发分支的更改合并过去;而v3.0.4会做为v3.0.x分支继续进行维护。 内核 调整rt_event_send中hook调用位置

RT-Thread env入门应用视频教程来啦!

邮差的信 提交于 2020-12-12 04:41:54
本视频教程由armink录制,介绍env的使用,包括env简介,bsp的编译,menuconfig配置bsp,package管理,在项目中使用env。 1.RT-Thread env简介 RT-Thread env简介,env 是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。其内置的 menuconfig 提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行自由裁剪,使系统以搭积木的方式进行构建。 2.编译 bsp scons 是 RT-Thread 使用的编译构建工具,可以使用 scons 相关命令来编译 RT-Thread。 3.bsp 配置:menuconfig menuconfig 是一种图形化配置工具,RT-Thread 使用其对整个系统进行配置、裁剪。 由于微信限制一篇消息最多三个视频,深入应用篇请查看今日图文消息第二条,后期该系列视频也将上传到网易云课堂等视频教程平台。 添加微信13924608367 为好友,注明rt-thread,拉进RT-Thread微信交流群,与RT-Thread官方团队直接交流。 RT-Thread 让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。 GPLv2+协议,可免费在商业产品中使用。 长按二维码,关注我们

18讲基于国产龙芯 CPU 的嵌入式系统开发课程

房东的猫 提交于 2020-12-11 22:34:33
今天要分享的课程是基于国产龙芯 CPU的嵌入式系统仪器仪表,工控设备、网络设备等面向具有一定硬件、软件基础的学生,以龙芯1号系列芯片为核心,进行 RT-Thread 嵌入式系统设计与开发。该课程由基础入门篇、 RT-Thread 操作系统篇、外设篇三部分组成。本课程配有教材、课件、微课等资源 。 课程目录 第一讲 嵌入式系统入门与裸机下载 第二讲 嵌入式系统裸机编程 第三讲 基于RT-Thread操作系统入门- env 第四讲 基于RT-Thread操作系统内核1-shell 第五讲 基于RT-Thread操作系统内核2-进程与线程 第六讲 基于RT-Thread操作系统内核3-定时器 第七讲 基于RT-Thread操作系统内核4-线程间同步与通信 第八讲 基于RT-Thread操作系统内核5-内存管理 文件系统 第九讲 基于RT-Thread操作系统内核6-网络系统 第十讲 基于RT-Thread操作系统外设1-GPIO之LED与KEY 第十一讲 基于RT-Thread操作系统外设2-UART通用串行接口 第十二讲 基于RT-Thread操作系统外设3-SPI总线接口操作 第十三讲 基于RT-Thread操作系统外设4-I2C总线接口操作 第十四讲 基于RT-Thread操作系统外设5-RTC时钟与PWM 第十五讲 基于RT-Thread操作系统外设6-CAN总线接口操作

RT-Thread新版入门系列教程18讲

时光怂恿深爱的人放手 提交于 2020-12-10 19:38:46
物联网时代,操作系统是所有终端设备的核心。 作为一名 RTOS 的初学者,也许你对 RT-Thread 还比较陌生。然而,随着你的深入接触,你会逐渐发现 RT-Thread 的魅力和它相较于其他同类型 RTOS 的种种优越之处。RT-Thread 是一款完全由国内团队开发维护的嵌入式实时操作系统(RTOS),具有完全的自主知识产权。经过近 12 个年头的沉淀,伴随着物联网的兴起,它正演变成一个功能强大、组件丰富的物联网操作系统。 今天分享的课程是基于 STM32 系列的嵌入式系统设计与开发,面向具有一定基础的硬件与软件的朋友。该课程主要针对 RT-Thread 操作系统的 NANO 版本进行系统学习并利用其进行案例开发。该课程主要分为两个部分:内核篇、应用篇。本课程配套视频操作资源。 课程目录 第一讲:RT-Thread Nano-添加源码 第二讲:RT-Thread Nano-启动运行流程分析 第三讲:RT-Thread Nano-rt_kprintf支持 第四讲:RT-Thread Nano-Finsh组件支持 第五讲:RT-Thread Nano-线程 第六讲:RT-Thread Nano-自动初始化 第七讲:RT-Thread Nano-串口 第八讲:RT-Thread Nano-外部中断 第九讲:RT-Thread Nano-动态创建线程修改代码 第十讲:RT

使用RT_Thread Studio 点灯教程

淺唱寂寞╮ 提交于 2020-12-10 00:45:36
大家好本人大三菜鸟一枚,第一次写教程多有不足,敬请原谅。主要是记录一下自己的学习过程。我会把我自己遇到的问题和解决的过程记录下来,供大家参考学习。OK,现在开始~~ 本教程是基于STM32F103CB和RT_Thread Studio 1.1.5版本 新建工程 Step1:选择新建RT_Thread项目 Step2:选择基于芯片或者基于开发板(选择自己芯片或者开发板) 编写Main函数 Step1:添加一下头文件 (这个头文件默认是没有的) # include <board.h> # include <rtdevice.h> Step2:编写点灯Main函数 代码如下 # include <rtthread.h> # define DBG_TAG "main" # define DBG_LVL DBG_LOG # include <rtdbg.h> # include <board.h> # include <rtdevice.h> # define LED0 GET_PIN(C,13) //引脚定义 rt_thread_t led_thread = RT_NULL ; //线程定义 static void Blink_entry ( void * parameter ) ; //线程声明 int main ( void ) { led_thread = rt_thread

C语言、嵌入式中几个非常实用的宏技巧

风格不统一 提交于 2020-12-04 23:55:11
宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。 特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。 这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息所在的文件、行数、函数名等信息。如: 左右滑动查看全部代码>>> # define DBG_PRINTF(fmt, args...) \ {\ printf( "<<File:%s Line:%d Function:%s>> " , __FILE__, __LINE__, __FUNCTION__);\ printf(fmt, ##args);\ } 使用范例: 可见,使用方法与printf的使用方法一样,而且每条打印语句开头都会打印调试信息所在的文件名、行号、函数名信息,方便我们查找一些调试信息。 其中, __FILE__ 、 __LINE__ 、 __FUNCTION__ 这三个宏是编译器内置宏定义,分别代表调试信息所在文件、行号、函数。 除此之外,常用的宏还有: __DATE__ 、 __TIME__ ,分别代表当前的编译日期与时间。如: DBG_PRINTF("Compile Time: %s %s\n", __DATE__, __TIME__); 第二条printf中的#

谈一谈国产物联网操作系统rt-thread

大憨熊 提交于 2020-11-30 06:24:05
“ 工欲善其事,必先利其器 ” 关注rt-thread已经两年多了,从2017年的第一次接触到现在已经能够熟练的使用这个操作系统工具了。现在我想谈一谈嵌入式与操作系统的理解,将自己的想法和大家分享。 01 — 初次接触rt-thread 2017年以前,对于rtos最多接触到的还是ucos,freertos之类的实时操作系统。当时公司使用的是君正x1000硬件。君正x1000官网上提供的是Linux版本的。由于Linux的启动速度慢,系统庞大。所以看到rt-thread的bsp包中有支持x1000平台,所以对这个系统进行一段时间的探究。 最开始的时候,x1000的bsp包中只有很少的外设驱动,而我主要的工作就是在rt-thread框架的基础上调通摄像头驱动和语音驱动。所以在很长一段时间内都在学习和思考rt-thread的基本使用,包括驱动框架和系统调度方面的问题。后来对这个系统慢慢的有了一些认识。rt-thread的在2017年的优势就是这些,支持一些国产的芯片和一些相关的bsp包,不需要自己进行移植,加快了产品成型的速度。并且驱动框架也很清晰,便于开发。还有就是如果之前有过Linux代码编写经验的工程师,基本上上手很快,代码风格完全的一致。所以从Linux转到做物联网,学习rt-thread是一个不错的选择。 再谈一谈rt-thread在项目上的使用的问题。其实rt