上海品茶

您的当前位置:上海品茶 > 报告分类 > RAR报告下载

2019年RT-Thread开发者大会嘉宾演讲PPT资料合集.rar

编号:97671 RAR 22.07MB 下载积分:VIP专享
下载报告请您先登录!

2019年RT-Thread开发者大会嘉宾演讲PPT资料合集.rar

1、RT-Thread在Melis3.0系统中的移植和应用RT-Thread在Melis3.0系统中的移植和应用Melis3.0 RTT Inside 介绍介绍内核选型内核选型RTT的逻辑的逻辑RT-ThreadCortex-A架构移植分享架构移植分享RT-Thread应用心得应用心得Melis3.0 RTT Inside 介绍介绍Melis3.0系统在系统在Sunxi OS系谱中的位置系谱中的位置FreeRTOS(xr871 mcu)Melis3.0(RT-Thread Inside)Tina OSAndroidNo Scheduler(bare-metal 3rd mcus )处理器算力增强处

2、理器算力增强 产品产品功能丰富度功能丰富度微媒体微媒体Melis3.0系统基于系统基于ARM的的Cortex-A系处理器平台系处理器平台 视频视频编解码编解码代码量代码量 500万行万行高清高清显示显示Melis3.0(RT-Thread Inside)RT-Thread Kernel,调度器,内存管理调度器,内存管理Melis文件系统,设备管文件系统,设备管理,模块化,动态加载,理,模块化,动态加载,设备驱动设备驱动,系统调用系统调用Posix语义,多媒体编码解语义,多媒体编码解码,中间件,网络,码,中间件,网络,图显图显编,解码,图显应用编,解码,图显应用内核选型内核选型RTT的逻辑的逻辑

3、安全可控便于维护开源协议开发社区Posix兼容编码规范开发工具组件丰富OS实现特性RR调度优先级继承内核对象数量不限RTT内核内核Melis方案Cortex-A平台 内核内核+方案方案+平台平台RT-ThreadCortex-A架构移植分享架构移植分享官网文档中心的相关文档官网文档中心的相关文档:RT-Thread已经支持丰富的已经支持丰富的CPU ISA和和ABI标准标准:RT-Thread 3.1.4 Kernelarch abstract layercortex-acortex-mrisc-v.架构抽象层架构抽象层:1.抽象抽象arch层的存在,将内核和层的存在,将内核和CPU架构层解耦

4、架构层解耦,减少细节操作减少细节操作 2.RTT code base已经基于已经基于arm9,cortex-a7/a9的的arch层汇编实现,层汇编实现,Melis系统只要针对客制化的部分进行扩展即可。系统只要针对客制化的部分进行扩展即可。3.熊大已经为我们搭建好了框架,我们只需要做填空就好了熊大已经为我们搭建好了框架,我们只需要做填空就好了 RTT移植到新架构上是一件很容易的事情,原因有三移植到新架构上是一件很容易的事情,原因有三移植非常的简单,相当于实现移植非常的简单,相当于实现rthw.h 规定的接口即可。规定的接口即可。Xil_ExceptionRegisterHandlerrt_ti

5、ck_increasert_interrupt_enterrt_interrupt_leaveRT-Thread CoreXil_ExceptionRgisterndlerSunxi Cortex-A ProcessorRT-Thread system apirt_system_heap_initabstract arch layerCortex-A7 处理器模式和处理器模式和Bank寄存器寄存器满足硬件执行流满足硬件执行流-给给CPU硬件做填空硬件做填空rt_hw_context_switch_interruptvoid spl_main(.).jump_to_melis();bootloa

6、dervoid rtthread_startup(.).rt_hw_context_switch_to();Schedulervoid device_isr(.).rt_schedule();void sleep(.).rt_schedule();void task1(.)while(1).void task2(.)while(1).sleep(1)rt_hw_context_switch_tort_hw_context_switchRTT 的的 三个调度点三个调度点早期早期PreC阶段阶段,CPU初始化初始化移植步骤移植步骤:分为协作式调度:分为协作式调度+抢占式调度两个阶段:抢占式调度两个

7、阶段:PostC阶段,阶段,RTT核心初始化,初始化线程栈帧核心初始化,初始化线程栈帧 编写编写 链接脚本,定义内存布局链接脚本,定义内存布局实现多线程主动调度接口实现多线程主动调度接口实现实现GIC arch-timer的时钟中断抢占的时钟中断抢占调度调度实现异常处理实现异常处理编写编写链接脚本,定义内存布局链接脚本,定义内存布局.text.rodata.initcalls.dtbs.data.bssheap_bss_endheap_end1.暴露暴露_bss_end和和heap_end给系统给系统 2.利用利用_bss_end和和heap_end初始化初始化 RTT slab分配器分配器

8、64M DDR早期早期PreC阶段阶段,CPU初始化初始化1.CPU切换回切换回SuperVisor模式模式.2.关闭中断,初始化关闭中断,初始化CPU各模式堆栈各模式堆栈 sp和其余和其余bank寄存器寄存器.3.初始化页表,配置初始化页表,配置mmu,使能使能i/d cache,使能,使能VFP&NEON4.清除清除bss段数据段数据5.设置设置arch timier时钟频率,启动时钟频率,启动arch timer.6.初始化初始化GIC 配置向量表入口地址配置向量表入口地址7.设置设置SP,准备进入,准备进入C运行环境运行环境 PostC阶段,阶段,RTT核心初始化,初始化线程栈帧核心初

9、始化,初始化线程栈帧1.客制化线程栈帧初始化接口客制化线程栈帧初始化接口rt_hw_stack_init.2.核心初始化,调用核心初始化,调用RTT初始化序列初始化序列rtthread_startup函数中的函数中的内容内容。3.BSP初始化初始化4.实现实现rt_hw_context_switch_to,进入到第一个线程,进入到第一个线程实现多线程主动调度接口实现多线程主动调度接口 实现实现rt_hw_context_switch实现实现GIC arch-timer的时钟中断抢占调度的时钟中断抢占调度1.设置设置arch-timer时钟为时钟为24M,one shot模式模式2.根据根据de

10、falut HZ数数100,设置,设置tick 中断是按间隔中断是按间隔。3.实现实现irq向量处理,在中断中调用向量处理,在中断中调用rt_tick_increase函数函数4.实现实现rt_hw_context_switch_interrupt接口接口 SVC模式模式 IRQ模式模式 保存上下文保存上下文 获取中断号获取中断号 屏蔽中断屏蔽中断 执行执行 ISR 处理任务抢占处理任务抢占 恢复现场恢复现场异常处理异常处理-基于基于RTT异常处理的扩展异常处理的扩展使用使用RTT上基于串口上基于串口KGDB的裸机调试的裸机调试 RT-Thread应用心得应用心得小而美开发移植方便维护方便稳定

11、运行0 error,0 warningMelis3.0 Inside&RTT Inside 看戏看戏+早教早教+车载车载+相册相册+广告广告祝愿祝愿RTT 生态越来越强!生态越来越强!祝愿祝愿RTT社区越来越繁荣!社区越来越繁荣!祝愿所有祝愿所有RTT用户都能得到实惠!用户都能得到实惠!上海睿赛德电子科技有限公司小而美的物联网操作系统工业城市家居车载小而美的物联网操作系统RT-Thread Kernellibcpu/BSP设备框架SAL/协议栈安全框架虚拟文件系统控制台日志、异常处理音频流媒体框架柿饼UIPOSIX API|C+API|RT-Thread API数据库ARMMIPS脚本引擎:J

12、s,mpyFOTA服务低功耗管理RISC-VC-SkyRT-Thread内核RT-Thread平台Andesdebug bridge服务数据引擎连接管理软件包、中间件IoT 应用脚本类应用原生应用XtensaIoT服务AT组件USB stack应用层第三方SDK图形库引擎设备管理轻型进程bootloader小而美的物联网操作系统小而美的物联网操作系统信息数量star数fork数2313关注数487Issue数440提交数8919贡献者221githubgithub 信息3630小而美的物联网操作系统SAL/网络多媒体柿饼UIHTTP音频/视频CoAPPOSIX文件系统命令行小而美的物联网操作系

