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

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

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

    关注

    6032

    文章

    44513

    浏览量

    632694
  • 操作系统
    +关注

    关注

    37

    文章

    6727

    浏览量

    123181
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    RT-Thread编程指南

    RT-Thread编程指南——RT-Thread开发组(2015-03-31)。RT-Thread做为国内有较大影响力的开源实时操作系统,本文是RT
    发表于 11-26 16:06 0次下载

    嵌入式实时操作系统RT-Thread的特点与体系结构及移植方法详细说明

     文章介绍了嵌入式实时操作系统RT-Thread的特点及体系结构,并具体研究了RT-Thread以ARM720T为内核的SEP4020嵌入式芯片上的
    发表于 11-27 17:52 27次下载
    嵌入式实时<b class='flag-5'>操作系统</b><b class='flag-5'>RT-Thread</b>的特点与体系结构及<b class='flag-5'>移植</b>方法详细说明

    移植RT-Thread的原理与方法

    rtt论坛搜索“国产MCU移植”即可阅读。本文不介绍具体移植步骤,而是如往常一样,分享移植的原理与方法。
    的头像 发表于 09-17 09:41 7697次阅读

    国产MCU移植】HC32F460基于Keil MDK 移植 RT-Thread Nano

    国产MCU移植】HC32F460基于Keil MDK 移植 RT-Thread Nano
    发表于 11-18 18:51 65次下载
    【<b class='flag-5'>国产</b>MCU<b class='flag-5'>移植</b>】HC32F460基于Keil MDK <b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> Nano

    国产MCU移植移植RT-Thread国产芯片HC32F460PETB

    国产MCU移植移植RT-Thread国产芯片HC32F460PETB
    发表于 11-23 18:06 37次下载
    【<b class='flag-5'>国产</b>MCU<b class='flag-5'>移植</b>】<b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b>到<b class='flag-5'>国产</b>芯片HC32F460PETB

    国产MCU移植移植RT-Thread国产芯片FM33LC026

    国产MCU移植移植RT-Thread国产芯片FM33LC026
    发表于 11-30 16:51 22次下载
    【<b class='flag-5'>国产</b>MCU<b class='flag-5'>移植</b>】<b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b>到<b class='flag-5'>国产</b>芯片FM33LC026

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

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

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

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

    RT-Thread学习笔记分享

    我是从2020年11月初开始学习RT-Thread实时操作系统的,在学习RT-Thread之前,我接触过uCOS和FreeRTOS,但这两个单片机
    的头像 发表于 01-27 18:52 2065次阅读

    如何创建RT-Thread Nano工程

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

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

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

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

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

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

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