0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

国产RT-thread操作系统在国民技术单片机上移植

亿佰特物联网应用专家 2024-03-05 08:20 次阅读

各位嵌入式软件工程师想必都有类似的经验,使用无操作系统开发单片机时对于时序把控、任务延时及各任务之间的通信很难实现完整地条理清晰地编码。

对于部分经验不足的工程师,总会存在各种各样的问题,如因为变量、参数函数位置以及延时方法等导致程序运行效率过低的情况。实时操作系统能很好地解决这些问题。一般无操作系统的情况下,经验丰富的工程师可能会使用状态机加定时器等实现任务的非阻塞延时,使用软件定时器加回调函数实现简单的定时任务等。

在操作系统中,可以统一使用系统延时rt_thread_mdelay来解决问题,操作方法类似于最开始学习单片机时的delay()函数一样,无需担心任务卡死。在简单的应用中,如果使用多个任务,完全可以不用考虑系统会卡死。当然,该操作系统还有更高级的功能,此处不作赘述。

资料准备

本次移植基于国民的N32G430芯片进行移植,首先需要以下工具:

国民技术

RT-Thread

软件:Keil5,笔者使用的是5.27版本

开发板:淘宝随便找一个国民技术的N32G430开发板,

下载国民技术的基础资料包,直接将国民的链接粘贴在文件夹路径框(FTP传输),找到如下文件:

34f1d3c8-da86-11ee-9118-92fbcf53809c.png

解压后找到,此文件为国民的基本支持包:

35009da4-da86-11ee-9118-92fbcf53809c.png

下载RTT NANO版本:

351cfe7c-da86-11ee-9118-92fbcf53809c.png

建议使用手动下载安装:

352e6ac2-da86-11ee-9118-92fbcf53809c.png

下载如下:

35409d32-da86-11ee-9118-92fbcf53809c.png

安装

Keil安装完成的情况下,分别将RealThread.RT-Thread.3.1.5.pack及Nations.N32G430_DFP.1.1.0.pack双击安装,无需其他设置步骤,软件会自动安装到位。

创建工程

先创建一个demo工程,选择国民的N32G430芯片,确认后软件自动进入组件选择。

3547706c-da86-11ee-9118-92fbcf53809c.png

组件选择:选中如下的内容;

35746ba8-da86-11ee-9118-92fbcf53809c.png3584f78e-da86-11ee-9118-92fbcf53809c.png358ca966-da86-11ee-9118-92fbcf53809c.png

如果弹出报错,先截个图,稍后手动拷贝,由于安装时firmware并不会安装到位,一般是手动拷贝的,此处手动从国民的SDK中拷贝;

3597986c-da86-11ee-9118-92fbcf53809c.png

Firmware路径:

35a1227e-da86-11ee-9118-92fbcf53809c.png

按照下图创建目录拷贝即可:

35af7c8e-da86-11ee-9118-92fbcf53809c.png

接下来,进入组件管理界面:

35b8e0b2-da86-11ee-9118-92fbcf53809c.png

在刚在的工程文件夹下找到以下文件:

\Device\N32G430K8L7\CMSIS\device\system_n32g430.c

\Device\N32G430K8L7\CMSIS\device\startup\startup_n32g430.s

\Device\N32G430K8L7\n32g430_std_periph_driver\src\misc.c

\Device\N32G430K8L7\n32g430_std_periph_driver\src\n32g430_rcc.c

\Device\N32G430K8L7\n32g430_std_periph_driver\src\n32g430_gpio.c

双击添加:

35c25e4e-da86-11ee-9118-92fbcf53809c.png

选择编译器,此步骤不选没法编译:

35e860c6-da86-11ee-9118-92fbcf53809c.png

之后返回组件选择,仅保留RTT部分,前边选组件只是为了保证后续手动移植时知道选择哪些文件以及从哪里拷贝文件,目标文件在哪里等。

35f233ee-da86-11ee-9118-92fbcf53809c.png

接下来配置工程的包含路径:

35f98482-da86-11ee-9118-92fbcf53809c.png36051798-da86-11ee-9118-92fbcf53809c.png

添加路径:

361160f2-da86-11ee-9118-92fbcf53809c.png

接下来进行第一次编译;

出现如下报错,证明文件基本移植完成,接下来可以处理系统对接相关内容。

36190e38-da86-11ee-9118-92fbcf53809c.png

首先处理系统时钟

362a9784-da86-11ee-9118-92fbcf53809c.png3634b82c-da86-11ee-9118-92fbcf53809c.png3642de34-da86-11ee-9118-92fbcf53809c.png365aa92e-da86-11ee-9118-92fbcf53809c.png

接下来添加main文件,先建立user文件夹,在文件夹下添加main.c文件,并将文件添加至工程。

36666bb0-da86-11ee-9118-92fbcf53809c.png3672a862-da86-11ee-9118-92fbcf53809c.png

简单写一个空的main函数,开始编译:

367cf60a-da86-11ee-9118-92fbcf53809c.png

编译完成,仅一个告警,问题不大,可以忽略。

36852fdc-da86-11ee-9118-92fbcf53809c.png

接下来处理系统打印,打开控制台功能:

36943342-da86-11ee-9118-92fbcf53809c.png36a1f07c-da86-11ee-9118-92fbcf53809c.png

main任务写个简单的打印,编译:

36ac747a-da86-11ee-9118-92fbcf53809c.png

至此,移植全部完成,接下来下载编译即可,此处不再赘述。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6011

    文章

    44153

    浏览量

    624374
  • 操作系统
    +关注

    关注

    37

    文章

    6396

    浏览量

    122307
收藏 人收藏

    评论

    相关推荐

    STm32与RT-thread操作系统的配合使用

    操作系统的配合使用效果还是很不错的,前一段儿我又看了下华为的操作系统LiteOS,并参考了野火的教程,完成了STM32项目的移植,两者整体上也是很类似的,感觉没有RT-thread的简
    发表于 08-04 06:29

    怎样单片机上移植RT-Thread操作系统

    怎样单片机上移植RT-Thread操作系统?有哪些步骤流程?
    发表于 08-13 07:59

    怎样去移植基于STM32F767的RT-Thread操作系统

    什么是RT-Thread?怎样去移植基于STM32F767的RT-Thread操作系统呢?
    发表于 11-26 06:37

    RT-Thread操作系统cortex-m3内核的移植原理是什么?

    RT-Thread操作系统cortex-m3内核的移植原理是什么?
    发表于 11-30 07:18

    国产操作系统再“超越”,RT-Thread推动AIoT产业变革

    让它运行多个操作系统,包括RT-Thread Smart、RT-Thread的RTOS,以及Linux或者安卓等等。熊谱翔解释开发该组件的原因,是因为一些场合,对多算力、多核芯片也需
    发表于 01-04 08:00

    基于RT-Thread操作系统衍生rt-smart实时操作系统简介

    ,例如 ARM Cortex-A 系列芯片,MIPS 芯片,带 MMU 的 RISC-V 芯片等。rt-smart RT-Thread 操作系统的基础上启用独立、完整的进程方式,同
    发表于 06-22 17:56

    RT-thread】如何将RT-thread系统移植到stm32

    1.RT-thread简介T-Thread(Real Time-Thread),是一个嵌入式实时多线程操作系统。在 RT-Thread
    发表于 12-08 11:06 20次下载
    【<b class='flag-5'>RT-thread</b>】如何将<b class='flag-5'>RT-thread</b><b class='flag-5'>系统</b><b class='flag-5'>移植</b>到stm32

    国民技术携手RT-Thread共同推进MCU与RT-Thread操作系统广泛适配

    日前,国民技术股份有限公司与知名物联网操作系统厂商睿赛德科技(RT-Thread)签署会员合作协议,正式成为RT-Thread高级会员。
    的头像 发表于 12-16 09:56 2100次阅读

    国民技术与睿赛德科技(RT-Thread)签署会员合作协议

    日前,国民技术股份有限公司与知名物联网操作系统厂商睿赛德科技(RT-Thread)签署会员合作协议,正式成为RT-Thread高级会员。
    的头像 发表于 01-18 16:46 4513次阅读

    如何创建RT-Thread Nano工程

    本文将尝试使用国产的嵌入式实时操作系统RT-Thread,相比较于FreeRTOS,RT-Thread还是有很多有点的,比如有Fish命令行界面,
    的头像 发表于 03-19 12:13 3382次阅读

    RT-Thread操作系统已经成功部署至芯驰E3

    近日,国内领先的车规芯片企业芯驰科技与国内领先的车载RTOS(实时操作系统)企业睿赛德科技(RT-Thread)共同宣布:RT-Thread操作系统全面支持芯驰科技E3系列 MCU芯片
    的头像 发表于 09-09 09:15 1037次阅读

    RT-Thread操作系统的FreeRTOS兼容层

    的兼容项目中。 1 概述 这是一个针对RT-Thread国产操作系统的FreeRTOS操作系统兼容层,可以让原有基于FreeRTOS操作系统
    的头像 发表于 01-14 00:55 1312次阅读

    RT-Thread文档_RT-Thread SMP 介绍与移植

    RT-Thread文档_RT-Thread SMP 介绍与移植
    发表于 02-22 18:31 8次下载
    <b class='flag-5'>RT-Thread</b>文档_<b class='flag-5'>RT-Thread</b> SMP 介绍与<b class='flag-5'>移植</b>

    RT-Thread荣获“最具影响力IoT操作系统奖”

    2024年3月30日,第十一届开源操作系统年度技术会议(OS2ATC)在西郊宾馆举办!RT-Thread作为国内领先的开源操作系统斩获了“最具影响力IoT
    的头像 发表于 04-12 08:37 243次阅读
    <b class='flag-5'>RT-Thread</b>荣获“最具影响力IoT<b class='flag-5'>操作系统</b>奖”

    新书发布——《实时操作系统应用技术RT-Thread与ARM编程实践》

    RT-Thread又一本新书《实时操作系统应用技术——基于RT-Thread与ARM的编程实践》发布,标志着RT-Thread生态和实时
    的头像 发表于 05-11 08:35 314次阅读
    新书发布——《实时<b class='flag-5'>操作系统</b>应用<b class='flag-5'>技术</b>:<b class='flag-5'>RT-Thread</b>与ARM编程实践》