当前位置: 首页 > news >正文

东莞我的网站建设深圳app网站

东莞我的网站建设,深圳app网站,贵港北京网站建设,易龙天做的网站怎么样一、简介 关于RTThread-nano的介绍,这里不做过多解释,官方文档已经介绍的非常详细了,有兴趣的可以参考如下文档:RT-Thread 文档中心 二、移植 1.准备一个能正常运行的代码 手头有M0内核的板子,那就以…

一、简介

        关于RTThread-nano的介绍,这里不做过多解释,官方文档已经介绍的非常详细了,有兴趣的可以参考如下文档:RT-Thread 文档中心

二、移植

1.准备一个能正常运行的代码               

        手头有M0内核的板子,那就以M0内核来进行演示。

        代码可正常运行。

2.Nano Pack安装

        ①在MDK中安装

        打开MDK软件(keil),点击工具栏的Pack Installer图标。

        点击右侧的Pack,展开Generic

        展开RealThread::RT-Thread,点击Install进行安装。

        注:如果“install”按键无法点击,可能是因为网络不行,稍作等待,如果还不行,选择②中的手动烧录。

        

        点击“Next”。

        安装成功。

        ②手动安装

        从官网下载安装文件。https://www.rt-thread.org/download/mdk/RealThread.RT-Thread.3.1.5.pack

        下载完成后,双击下载文件进行安装。

        软件会自动找到keil包的路径,直接点击“Next”。

        安装完成后,MDK就会提示有新的包,直接点“是”

        在MDK中打开Pack Installer,确定RTThread-nano是否安装成功。

        可以看到,已经安装成功。

3.添加RT-Thread Nano到工程。

        打开正常运行的工程,点击Manage Run-Time Environment

        在RTOS中,勾选kernel,然后点击OK,即可完成RT-Thread内核的添加。

        注:因为我们只需要Nano,所以只添加kernel即可

        可以看到,在工程文件列表中,已经可以看到RTThread内核相关的文件了。

4.适配RT-Thread Nano

        ①中断与异常处理

        先编译一下工程,如果提示HardFault_Handler(异常处理函数)PendSV_handler(悬挂处理函数)重复定义,则表示删除原工程中的这两个函数,如果未报错,则不用修改。

        因为移植后,RT-Thread已经实现了这两个函数,有可能会与原工程冲突,所以需要处理一下。

        ②系统时钟配置。

        熟悉RTOS的同学都知道,RTOS是需要底层一个tick时钟来提供节拍,rtt-nano也是如此

        刚才编译的时候报错,就是提示开发者需要在board.c中实现系统时钟配置(为MCU、外设提供工作时钟)与os_tick配置(未操作系统提供心跳/节拍)

        在rt_hw_board_init函数中,初始化MCU的系统时钟

        在系统中断中,调用rt_os_tick_callback函数,来为RTT-NANO提供底层节拍

        ③内存堆初始化

        系统内存堆的初始化在board.c中的rt_hw_board_init函数中完成。内存堆功能是否使用取决于宏 RT_USING_HEAP 是否开启,RT-Thread Nano 默认不开启内存堆功能,这样可以保持一个较小的体积,不用为内存堆开辟空间。

        开启系统 heap 将可以使用动态内存功能,如使用 rt_malloc、rt_free 以及各种系统动态创建对象的 API。若需要使用系统内存堆功能,则打开 RT_USING_HEAP 宏定义即可,此时内存堆初始化函数 rt_system_heap_init() 将被调用。

        这里可以直接设置堆的大小,根据应用场景进行设置。

        如果不需要使用RTT-NANO的堆操作,可以直接在rtconfig.h文件中屏蔽RT_USING_HEAP。屏蔽后,会节省很多空间。

        至此,移植完成。

5.测试代码

        移植完成之后,main函数就转变成一RT-Thread操作系统的一个线程

        在main中添加RTT-nano的头文件<rtthread.h>。修改原来的代码,将delay函数修改为rtt可使用的rt_thread_mdelay函数。

        查看运行结果:

        正常运行。

        需要注意的是,加入rtt之后,已经是线程工作了,不能使用MCU自带的delay函数来死等,会占用CPU资源,导致其他线程无法运行

        6.配置RT-Thread Nano

        用户可以根据自己的需求通过修改rtconfig,h文件里面的宏定义,来配置相应功能

        如果开启RT_USING_HEAP,创建任务时,则会动态提供内存。如果未开启,则只支持静态方式创建任务、信号量等对象

         MDK提供了配置向导,可以直接勾选参数,来对rtconfig.h文件进行配置

        至此,第一阶段已经完成,后面会通过实例,来介绍RTT-Nano要怎么使用。

7.对比移植前的工程

        先来看下移植后的编译结果。

        Code(代码)8898字节,RO(只读常量)530字节,RW(已初始化的全局变量)172字节,ZI(未初始化的全局变量)3188字节。

        其中RW和ZI是存储在RAM中的,而Code和RO是存储在FLASH中。即RAM占3360字节FLASH占9428字节

        再看移植前的编译结果

        Code(代码)5196字节,RO(只读常量)224字节,RW(已初始化的全局变量)48字节,ZI(未初始化的全局变量)2304字节。

        其中RW和ZI是存储在RAM中的,而Code和RO是存储在FLASH中。即RAM占2352字节FLASH占5420字节

        对比,添加RTT-Nano后,RAM增加1KFLASH增加4K

        与官方宣传相同。

        

http://www.15wanjia.com/news/176977.html

相关文章:

  • 益阳网站建设方案赣州市开发区建设局网站
  • 怎样登陆网站后台外包小程序
  • 免费的资料网站梧州网站建设制作
  • 外贸网站推广 雅虎问答有用吗2023中关村手机排行榜
  • 个人网站做推广网站建设及服务合同书
  • 苏州做外贸网站徐州建设工程交易网中标公示
  • 怎么用网站后台做轮播图网站建设源代码共享
  • 响应式网站建设流程简述网站与网页的区别
  • 做放单网站wordpress付费主题分享
  • 泰州cms建站模板宁波网站建设58同城
  • 陕西省住房和城乡建设厅网站首页网站建设平台网站设计
  • 开发一个彩票网站多少钱wordpress 文章中图片title alt
  • 网站编程需要什么语言非法网站开发
  • 长沙企业网站建设品牌装修效果图软件app哪个好
  • 做牛仔的时尚网站微信 html5 网站
  • 绍兴做网站公司哪家好企业推广品牌
  • 国内欣赏电商设计的网站做房产抵押网站需要什么手续费
  • 重庆网站seo方法平面设计网站模板
  • 做公司网站需要几天中美军事最新消息
  • 在百度上怎么建网站发帖效果好的网站
  • 阿里云网站建设好用吗赣州市建设工程质量监督管理站网站
  • 找人做网站昆明做网站的软件高中 通用技术
  • 查公司的口碑和评价的网站三亚中国检科院生物安全中心门户网站建设
  • 上海紫昌网站建设直播网站排名
  • 阿里云建站文章搜索东莞网站优化推广方案
  • 360云盘做服务器建设网站山东省工程建设信息网
  • 建筑学seo 网站描述长度
  • 做毕业网站的周记国外免备案虚拟主机
  • 惠州网站建设哪家强互联网营销的优势
  • 做低价的跨境电商网站建立公司网站()