13、统开发专家高级开发工程师开发工程师三级认证体系促进IoT软件开发学习,协助就业为IoT企业招贤提供参考标准高质量的考试试题线上学习营实操项目考核面试年底前,推出开发工程师认证明年陆续推出高级开发工程师和开发专家认证目的:考核标准:推出计划:上海睿赛德电子科技有限公司小而美的物联网操作系统工业车载类安防和图像类智能家居类AI和语音类年需求:1 亿台+年需求:5亿台+年需求:4000万台+年需求:1亿台+小而美的物联网操作系统图形交互酷炫效果的触摸屏交互有强烈需求,在穿戴,家电,工业,车载等领域低资源占用与低功耗软件的专业度与优化将帮助实现更优的内存资源占用和更低的功耗AI与多媒体语音/音频,图像

14、识别,数据分析都将大面积普及通过脚本或轻型进程方式实现应用的可加载,更加灵活且有机会构筑应用市场生态高可靠性,数据在终端和传输时的加解密保护,隔离,权限应用可加载与安全小而美的物联网操作系统LINUX/ANDROIDRTOS份额70%30%主芯片ARM926/1176 16/64MB RAMA7/A9/RISC-V 256MB RAMDSP/NPU/GPUVideo/Audio CodecM4F 512KB RAMARM926/RISC-V 512KB RAMA7/A932-128MB RAMDSP/NPUAudio Codec典型应用小而美的物联网操作系统有了Linux,还需要RTOS吗?S

15、T中国基于大样本做的一个调查结果MPU/Cortex-A核上,现在使用哪种RTOS?QNXVxWorks其他RT-Thread有RTOS需求不需要裸跑小而美的物联网操作系统1RTOS 在中高端领域将大有可为!RT-Thread正在成为MPU上最受欢迎的RTOS:RTOS 相对于Linux的诸多优势RT-Thread 丰富组件优势RT-Thread 良好的软硬件生态本地团队的专业化支持服务智能家居工业AI/智慧城市车载小而美的物联网操作系统1小而美的物联网操作系统音视频框架轻型小巧,针对网络音视频优化,支持多种格式和流媒体协议微内核架构启动超快,低功耗,低资源占用;应用隔离更高安全性高端智能图形

16、化IDE图形化,易用,端云一体的IDE,为RT-Thread优化定制,功能强大集成AI平台轻型AI框架,支持异构处理器;集成本地语音识别,关键词唤醒,打断,AEC等小而美的物联网操作系统小而美的物联网操作系统内核态:基本的内核功能多任务管理、调度中断处理ops接口 DFS/SAL用户态:用户应用程序,通过系统调用陷入到内核中;启用内存隔离(用户态具备独立的地址空间-option)进程切换时,连带切换页表/内存保护区域wget/webnet用户态网络应用lwIPKit用户态网络协议栈PersimUI App.JS人机交互应用小而美的物联网操作系统uipufslwIPKitelmFATKit用户应

17、用外设驱动用户应用channel在系统中使用一个个channel通道进行消息交互部分使用共享内存空间进程与进程之间,或进程与内核之间,可以通过channel进行消息交互小而美的物联网操作系统共享内存池uipufschannel用户态服务用户应用rt_channel_send(fd,rt_channel_msg*data)rt_channel_recvvoid*sender;int type;void*buf;int length;data小而美的物联网操作系统uipelmlwIPKit用户应用外设驱动用户应用channel内核亦是用户,用户亦是内核,API环境统一!可以在编译时静态确定,使用内

18、核态组件,还是用户态服务elmFATKitufs小而美的物联网操作系统应用和内核分离实现权限分离,应用程序运行在用户态,内核程序运行在内核态,应用程序以系统调用的方式实现对内核的访问;应用管理XIP 是指可片上执行,XIP 文件系统是指可片上执行应用的文件系统。实现基于片上 Flash 的 XIP 文件系统,将云端下载的 App 保存到 XIP 文件系统中,App 具备可执行的特性,且易于安装、卸载;在微内核架构中,把内核与应用分离的技术执行得更彻底,即使是Cortex-M系列芯片也可以使用代码相互分离,资源隔离的技术,实现应用的独立运行及升级。MPU 内存保护小而美的物联网操作系统2在应用层

19、,提供完整的POSIX层,方便对Unix程序进行兼容File I/ONet I/O,并支持网络、文件描述符联合 poll/selectPOSIX ThreadsPOSIX signalsTermiosNetworkingAIOMulti-ProcessDedicated(PSE53)Multi-Purpose(PSE54)Shell and UtilitiesMultiples UsersFull File SystemWide CharactersOthersTracingController(PSE52)Message QueuesSimple File SystemMinimal(PSE

20、51)Core=计划未来支持usr/bin/busybox小而美的物联网操作系统兼容原有scons命令行环境可重用原有组件、软件包未来计划加入到IDE中开发内核;编写应用程序小而美的物联网操作系统小而美的物联网操作系统劣势软件生态软件生态Linux支持众多开源软件和流行标准功能性功能性Linux支持的功能更丰富,更强大如MMU开发生态开发生态存量应用多,应用开发者更多低成本低成本RAM和Flash只需要Linux的五分之一低功耗低功耗低资源和主频要求导致功耗大幅降低快启动快启动开机启动时间毫秒级,Linux是秒级优势小体积小体积对硬件的低要求使PCBA可以更小实时性实时性微秒级强实时响应小而美

21、的物联网操作系统RTRT-ThreadThread在在智慧智慧物流物流与仓与仓储行业中的使用案例储行业中的使用案例2019/12/24COMMACOMMATECHTECH深 圳 逗 号 互 联 科 技 有 限 公 司基于物联网的物流决策智能2015.12公司成立2016.08天使轮融资2017.10Pre-A轮融资2017.08工业可穿戴系列2018.12A轮融资进行中2018.06供应链头部企业智慧方案应用区别于大部分系统及解决方案公司,逗号科技是真正意义上的“软硬一体”决策技术公司,聚焦物流智能决策领域。针对物流企业在运作及决策层面核心痛点利用智能可穿戴硬件、模块化业务组件和决策优化算法提

22、供端到端一站式整体解决方案形成综合供应链领域智慧大脑全面赋能供应链企业实现降本增效2018.11智能路由和配载决策引擎2019.09发布标准化智慧物流产品+企业愿景 以物联网(IOT)+运筹优化(OR)技术为物流行业智慧赋能2物流市场规模巨大,2017年社会物流总费用12.1万亿,复合增长率7%。物流产业成熟度有待提高,物流总费用占GDP比重14%,与欧美,日本等国相差甚远(平均占比8%-10%)。中国物流凭借自身的野蛮勤奋,在信息化程度、行业集中度远不如欧美物流的情况下,创造了公路单位运价低于欧美国家的奇迹。物流行业整体利润率已低至5%,降本的同时亟需增效7.18.49.410.210.61

23、0.811.112.10.00%2.00%4.00%6.00%8.00%10.00%12.00%14.00%16.00%18.00%20.00%0246800017全国社会物流总费用(万亿元)社会物流总费用占GDP的比率-8.00-6.00-4.00-2.000.002.004.006.008.00024680082009200016收入利润率收入利润率增减6运输费用其他运输费用6.6万亿,占我国物流总费用54%2017年我国物流费用分布(总费用:12.1万亿)数

24、据来源:中国物流采购联合会通过数据去提升决策质量,其效果很容易衡量智能决策技术的应用可以达到20%-30%的成本优化假设客户付费意向不超过节约成本的20%计算智能运输决策的想象空间已足够大,约4000亿人民币市场规模实力头部企业在涌入物流智能决策领域(阿里 京东 G7)只解决其企业内部问题,不对行业开放且不针对物流行业通用问题决策智能实验室:致力于通过研发与运用机器学习和运筹优化技术构建智能决策系统京东Y事业部:通过供应链体系的流程再造和数据运用,优化供应链来实现新零售业态G7智慧物联网:依靠人工智能和智能装备让运输过程和驾驶行为可感知、可对话、可决策7拣选人员行走距离减少30-40%订单准时

