查看: 2021|回复: 3

[分享] freeRTOS在恩智浦KV46MCU上的移植

[复制链接]
  • TA的每日心情
    奋斗
    2017-2-13 08:29
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    531

    主题

    2048

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    210
    最后登录
    2018-8-14
    发表于 2016-6-3 09:43:50 | 显示全部楼层 |阅读模式
    经过前面对freeRTOS源码目录结构和例程的分析,接下来我们就动手来移植freeRTOS最新版源码包到NXP的kinetis系列KV46MCU上,并实现一个简单的例子,按一个按键,点亮LED灯。

    准备工作

    1,  官网下载freeRTOS源码包V9.0.0,解压到本地电脑上
    2,  装有IAR的电脑
    3,  塔式系统平台Kv46
    之前曾多次提到过,移植一个源码包,必须熟悉他的源码目录结构,所以本次移植前,假设你已经熟悉freeRTOS源码目录结构,如果不熟悉,请自行学习。我们以源码包里的在k60上的例程为基础来移植到kv46上。


    移植

      启动过程
    我们知道系统上电后首先会运行crt0.s,这个文件是汇编文件,但是很简单,可以跟踪下,执行问这个文件会跳入start .c文件中的start函数,经过禁止看门狗,初始化,系统时钟配置等之后会跳入main函数,执行用户应用程序。







    了解启动过程对我们移植修改顺序有很大帮助。


    工程搭建

    复制freeRTOS的demo文件夹下CORTEX_Kinetis_K60_Tower_IAR文件夹所有内容。并将复制的CORTEX_Kinetis_K60_Tower_IAR文件夹改名为CORTEX_Kinetis_Kv46_Tower_IAR,并将k60_tower.h改为kv46_tower.h,修改kv46_tower.h文件,删除跟网络有关的文件,因为kv46不支持网络



    同样在kv46_tower.h文件中修改如下内容,因为kv46只有串口1和串口0.

    头文件修改
    因为k60和kv46的头文件不一样,所以必须修改common.文件,首先包含刚刚我们修改的文件kv46_tower.h文件,在包含kv46的头文件,





    工程配置修改
    因为我们移植是针对不同的芯片,所以必须修改工程配置,首先选择kv46芯片



    修改文件包含目录,删除与网络有关的,因为kv46不支持网络,并添加TWR_KV40F256

    修改链接文件,因为k60的例程用的是512Kflash的配置文件,找到kv46的配置文件并复制到我们工程的common文件夹下,可以删除原来的k60的配置文件

    在配置选项中指定kv46的配置文件

    修改调试配置

    修改系统时钟函数
    修改pll_init函数,因为k60和kv46的时钟配置上,有的寄存器是不一样的,这个要对照数据手册修改
    主要修改的地方有




    修改系统初始化函数
    修改sysinit函数,因为kv46只有串口1和串口0,我们使用串口1,所以配置对应的管脚,删除掉不用的配置

    修改freeRTOS配置文件




    应用程序修改
    根据硬件平台,修改应用程序对应的硬件管脚配置


    修改vectors.h

    还有其他LED对应管脚映射修改等,这里不在赘述
    编译测试程序
    编译修改完的移植工程

    将编译好的工程输出文件下载到板子上运行,可观察到,按动SW1按键,LED会闪亮,证明移植成功。


    总结


    经过此移植过程,可以证明我们的工程已经成功从K60移植到了KV46MCU上,同理可以移植其他功能,如可以添加移植Modbus通信,ADC等功能,完善工程,添加更多的应用程序模块,可以应用于实际开发


    原文链接:https://www.nxpic.org.cn/article/id-328175

    签到 签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-17 08:07
  • 签到天数: 273 天

    [LV.8]以坛为家I

    74

    主题

    2338

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7350
    最后登录
    2021-8-30
    发表于 2016-6-3 09:59:22 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    83

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    234
    最后登录
    2016-9-11
    发表于 2016-6-3 10:33:58 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-5-24 10:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    140

    主题

    2087

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3913
    最后登录
    2020-5-24
    发表于 2016-6-3 22:06:39 | 显示全部楼层
    MDK的环境是否适于?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-27 04:14 , Processed in 0.119662 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表