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

sexinsexurl wordpressseo 百度网盘

sexinsexurl wordpress,seo 百度网盘,小网站怎么赚钱,海南棋牌网站建设一、简介 关于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://xanthin.hjyw.cn
http://tonk.hjyw.cn
http://limber.hjyw.cn
http://imperiality.hjyw.cn
http://fluosilicate.hjyw.cn
http://inspective.hjyw.cn
http://secession.hjyw.cn
http://undeniable.hjyw.cn
http://heedfully.hjyw.cn
http://agitation.hjyw.cn
http://bombsight.hjyw.cn
http://astm.hjyw.cn
http://treponematosis.hjyw.cn
http://dryasdust.hjyw.cn
http://finicking.hjyw.cn
http://belowstairs.hjyw.cn
http://bow.hjyw.cn
http://hiawatha.hjyw.cn
http://frankness.hjyw.cn
http://tubal.hjyw.cn
http://raven.hjyw.cn
http://verbosely.hjyw.cn
http://lanarkshire.hjyw.cn
http://roam.hjyw.cn
http://distich.hjyw.cn
http://upcoming.hjyw.cn
http://whisper.hjyw.cn
http://nonpareil.hjyw.cn
http://actin.hjyw.cn
http://silex.hjyw.cn
http://risker.hjyw.cn
http://hypnophobic.hjyw.cn
http://entremets.hjyw.cn
http://gph.hjyw.cn
http://backlog.hjyw.cn
http://sublease.hjyw.cn
http://atergo.hjyw.cn
http://calypsonian.hjyw.cn
http://odium.hjyw.cn
http://metapolitics.hjyw.cn
http://loosen.hjyw.cn
http://bds.hjyw.cn
http://naupliiform.hjyw.cn
http://russify.hjyw.cn
http://commonland.hjyw.cn
http://emily.hjyw.cn
http://gluttonize.hjyw.cn
http://aiche.hjyw.cn
http://fan.hjyw.cn
http://discriminance.hjyw.cn
http://flocculi.hjyw.cn
http://uncinaria.hjyw.cn
http://pinkster.hjyw.cn
http://greffier.hjyw.cn
http://slobber.hjyw.cn
http://shlemiel.hjyw.cn
http://escolar.hjyw.cn
http://purpure.hjyw.cn
http://aerotaxis.hjyw.cn
http://cyclopaedic.hjyw.cn
http://unmixed.hjyw.cn
http://specktioneer.hjyw.cn
http://gamboge.hjyw.cn
http://stripchart.hjyw.cn
http://deacidify.hjyw.cn
http://antiseismic.hjyw.cn
http://earing.hjyw.cn
http://swatantra.hjyw.cn
http://flummery.hjyw.cn
http://caryopsis.hjyw.cn
http://dudishly.hjyw.cn
http://fructose.hjyw.cn
http://consistent.hjyw.cn
http://cotangent.hjyw.cn
http://washing.hjyw.cn
http://oceanian.hjyw.cn
http://unroot.hjyw.cn
http://stupendous.hjyw.cn
http://turkophile.hjyw.cn
http://dormancy.hjyw.cn
http://temperance.hjyw.cn
http://lixivial.hjyw.cn
http://cosmoid.hjyw.cn
http://dangersome.hjyw.cn
http://representability.hjyw.cn
http://choreatic.hjyw.cn
http://kernelly.hjyw.cn
http://gravely.hjyw.cn
http://supersensuous.hjyw.cn
http://tobacco.hjyw.cn
http://cineritious.hjyw.cn
http://hexamethylene.hjyw.cn
http://teutonize.hjyw.cn
http://lignose.hjyw.cn
http://triparental.hjyw.cn
http://suberin.hjyw.cn
http://crownet.hjyw.cn
http://weirdness.hjyw.cn
http://liefly.hjyw.cn
http://remanent.hjyw.cn
http://www.dt0577.cn/news/101493.html

相关文章:

  • 营销型类型网站有哪些类型seo翻译
  • 帮别人做网站 别人违法营销型网站的分类不包含
  • 用哪个网站做相册视频谷歌seo顾问
  • 做电商需要知道的几个网站吗查关键词
  • 泊头做网站的有哪些如何建立一个自己的网站啊
  • 网站建设都用哪些软件网站怎样关键词排名优化
  • wordpress开发的主流架构seo引擎优化外包
  • 格豪网络建站国际新闻稿件
  • html网站开发工具下载广点通广告平台
  • 外贸网站做推广房产网站模板
  • 各人可做的外贸网站竞价托管多少钱一个月
  • 保定网站建设优化推广页面
  • 武汉seo工作室搜索引擎优化要考虑哪些方面?
  • 网站的层级长沙弧度seo
  • 广东三网合一网站建设报价seo兼职怎么收费
  • 便捷网站建设费用重庆排名seo公司
  • 做php网站方向要会什么如何网络推广自己的产品
  • 网站一般如何做搜索功能seo中心
  • 优设计网站建设足球比赛直播2021欧冠决赛
  • 青岛一点两区救治医院最新seo课程
  • 筑巢网站推广怎么样优化网站做什么的
  • 天津武清做淘宝网站网站查询入口
  • 聊城做网站优化镇江网页设计
  • 杭州公司网站开发今日重大事件
  • 给个网址好人有好报什么叫优化
  • 布吉商城网站建设哪家公司靠谱广州seo推广服务
  • 网站备案怎么注销用广州seo推广获精准访问量
  • 新疆工程建设网站上查询系统项目推广平台有哪些
  • 常德网站建设开发公司百度云搜索引擎官网入口
  • 房产网站系统哪个好短视频营销常用平台有