25、履行率10-20%车厢装载率提升10-20%派车总量减少5-10%每日行驶里程降低20-30%运输成本降低25%9数据实时性流程差异性金融安防医疗仓储配送零售制造能源各行业优化决策实施基础对比数据实时性高仓库任务指派需要考虑员工当前作业情况车辆配载算法需要获取准确的货物尺寸派车计划需要考虑车辆当前实时位置作业数据与业务流程高度关联不同领域(电商、制造)仓储、配送差异巨大算法决策需要下发至业务系统进行执行流程差异性大10 HAECO飞机维修每天3000+飞机零配,20+个仓库,100+维修机位考虑订单优先级及人员安排 顺丰网点耗材全国20+省市,2万+门店,100万+车次,考虑车辆载重及车厢空间

26、 华润门店城配深圳500+门店,每天200+卡车,300+单货物,考虑时间窗口及限行如何拣选规划?如何装车规划?如何线路规划?先到先拣加急顺延一车一单极少拆拼固定路线司机抽签8“过去3年,我们接触和服务了超过100家物流供应链企业,几乎所有2B仓配企业都需要一体化+一站式解决方案。”企业赋能的最核心价值在于第三层(实现降本增效),而且随着场景和数据越丰富,决策更精准更有效。但是,目前的现状是缺少数据或者数据不准确、不完整、采集不及时。智能决策规则及算法库智能微服务(软体)组件智能可穿戴硬件核心价值标准化产品决策执行数据采集定制化方案逗号团队核心竞争力:提供算法驱动的软硬一体创新型解决方案创新型

27、解决方案设计及规划能力云仓-微改造人机协同智慧仓云配-透明实时全链智慧配云仓配-仓配一体数据智能决策制定ORIOT11腕上终端多功能1DCode1D/2D CodeRFID数据采集单据输出头戴式终端室内追踪数据交互叉车RFID产线RFID人Man远程追踪机Machine物Material12CommaTracker的外观使人惊叹物流中的明星设备-CommaTracker适货范围(低至-40度)水产品(-25度)肉类(-20度)乳奶制品(-10度)工业品(-15度)速冻食品(-20度)28CommaScanner的多种佩戴方式仓储中的明星设备-CommaScanner适货范围(出入库分拣)28Z

28、igBee网关解决室内人、机、物的调度基于BLE/ZigBee传输RFID终端设备ZigBee网关仓储调度大脑CommaGateway操作图片参考29SMT设备原材料及成品仓全国实验室物联网大型化工资产管理鞋服电商仓统仓共配全国汽配周转仓普货追踪冷链物流冷链物流预制件跨境追踪冷链物流地铁资产管理医药物流航空维修仓配电商前置仓配大件电商仓配综合物流中远仓配零售城配零售城配已完成交付商务进行中正在实施中饮料加工原材料及成品仓零售城配港口资产管理大件单元化配送30使用RT-Thread的心得体会 read the fucking source code 你不是一个人在战斗,社区活跃度高,有问必答 你

29、不需要重复造轮子(偶尔需要补补轮胎)愈加丰富的功能组件和辅助工具,开发效率显著提高 源码可读性高,增加了开发者review的可能性 社区人才济济,高手如云 未来可期,未来已来COMMACOMMATECHTECH智 慧 物 流,科 技 赋 能感 谢 聆 听RT-Thread?ROS?ROS?STM32STM32STM32?STM32AndroidMikrotik RouterX86?STM32?AndroidMikrotik RouterX86?STM32?AndroidMikrotik RouterX86?STM32?AndroidMikrotik RouterX86?How?RTOSRTOS

30、RTOSRTOS?IDE?IDE?Keil?IAR?gcc?gdb?python?scons?Kconfig?finsh?Systemview?3 XX 5X 241 X1 XOTA?BLAPPDL?MCU产品市场经理意法半导体中国微控制器事业部Source:IHS CLT Q4 2018?Revenue in Millions USD2017Rank2018RankCompany Name2017Revenue($)2018Revenue($)RevenuePercentChangeRevenuePercentof Total11Microchip Technology1,9091,9130

31、.2%20.4%32STMicroelectronics1,3811,61016.6%17.1%23Renesas Electronics Corporation1,4381,345-6.5%14.3%44Texas Instruments1,1021,1080.5%11.8%55NXP74386015.7%9.2%76Infineon Technologies30034816.0%3.7%67Cypress Semiconductor30133110.0%3.5%88Toshiba241238-1.2%2.5%99Silicon Laboratories18520611.4%2.2%1010

32、Nuvoton Technology16319117.2%2.0%Top 10 Companies 7,7638,1505.0%86.7%All Others 1,1921,2464.5%13.3%Total Semiconductor 8,9559,3964.9%100.0%2018 ranking of Chinas MCU vendors M$,including auto,ship to China2018 sales1STMicroelectronics6342NXP6303Microchip Technology4314Renesas Electronics3905Infineon

33、 Technologies2136Texas Instruments1272017 ranking of Chinas MCU vendors M$,including auto,ship to China2017 sales1NXP5802STMicroelectronics5783Microchip Technology4154Renesas Electronics3705Infineon Technologies1906Texas Instruments1208STM32Trust22合作伙伴认证计划等级合作伙伴认证计划等级注册级注册级 认证级认证级精英级精英级合作伙伴认证标准合作伙伴认

34、证标准前一年获得认证级合作伙伴KPI(先决条件)-在STM32客户满意度调查中获得高分-STM32作为唯一的MCU供应商-至少3 x STM32 DWIN/年-具有国际业务的合作伙伴(最小需要区域业务)-STM32生态系统的积极贡献者(至少满足以下标准之一)完成I-CUBE软件扩展包或/和STM32CubeMX插件商用演示评估板开发量产编程器等-STM32作为主要的MCU供应商/合作伙伴-参与大众市场技术培训(最低KPI:每年参加一次活动)-STM32 DWIN/年(最低KPI:1 DWIN/年)-成功完成STM32软硬件及生态系统相关的技术评估认证-有使用STM32软硬件或生态系统进行开发的

35、实际项目案例-可提供符合STM32市场战略和行业优先级*的的商业化解决方案-STSTM32 Nucleo开发板正点原子正点原子STM32系列开发板及例程、教程野火野火STM32全系列开发板及例程、教程RTT Powered IoT Board基于微控制器 STM32L475,板载WiFi模块、电机、多款常用传感器(如温湿度传感器、六轴传感器、光传感器等)、1.3寸 TFT显示屏,集成STLink集成关键组件如低功耗、安全、MQTT、OTA、云平台接入等,支持多云平台接入包括OneNET、阿里云、微软Azure等配套书籍、丰富的开发例程和文档,帮助开发者迅速掌握物联网产品开发关键技术和技能大学计

36、划线下活动ST峰会、RoadshowCube/RTT软件包基础方案大学生竞赛教材、开课极简使用方式CMSIS RTOS接口集成Device Driver框架OTA+RDB低功耗定制AT类模块4G/NB/Lora联合教师培训RTT培训、沙龙等30STM32释放您的创造力基于RT-Thread的绘本故事机实例介绍使用BK7252平台Better Life with WirelessBetter Life with Wireless美好生活尽在无线美好生活尽在无线博通集成电路(上海)股份有限公司博通集成电路(上海)股份有限公司Tuesday,December 3,2019主要内容21产品展示2BK7

37、2xx 音、视频芯片介绍3为什么选择RT_Thread操作系统4经验分享CONTENTSBeken Confidential产品展示3扫码配网扫码配网接入互联网接入互联网点播音乐或故事点播音乐或故事读绘本读绘本使用步骤:使用步骤:Beken Confidential路由器JPEG压缩http postCloudspeex/amr/opus语音压缩机器人的回答URL音频URL故事/音乐音频流播放器http getBK7252产品展示Beken Confidential4工作流程图为什么选择RT-Thread操作系统Beken Confidential51内核“小”而“美”2组件丰富,功能强大3设

38、备模型结构清晰、完整,方便移植和使用CONTENTS为什么选择RT-Thread操作系统Beken Confidential6 内核“小”而“美”内核“小”而“美”仅占仅占3KB ROM/1.2KB RAM线程及其调度、线程及其调度、信号量、信号量、消息队列和邮箱、消息队列和邮箱、内存管理、内存管理、定时器、定时器、设备管理设备管理 代码代码精炼精炼、结构清晰、结构清晰、通俗易懂通俗易懂为什么选择RT-Thread操作系统Beken Confidential7代码就是注释代码就是注释为什么选择RT-Thread操作系统Beken Confidential8 设备模型结构清晰、完整,方便移植和使

39、用设备模型结构清晰、完整,方便移植和使用用到的主要设备用到的主要设备:WLAN设备;设备;摄像头;摄像头;Audio设备;设备;SD卡;卡;Flash、等。、等。硬件硬件设备驱动层设备驱动层:uartuart/audioaudio/vediovedio/wifiwifi/sdiosdio/usbusb/gpiogpio/spispi/i i2 2c c设备驱动框架层设备驱动框架层I I/O O设备管理层设备管理层:字符设备类型字符设备类型SPISPI类型类型I I2 2C C设备类型设备类型PINPIN设备类型设备类型SDIOSDIO设备类型设备类型其他类型其他类型应用程序应用程序串口驱动框架

40、串口驱动框架SPISPI设备驱动框架设备驱动框架I I2 2C C设备驱动框架设备驱动框架PINPIN设备驱动框架设备驱动框架SDIOSDIO设备设备其他类型其他类型提供统一的I/O接口,降低了代码的耦合性、复杂性。屏蔽不同硬件设备设计差异只需实现或更新驱动层,不需改动上层调用。对同类硬件设备驱动的抽象为什么选择RT-Thread操作系统Beken Confidential9使用串口的步骤使用串口的步骤:创建并注册设备;创建并注册设备;查找设备;查找设备;打开设备;打开设备;读、写、设置读、写、设置/控制设备;控制设备;关闭设备;关闭设备;应用程序应用程序应用程序应用程序I I/O O设备管理

41、层设备管理层I I/O O设备管理层设备管理层查找设备查找设备 rtrt_ _devicedevice_ _findfind()()打开设备打开设备 rtrt_ _devicedevice_ _openopen()()读设备读设备 rtrt_ _devicedevice_ _readread()()写设备写设备 rtrt_ _devicedevice_ _writewrite()()设置设备设置设备 rtrt_ _devicedevice_ _controlcontrol()()关闭设备关闭设备 rtrt_ _devicedevice_ _closeclose()()设备驱动架构层设备驱动架构

42、层设备驱动架构层设备驱动架构层注册设备注册设备 rtrt_ _devicedevice_ _registerregister()()rtrt_ _serialserial_ _openopen()()rtrt_ _serialserial_ _readread()()rtrt_ _serialserial_ _writewrite()()rtrt_ _serialserial_ _controlcontrol()()rtrt_ _serialserial_ _c closelose()()设备驱动层设备驱动层设备驱动层设备驱动层r rt t_ _hwhw_ _uartuart_ _initin

43、it()创建串口创建串口设备设备uartuart_ _configureconfigure()()uartuart_ _gegetctc()()uartuart_ _puputctc()()uartuart_ _configureconfigure()()uartuart_ _configureconfigure()()为什么选择RT-Thread操作系统Beken Confidential10HardwareHardware:WiFiWiFi/AudioAudio/SDIOSDIO/USBUSB/VideoVideoRTRT_ _ThreadThread内核内核网络框架网络框架DFSDFS虚

44、拟文件系统虚拟文件系统WiWi-Fi Fi ManagerManagerFnishFnish控制台控制台设备框架设备框架RTRT_ _Thread APIThread API低功耗管理低功耗管理HTTPHTTP异常处理异常处理/日志日志用户用户APPAPPRTOSRTOS软件包软件包所用所用RTOSRTOS组件组件RTOSRTOS内核内核CPUCPU硬件层硬件层 组件丰富,功能强大组件丰富,功能强大用到的主要组件:用到的主要组件:配网,配网,支持airkiss和声波配网;FinSH命令行,命令行,函数后加MSH_CMD_EXPORT宏,就可以添加用户指令,方便调试。异常处理,异常处理,能及时报

45、告各类异常,并提供详细的上下文信息,方便定位。音频压缩,音频压缩,支持speex、amr、opus等常用的格式;OTA升级升级,采用压缩的方式,下载快、空间小,节约flash空间,采用加密方式,保护用户的程序安全。Player,支持播放本地和网络的音源,支持mp3、m4a、ogg、speex、amr、opus等解码;DFS,为应用提供标准的文件I/O操作,可以访问的SD卡、Flash、网络等各种资源,为什么选择RT-Thread操作系统11支持播放列表、提示音打断等。仅再提供URL,就可以播放本地和网络上的音源支持多种mp3、m4a、ogg、speex、amr、opus等解码。为什么选择RT-

46、Thread操作系统Beken Confidential12POSIX POSIX 接口层接口层:应用程序应用程序ELM FATFS ELM FATFS 文件系统文件系统FATFAT12 1612 16/3232RomFSRomFS文件文件系统系统YaffsYaffs2 2 UffsUffs2 2文文件系统件系统DevFsDevFs文件系统文件系统DFSDFS网络网络功能功能SD CardSD CardSPI SPI FLASHFLASHNAD FlashNAD Flash.网卡网卡块设备块设备FTLFTL层层设备设备.虚拟文件系统层DFS层次框架图提供POSIX(可移植操作系统接口)接口层,

47、方便应用程序的移植。支持多种虚拟文件系统:FatFS、RomFS、DevFS等。硬件抽象层:将底层设备如sd卡、spi flash抽象成符合文件系统能够访问的设备。BK72xx 音、视频芯片介绍Beken Confidential13CONTENTSBK7252故事机,点读笔,网络摄像头,儿童相机等BK7271针对智能音箱市场ARM9ARM9 RAMShare memoryWatch dogHardware AcceleratorXTALUART/I2CFLASHControllerI-CachePCM/I2SSD-CardUSB-OTG6 PWMVideoIrDADecoderBT Coex

48、istenceSPIPSRAMUART2/I2C1ADCROSCAudio DACAudioADC802.11b/g/n PHY/MACPower and ChangerRSA/SHA/AES6 timereFuseFFT/FilterJTAGSerialFlashMicrophoneStereoOutputLine InputStereo2.4GHz2.8 4.3 V3.3 5.8 VUSB PowerSupplyBluetooth HCIFM ControlDigitalAudioSDIOHigh Speed USB6 channelImage process Bluetooth Co-e

49、xistenceBK72xx 音、视频芯片介绍Beken Confidential14BK7252主要配置(主要配置(1):MCU,采用ARM9,32位,主频180M,支持JTAG在线调试。RAM&ROM,拥有512KB的RAM,内置flash,大小无限制,目前已封装最大为8MB;802.11b/g/n,支持STA、AP和Direct模式,并STA+AP能共存;BLE,支持BLE4.2协议,能与WIFI同时工作;Video,支持8bits通用DVP接口,兼容多种CMOS摄像头,拥有JPEG硬件编码器,最大支持800*600分辨率;Audio,PCM-16bits,支持多种采样率,DAC支持双声

50、道立体声输出,ADC支持MIC和line_in方式输入;BK7252框架ARM9ARM9 RAMShare memoryWatch dogHardware AcceleratorXTALUART/I2CFLASHControllerI-CachePCM/I2SSD-CardUSB-OTG6 PWMVideoIrDADecoderBT CoexistenceSPIPSRAMUART2/I2C1ADCROSCAudio DACAudioADC802.11b/g/n PHY/MACPower and ChangerRSA/SHA/AES6 timereFuseFFT/FilterJTAGSerial

51、FlashMicrophoneStereoOutputLine InputStereo2.4GHz2.8 4.3 V3.3 5.8 VUSB PowerSupplyBluetooth HCIFM ControlDigitalAudioSDIOHigh Speed USB6 channelImage process Bluetooth Co-existenceBK72xx 音、视频芯片介绍Beken Confidential15BK7252主要配置(主要配置(2):Security,支持AES、SHA、RSA硬件加密器,TRNG发生器、内置32字节的efuse,可用于提供唯一序列号、代码加密、保

52、护调试接口等安全措施;SDIO、SPI从模式,从模式,支持高达50M主时针;2个个uart,6个硬计时器,个硬计时器,6个个PWM,2个个I2C,2个个I2S,扩展音频接口;全速全速USB2.0,通用通用SPI,7通道通道ADC采样,采样,6路通用路通用DMA,看门狗复位,看门狗复位,内部充电、等。内部充电、等。BK7252框架BK72xx 音、视频芯片介绍Beken Confidential16BK7271主要变化:主要变化:蓝牙,蓝牙,传统蓝牙和BLE5.0,并由专用处理器管理;DSP,进行语音、图像算法,如语音唤醒功能,H.264压缩等;内存内存,增加到2.3MB;天线开关天线开关,管理

53、Wifi、蓝牙协同使用RF;2个个USB,12个个PWM,3个个HDMI,更丰富的音视频接口;3个个I2S,3个个SPI,4个个MIC,可做MIC阵列,可降噪、消回声、提高增益等;3个个UART,40个个GPIOBK7271框架天线天线开关开关双模蓝牙双模蓝牙150 Mbps802.11n Wi-Fi蓝牙处理器蓝牙处理器Wi-Fi处理器处理器蓝牙蓝牙Wi-Fi共存接口共存接口人工智能语音处理器人工智能语音处理器时钟时钟2 USB电源电源管理管理12 PWMs锁相环锁相环2 I2Cs3 I2S 温度传温度传感器感器SDIO40 GPIOs低功耗定时器低功耗定时器3 SPI3 UARTs3 SPD

54、IFHDMIFLASH控制器控制器共享内存共享内存QSPI安全引擎安全引擎DMALine InLine In模拟模拟/数字数字MICMIC接口接口音频输出音频输出MIC2MIC1L LR R模拟模拟/数字数字MICMIC接口接口MIC4MIC3SDSD卡卡U U盘盘按键和指示灯按键和指示灯数码显示数码显示USBUSB充电充电锂电池锂电池2626MHzMHz晶振晶振ADC32 32 kHz kHz 晶振晶振信号处理信号处理加速器加速器PSRAMSPI FLASH光纤光纤/同轴同轴/HDMIHDMI红外解码红外解码计数器计数器FM视频接口视频接口CAMERA经验分享Beken Confidenti

55、al171删除信号量后的问题23CONTENTSaddr2line追踪函数调用关系tcp keepalive的好处经验分享Beken Confidential18 删除信号量后的问题删除信号量后的问题A A进程进程等待等待信号量信号量S S无限期无限期挂起挂起S无触发B B进程进程删除了删除了信号量信号量S SFreertos会导致A进程再也唤不醒了。RT-thread能完美解决。经验分享Beken Confidential19 addr2line追踪函数调用关系追踪函数调用关系GNU工具集之一,将指令的地址和可执行映像,转换成文件名、函数名和源代码行数。使用的步骤:1.生成可执行映像(有de

56、bug信息),并将addr2line.exe放在同一个文件夹。2.在调试的点调用rt_hw_stack_print,得到输出信息:如右图所示。3.在1步骤的文件夹下,CMD执行2步骤得的命令,即可得到栈的调用关系。经验分享Beken Confidential20经验分享Beken Confidential21 tcp keepalive的好处的好处造成的问题:1.若网络断开,如与wifi相连的路由器断电了,不能及时发现这个断线。2.若断线了,tcp还在继续发送,这把tcp的发送窗口占满。3.Tcp执行close后,不会马上释放发送窗口里的内存,而是会持续一段时间才释放。(由TCP_MAXRTX

57、 决定)经验分享Beken Confidential22 tcp keepalive的好处的好处好处:1.若网络断开,能及时发现断线。2.若发现断线了,会立即释放所有资源。Thank YouBeken Confidential23谢谢!谢谢!基于基于RTRT-ThreadThread的仓库货位灯光指的仓库货位灯光指示系统示系统RT-Thread 带来的方便-分工与协作主题内容:主题内容:1.简介2.系统方案3.RT-Thread开发带来的好处电子元器件的物料仓库:主题引入-简介:简介:通常设计好一个PCB,准备装配的时候,需要到仓库按照BOM领取物料,传统的方式是仓库领料员将BOM打印出来,按

58、照仓库存放的规则去寻找物料,将物料一一领出来;而随着集成电路的发展,电路越来越复杂,BOM的物料越来越多,这样的领料方式弊端就出来了,慢、很慢、慢的让人受不了。于是我们采用rt-thread操作系统设计一个仓库货位的灯光指示系统,采用STM32F407+WS2811(彩灯控制器)+以太网+WIFI+RS485来完成。这种方式下,假如你要领一个BOM的物料,直接在仓库管理系统提交BOM,领料员收到订单后,通过http协议将BOM清单编号发给硬件,让对应BOM物料的货位的指示灯显示指定的颜色(比如亮红灯),然后这批物料的仓库上的LED灯会亮红灯,于是领料员不用看,直接把所有亮红色等的物料拿走,领料

59、完毕。这大大提高的领料的效率。这是一个领料的过程,物料存储的过程是通过PDA完成,也是同样的流程。用PDA扫描待存储物料的条码,然后记录位置,PDA会将这些信息传输到后台数据库。仓库货位灯光指示系统现场示例:系统方案系统方案硬件板卡WS2811控制彩灯电脑仓库管理软件SPIHTTP协议PDA(安卓APP)HTTP协议控制大功率LED报警器DOUT系统方案系统方案STM32F407WS2811控制RS485WIFI(RW007)以太网shellDINSPI串口SPIRMII串口GPIODOUTGPIOSPI Flash串口SPI系统方案系统方案本方案产品分为主机和从机两种。主机和从机主要是相对于

60、RS485来说的。主机的RS485接口工作在主机模式,通过主机通过WIFI或者以太网接入系统局域网。DIN接口是输入接口,它是一种干节点输入,用于采集一些开关信号,如果判断某个开关是否打开等。它采用光耦隔离输入,增加对CPU的保护,避免静电对CPU的损害。DOUT接口是光耦隔离的固态继电器接口,用于控制一些大功率的LED指示灯。如货架顶部的LED指示灯,通知本货架有物料要取。WS2811接口,是彩灯控制接口,直接接三基色的LED灯,通过单总线串行连接的方式一台机器最多可以级联控制2000个LED指示灯,即控制2000个物料位的指示。每个灯可以通过RGB显示真彩色。SPI Flash运行litt

61、lefs文件系统,用于存储配置参数,静态网页等内容。Shell接口,留出的是TTL串口,主要用于开发调试。为了安全起见,出厂时,该接口针对每个设备配置了一个密码,避免现场用户权限太高,乱配置设备造成设备的损坏。标准框架的标准框架的 UART UART 驱动驱动 标准框架的串口驱动用于shell,目前使用msh,这给调试带来了很大的方便。自定义自定义UART UART 驱动,遵守驱动,遵守rt_devicert_device标准标准 自定义UART驱动,遵守rt_device标准,但是未遵守rt_serial框架,主要用于RS485通信。这种串口驱动效率取决了驱动开发者水平。我们开发的这种串口驱

62、动通信效率高,全部采用DMA方式通信。驱动层只有很小的buffer,通常将接受数据直接放入应用缓冲区。符合框架的以太网驱动符合框架的以太网驱动 以太网驱动符合标准的rt-thread的以太网框架,可以使能sal socket接口。符合符合WLANWLAN框架的框架的WIFIWIFI模块模块RW007RW007驱动驱动 RW007是RT-Thread公司研发的SPI接口的WIFI模块,官方已经提供了与具体硬件无关的RW007驱动。通过WLAN框架,它可以无缝接入lwip协议栈 关于为什么使用SPI接口的WIFI模块,而不使用性价比更高的ESP8266的模块那?RW007是真的网卡,ESP8266

63、的模块只是通过at socket虚拟的网卡。本产品既用到以太网、也用到WIFI,两者可以同时工作,而网络应用可不想写2套。RW007通过WLAN框架注册为lwip的网卡、以太网也通过以太网框架注册为lwip的网卡,两者可以通过路由表来选择使用哪张网卡收发数据,应用程序不需要关心。lwip也支持桥接网卡的功能,如果需要,可以像路由器一样将有线以太网和wif桥接为一张网卡。巧妙的巧妙的WS2811WS2811控制驱动控制驱动先看看WS2811单总线传输的协议巧妙的巧妙的WS2811WS2811控制驱动控制驱动 看过WS2811的单线协议控制时序。如果用GPIO直接控制,则单台设备要控制2000个灯

64、,则需要很长的时间,占用cpu极高,严重影响系统实时性。为了应用方便。我们采用类似于GUI的framebuffer一样的驱动方式。首先,建立显存,这里显存就是LED指示灯的显示缓冲区,每一个LED用3个字节的RGB来表示。然后,建立一个发送缓冲区,采用SPI+DMA的方式驱动,更新时序,配置好合适的SPI时钟,单线协议只需用到SPI的MOSI线发送数据即可。每4个bit模拟为显存的一个bit。这样发送缓冲区大小其实是显存容量的4倍。最后,实现一些操作显存的函数为应用程序提供接口。当需要点亮指定的LED灯为指定颜色时,只需要调用接口操作显存,操作完成后,触发一次刷新发送缓冲区。由于发送缓冲区采用

65、SPI+DMA的方式驱动,完全不占用CPU,大大提供了CPU的效率和系统实时性。DINDIN、DOUTDOUT驱动驱动 DIN和DOUT类似于PLC的输入输出接口。DIN驱动采用硬件定时器的方式采集,采集后放入缓冲区,应用程序通过直接读缓冲区来获取输入IO的状态。DOUT是固态继电器接口,通过GPIO直接控制。核心的核心的webnetwebnet组件组件 WebNet 软件包是 RT-Thread 自主研发的,基于 HTTP 协议的 Web 服务器实现,它不仅提供设备与 HTTP Client 通讯的基本功能,而且支持多种模块功能扩展,且资源占用少、可裁剪性强,充分满足开发者对嵌入式设备服务器

66、的功能需求。WebNet 软件包功能特点如下:支持 HTTP 1.0/1.1 支持 AUTH 基本认证功能 支持 CGI 功能 支持 ASP 变量替换功能 支持 SSI 文件嵌入功能 支持 INDEX 目录文件显示功能 支持 ALIAS 别名访问功能 支持文件上传功能 支持预压缩功能 支持缓存功能 支持断点续传功能核心的核心的webnetwebnet组件组件 仓库货位灯光指示系统硬件主机设备主要工作在http server模式。电脑或者PDA通过浏览器访问。访问主要分为两种:1、访问标准的页面或CGI,实现设备的配置和维护,通过网页还可以实现固件更新的功能。2、通过JSON格式发送控制命令,指

67、示采用什么颜色点亮指定货位的LED指示灯。如果是自己直接控制的LED灯,则直接点亮;如果是从机设备的,则将完整的JSON格式数据通过RS485转发。从机设备的以太网和WIFI都不工作,主要是RS485工作在从机模式。必要的必要的cJSONcJSON组件组件 cJSON是rt-thread包里支持的组件。cJSON是一种简易的基本文本的数据格式,通常通过Key-Value的形式来表示一组数据,在IOT的传感器数据传输及设备控制中应用非常广泛。对于互联网软件开发者,对JSON字符串是相当熟悉的。电脑或PDA与货位指示硬件之间的通信主要是通过HTTP协议传输JSON字符串来完成的。必要的必要的web

68、client组件组件 WebClient 软件包是 RT-Thread 自主研发的,基于 HTTP 协议的客户端的实现,它提供设备与 HTTP Server 的通讯的基本功能。WebClient 软件包功能特点如下:1、支持 IPV4/IPV6 地址;2、支持 GET/POST 请求方法;3、支持文件的上传和下载功能;4、支持 HTTPS 加密传输;5、完善的头部数据添加和处理方式。本产品中Webclient主要用于和电脑的Server通信,下载一些静态页面或文件到硬件中。littlefslittlefs组件和组件和minIniminIni组件组件 硬件集成 2M的SPI Flash W25Q

69、16,内部运行littlefs文件系统,rt-thread源码已经原生支持该flash的mtd驱动。littlefs文件系统也是rt-thread支持的一个组件,通过env可以添加到应用工程中。它的一个安全、带掉电保护、擦写均衡的nor flash文件系统。本产品使用littlefs主要用于存储配置参数、静态页面等信息。minIni组件是一个操作ini格式文件的组件,主要用于参数存储。典型的windows注册表就是ini文件格式。本产品的参数存储就是采用ini文件,key-value格式来进行存储的。方便调试的方便调试的 shellshell RT-Thread提供了两个shell,finsh

70、和msh 都可以通过如FINSH_FUNCTION_EXPORT这样的单个宏,将自己写的函数导出到shell里,然后通过shell可以调用这个函数 我们目前使用的是msh 因为rt-thread下,只要能进入msh,都是具有最高权限的,可以删除文件,可以配置设备。因此,为了避免乱配置设备的损坏。需要使能FINSH_USING_AUTH配置。进入msh控制需要输入密码,出厂每个设备唯一一个密码。方便调试的方便调试的 shellshell 开发过程通过shell命令下载文件到设备的文件系统 在开发初期各种参数还没有确定,需要更改参数然后运行查看效果,通过shell更改参数非常方便 通过shell查

71、看网络工作状态、连接状态都是非常方便。其它经常遇到各种故障都需要shell来查看RTRT-ThreadThread开发带来的好处开发带来的好处RTOS的多线程支持,可以大大简化应用的逻辑、模块化设计。Shell接口,为调试设备、配置设备都提供了很大的方便。完整的TCP/IP协议栈实现,需要一个RTOS。RT-Thread完整支持了lwip协议栈,提供标准BSD的socket接口来实现网络应用。文件系统访问需要一个标准接口,RT-Thread将所有文件系统的api映射为posix api,为不同文件系统的操作提供了很大的方便。总线类驱动,如SPI、I2C、SDIO这些,RT-Thread的框架完

72、成了很多工作,这对于经常更换CPU及外围的设备是非常有用的。如W25Q16的mtd驱动,就是和硬件无关的,随便换什么cpu都是一样的。一般的RTOS,如freeRTOS、ucos-III则缺少这些框架。RTRT-ThreadThread开发带来的好处开发带来的好处讲了这么多,其实这个产品根本不是我做的。我只是完成了BSP的开发和适配。那么这个产品是谁做的哪?这个产品是一个C#程序员来完成的。他本来只会开发C#的应用软件,熟悉js和web开发。RT-Thread提供的标准设备驱动框架接口,给了我们抽象硬件的空间。我们BSP提供了完整的设备驱动遵守rt-device定义的接口标准。同时,硬件寄存器

73、访问、中断等相关概念都埋藏到了bsp内部,C#开发者可不了解这些概念。也许有读者说,arduino也提供了一层硬件抽象,它岂不是也很好。没错,anduino是提供了一层硬件抽象,但是设备概念没有,中断的概念也没隐藏。应用开发者还是需要了解一些硬件知识才能开发arduino的应用的。RT-Thread操作系统,小而美,通常我们称它为可以运行到MCU上的Linux。RTRT-ThreadThread开发带来的好处开发带来的好处我认为RT-Thread开发带来最大的好处就是分工和协作。写BSP的人可以只开发BSP,写应用的只写应用。在项目紧急的情况下,BSP可以通过购买方式得到,大大加快了项目或产品

74、的开发进度。标准的文件系统接口和BSD socket网络通信接口,保证了我们可以很方便地移植第三方开源软件。如:很多Linux下的成熟应用软件。丰富的组件,减少了我们项目开发前需要进行大量的预研工作。小年轻!小年轻!要学好要学好RTRT-ThreadThread得多练!得多练!-沃兹基沃兹基EXTERNAL USEDEC.2019恩智浦携手RT-THREAD助力开源软件发展EXTERNAL USE1恩智浦携手RT-Thread助力开源软件发展为什么选择和RT-Thread合作代码简洁 看得懂中文文档 接地气快速易上手国内独立的第三方开源免费RTOS基于Apache 2.0 超友好组件丰富,多是

75、痛点组件长达至少13年的合作关系NXP+Freescale 均是技术控终端客户嵌入式工程师选择RT-ThreadEXTERNAL USE2RT-Thread支持NXP全平台VEGA主打开源教学平台Cortex-M3340nmCortex-M740nmCortex-M0/M0+i.MX 6ULLCortex-A7Cortex-M3&M4FARM7EXTERNAL USE3NXP MCU在RT-Thread下的新框架EXTERNAL USE4NXP BSP新框架带来的好处-1完全兼容NXP官方的SDK新产品的BSP快速支持RT-ThreadNXP官方的引脚和时钟配置工具依旧可用EXTERNAL U

76、SE5NXP BSP新框架带来的好处-2通过支持RT-Thread带来了丰富的组件库轻松上手不挠头通过支持RT-Thread带来了快捷的配置界面Env,Kconfig 对于从Linux转过来的开发者十分友好EXTERNAL USE6NXP BSP新框架带来的好处-3快速建立起生态EXTERNAL USE7项目分享EXTERNAL USE8USB扩展串口-基于LPC54018和RT-ThreadRT-Thread简单易用快速上手完整的基于LPC540 xx的BSP包USB协议栈NXP DN系列产品线在以下行业的优势地位GPON基站网关NXP LPC540 xx特色优势低成本高主频高速USB11个

77、Flexcomm,支持串口模式开源仓库:https:/ HSNOTE:Need linux driverto convert USB device to multiple TTYLPC54018+RT-ThreadUART0UART1UART2UART3UART4UART5UART6UART7UART8UART9RESETSPI FLASHEXTERNAL USE9新框架新技术带来更安全的设计ARM PSA实例NXP,ARM和RT-Thread合作推动PSA认证体系使RT-Thread快速支持ARM最新的内核ARM-v8m&TrustZone集成更新更安全的IP保护芯片不被克隆EXTERNAL

78、 USE10OpenMV-RT多任务改造 基于RT1020和RT-Thread 应 真实的客戶要求RT-Thread新的BSP架构利用RT1050的BSP快速移植到RT1020基于RT-Thread快速支持MicroPythonRT10 xx强大的性价比500MHz主频的M7(原版216MHz)EXTERNAL USE11恩智浦杯 全国大学生智能车大赛 基于RT10 xx/LPC和RT-Thread NXP支持的国家性竞赛源自飞思卡尔 智能车2019年参与了30,000+名学生野火亲情支持模块支持RT-Thread的BSP上海睿赛德电子科技有限公司01小而美的物联网操作系统IoT OS降低产品

79、开发周期提升终端软件质量加快端云互联对接方便应用服务部署小而美的物联网操作系统带丰富中间件的IoT OS最终将成为IoT终端的首选和主流FreeRTOS 这种纯内核OS将逐渐淡出市场一致的OS平台成为大型企业的普遍诉求软件复用、提升开发效率、应用的部署、设备间互联互通等低资源占用、安全、多媒体、AI是OS的重点技术方向专业的IoT OS提供商将肩负以上技术使命IoT OS的收敛将使得脚本开发、小程序的加载等成为可能IoT OS有望为物联网带来全新的运营服务和赢利模式02小而美的物联网操作系统云管端腾讯云Wi-FiBT/BLENB-IoT2G/3G/4GLoRaSALAT指令OTA升级Senso

80、r框架http/mqtt/coap文件系统日志系统异常管理脚本引擎低功耗管理安全小而美的物联网操作系统云接入:更多对云的支持,开箱即可接入到云中!腾讯云可接入所有主流云平台提供 深度优化 的各云平台 SDK支持不同接入方式开箱即用资源占用低连接可靠性高定制化 SDK云平台 SDK 模块化功能可配置高度可裁剪支持 同时接入多个云AT 指令模组WiFi SOCNB-IoT2G/3G/4G小而美的物联网操作系统BLENRF52832NRF52840BK7231UBK7251NB-IoTMT2625BC26M5330Wi-FiM5311PPP/RNDISEC20Air720SIM800SIM7600S

81、PIRW007W5500ENC28J60AT指令RW032ESP8266SIM800M26EC20RT-ThreadAPPSoC模式1RT-ThreadAPPMCU模组模式2小而美的物联网操作系统WiFI模块(A)WiFI模块(B)NB-IoT 模块以太网芯片APP(1)APP(2)APP(3)AT解析(1)AT解析(2)网络驱动RTOS外设驱动(1)外设驱动(2)外设驱动(n)MCU(1)MCU(2)MCU(n)当前的软件开发模式APP(1)APP(2)MCU(1)MCU(2)MCU(n)APPSAL(Socket Abstraction LayerRT-Thread kernelBSP+D

82、riverWiFI模块(A)WiFI模块(B)NB-IoT 模块以太网芯片UART/SPI具备SAL的软件开发模式抽象、统一多种网络协议栈 接口提供标准 BSDSocket API统一 fd(file descriptor)管理方式SAL 真正实现了系统(MCU+无线芯片/模块)层面的跨平台软件开发(ACS)基于RT-Thread 的MCU控制器可以无缝接入各式各样的网络芯片或模块,上层应用无须改动RT-Thread支持的IoT软件包也可以“即装即用”应用层BSD 网络接口SAL 套接字抽象层netdev 网卡层AT SocketlwIPwiznet小而美的物联网操作系统AT通道:串口/SPI

83、AT组件(服务器)RT-Thread内核AT命令解析器AT模块(2)MCU2灵活的响应数据解析方式完备的URC 数据的处理机制简化 AT 命令的收发流程提供标准的网络编程接口移远的 M26/EC20 4G/2G 模块乐鑫的 ESP8266/ESP32 WiFi 模块SIM800/SIM7600More to come已对接常用的 AT 模块AT通道:串口/SPIAT服务器RT-Thread内核AT组件(客户端)APPSAL组件AT模块(1)MCU1AT命令请求响应数据URC数据小而美的物联网操作系统 RT-Thread 特色组件:FOTA支持整包/差分升级,不易出错、可靠性高;OTA固件与每一

84、设备ID唯一绑定,防范固件被非法拷贝;安全固件还原机制,保证系统不会变砖;最新的安全加密算法、签名和校验、多重加密,保护每一次升级不会被恶意篡改;支持断点传续、断电保护、智能还原、可回溯的安全机制,保证升级过程安全稳定。固件解压固件加解密RT-Thread OTA 组件OTA 云接入定制化 logoIoT 终端设备固件升级RT-Thread设备维护云公有云平台艾拉比/阿里/京东在线定制BootloaderOTA 数据交互固件安全保障RT-Thread 内核小而美的物联网操作系统低功耗管理(PM)组件AB上层应用不需要关心底层功耗情况,系统自动进入休眠,达到最大省电的目的C系统空闲时休眠省电(支

85、持睡眠模式,定时唤醒模式,停止模式)系统激活工作时,根据程序设定值或基于芯片性能动态调节运行时频率支持可选的休眠时间补偿,让依赖 OS Tick 的应用可以透明使用小而美的物联网操作系统RT-Thread 安全特性所有通信均可支持加密传输例如:https、mqtt(tls)、CoAP(dtls)线程堆栈隔离,互不影响自动检测堆栈溢出提供安全的 Bootloader集成高可靠的 OTA 组件提供 TinyCrypt 嵌入式加解密库支持 AES、base64、SHA、MD5 等云端连接线程保护安全启动数据存储03小而美的物联网操作系统Securitymbedtls,TinyCryptIoTnetu

86、tils,paho mqtt,CoAP,web client,cJson,ezXML,WiFi/WICED,WiFi/MarvellGUI Engine,Persimmon UI,cairo,pixma,lwext4,fal,SQLite,RTI,littlevgl,YAFFS2SystemOthersopenmv,mupdf,libcsv,optparse,quicklz,sample,fastlz,miniLZO,zlibIoT/Cloud SDKOneNet,Gagent,Ali-iotkit,Azure IoT SDK软件包生态经过两年的积累,已经形成多达150+的各类软件包成为厂商,

87、开发者模块化开发、设计的最佳选择;为开发者的产品开发提供了强劲动力;小而美的物联网操作系统积木式开发IoT 应用积木式开发StudioIDE 工具组件及中间件RT-Thread OSIoT 软件包(积木)得益于 RT-Thread 众多的软件包平台,目前所有相关的 IoT 技术均有与之对应的软件包软件包平台与 RT-Thread Sudio IDE 做了深入的融合,真正实现开箱即用的 IoT 积木式开发过程04小而美的物联网操作系统固件整体方式开发,相互之间出问题,容易纠结是哪里的问题;底层相关的,一般都是采用C/C+编写:开发人员难招;出问题难查,如履薄冰程序不可避免出BUG,当要升级时,整

88、体固件一起升级,数据量大,Flash空间要求大不同产品(型号)不同的固件,固件的维护性是大问题;牵一而动全身程序更新,FOTA固件可维护性、稳定性团队开发易用性物联网终端小而美的物联网操作系统SAL/网络多媒体柿饼UIhttpMQTT音频/视频websocketCoAP80KBFlash占用低至支持多样化的应用脚本语言:人机交互:JavaScript物联网应用:MicroPython4KBSRAM 占用低至小而美的物联网操作系统最好用的 MicroPython 开发环境基于 VSCode多种开发板连接方式(串口、网络、USB)支持各种 MPY 开发板代码自动补全,代码检查丰富的 demo,示例

89、及库极速下载、调试,支持运行代码片段小而美的物联网操作系统上海睿赛德电子科技有限公司小而美的物联网操作系统Nano 平滑过渡到完整版提升 Nano 重要性Nano 极简化RT-Thread完整版痛点下载难移植门槛高学习成本高SCons/Python/Kconfig/Env/设备小而美的物联网操作系统ARMADBDAirKiss.POSIX API|C+API|RT-Thread API网络框架异常处理/日志键值数据库Wi-Fi ManagerUSB stackDFS设备框架低功耗管理FinSH控制台安全框架libcpu/BSPC-SKYMIPSXtensaRISC-V软件包软件包组件与服务组件

90、与服务硬实时内核硬实时内核WebSocket压缩/解压库数据库TLS/DTLS脚本引擎AImDNS/uPnP第三方 云接入SDKRTI/SystemView柿饼UICloud SDK/FOTA同步与通信同步与通信IoT IoT 连接组件连接组件音频框架LwipATETHWIFISALBLENBLoRa2G/4G.MQTTHTTP C/SLWM2M/CoAPGUI引擎CPU CPU 架构架构ARC信号量信号量互斥量互斥量事件集事件集消息队列消息队列邮箱邮箱信号信号线程管理线程管理时钟管理时钟管理内存管理内存管理中断管理中断管理硬实时内核硬实时内核信号量信号量同步与通信同步与通信互斥量互斥量事件集

91、事件集消息队列消息队列邮箱邮箱线程管理线程管理时钟管理时钟管理内存管理内存管理中断管理中断管理CPU CPU 架构架构ARMARMRISCRISC-V VShell Shell 组件组件可移植组件可移植组件.小而美的物联网操作系统下载简单代码简单移植简单配置简单使用简单极致简单极致小巧Nano 3.1.3代码体积小RAM 约1KROM 约3K小而美的物联网操作系统小而美的物联网操作系统rtthread_startup()rt_hw_interrupt_disable()rt_hw_board_init()rt_show_version()rt_system_timer_init()rt_sys

92、tem_scheduler_init()rt_application_init()rt_system_timer_thread_init()rt_thread_idle_init()rt_system_scheduler_start()系统时钟初始化外设初始化,如uart初始化rt_thread_init(main_thread_entry)rt_components_init()$Super$main()main()startup_xx.SOS tick配置与实现动态内存堆初始化board.c rt_hw_stack_init()rt_hw_context_switch_to初始化时钟、配置

93、中断向量表;完成全局/静态变量的初始化工作;初始化堆栈;库函数的初始化;程序的跳转:跳转至 RT-Thread 启动;小而美的物联网操作系统rt-thread nano【源码文件夹】stm32f103-blinkcomponents【FinSH 组件】include【头文件】libcpu【CPU 移植文件】src【Nano 内核源码】board.c板级文件,实现系统时钟、OS tick、硬件初始化以及动态内存堆等bsp【示例代码】applicationsdriversrtconfig.hmain.c应用代码armrisc-vcontext_xx.Scpuport.c实现线程栈初始化与异常等RT

94、-Thread 配置文件cortex-m3示例代码的工程文件 Projectstartup.s启动文件libraries实现全局开关中断与上下文切换interrupt.c实现中断管理Project实现:rt_hw_interrupt_disable/enable;rt_hw_context_switch_to;rt_hw_context_switch;rt_hw_context_switch_interrupt;实现:rt_hw_stack_init;rt_hw_hard_fault_exception;实现:rt_hw_interrupt_init;rt_hw_interrupt_insta

95、ll;rt_hw_interrupt_mask/unmask;小而美的物联网操作系统libcpu 移植startup.s:启动文件context_xx.s:上下文切换cpuport.c:线程栈初始化interrupt.c:中断与异常挂接板级移植 board.c配置系统时钟:时钟 与 OS Tick实现外设初始化:如 MMU、Cache、GPIO、UART 等初始化内存堆,实现内存堆管理小而美的物联网操作系统步骤1:安装 Nano pack步骤2:添加 Nano pack 到工程步骤3:实现系统时钟与 OS Tick(已实现)步骤4:编写第一个 led 应用小而美的物联网操作系统步骤1:安装 N

96、ano pack步骤2:添加 Nano pack 到工程(配置工程、生成工程)步骤3:实现系统时钟与 OS Tick(已实现)步骤4:编写第一个 led 应用小而美的物联网操作系统步骤1:添加 Nano 源码到工程步骤2:添加 board.c/rtconfig.h 到工程步骤3:实现系统时钟与 OS Tick(已实现)步骤4:编写第一个 led 应用小而美的物联网操作系统步骤1:添加 Nano 源码到工程步骤2:添加 board.c/rtconfig.h 到工程步骤3:实现系统时钟与 OS Tick步骤4:编写第一个 led 应用小而美的物联网操作系统.消息队列RT_USING_MASSAGE

97、QUEUE内存管理RT_USING_HEAP中断管理时钟管理RT_USING_TIMER_SOFT线程管理信号量RT_USING_SEMAPHORE邮箱RT_USING_MAILBOXRISC-VARMFinSH 组件RT_USING_FINSH互斥量RT_USING_MUTEX事件集RT_USING_EVENTKeil MDK 中具有配置面板IAR、GCC 等其他环境,手动修改STM32 Cube MX 中具有配置面板小而美的物联网操作系统小而美的物联网操作系统小而美的物联网操作系统内核内核组件组件软件包软件包内核内核RT-Thread 完整版:内核Shell 组件SConsENV&Kcon

98、fig设备驱动框架组件软件包小而美的物联网操作系统简 单小 巧易 于下 载易 于移 植易 于使 用04易 于 使 用通过应用API进行开发03易 于 移 植易基于各种 IDE,移植到各类芯片和板子02易 于 下 载多种下载方式01简 单 小 巧支持极简化配置上海睿赛德电子科技有限公司客户需求客户预算客户需求我家方案别人效果我家效果柿饼UI(英文名 PersimUI),是RT-Thread核心团队历时五年精心开发的一款现代化、类Android触控效果的嵌入式GUIUI界面华丽、动效丰富设计器+JavaScript语言极简开发支持在线仿真、远程升级RT-Thread 系统层CGE层C+控件层Jav

99、aScript 交互层简要架构图柿饼UI依托RT-Thread,通过JS达成UI界面实现、交互,可大大提高开发效率,UI性能可满足绝大多数应用场景如果对性能有极为苛刻的要求,柿饼UI亦支持原生 C/C+开发智能设备,安卓风格:智能手表,运动风格:准备好产品需求和相关素材准备好产品需求和相关素材把素材在柿饼把素材在柿饼UI设计器内排列好设计器内排列好JavaScript It!控件直接拖拽摆放控件属性可视化配置集成 JS 编辑器UI效果在线仿真一键USB下载UI工程丰富的Online Demo控件摆放完成后,界面是静止、无交互的这个时候,需要用 JavaScript 去控制控件整个 UI 的交互逻辑 JavaScript 语法简单,易上手 少量代码,画龙点睛,让 UI 炫起来PC端仿真效果与真机一致极大简化调试流程控件+JS极大简化开发流程少量代码实现绚丽效果无需深厚的C/C+功底会入门的JS语法即可,极大降低开发门槛支持在线仿真,所见即所得极大降低开发调试的周期每天推送不同的广告?每天UI换套风格?做个应用商店?More to Imagine柿饼派柿饼M3柿饼M7

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年RT-Thread开发者大会嘉宾演讲PPT资料合集.rar)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部