查看: 3149|回复: 7

[MQX] 【KL26Z申请】+在KL26Z实现MQX的移植

[复制链接]
  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
    发表于 2015-11-4 16:20:57 | 显示全部楼层 |阅读模式
    本帖最后由 very333 于 2015-11-9 15:51 编辑

             随着年初公司测控板项目定位飞思卡尔K64,数数在社区已逛了半年之久。在社区提的问题记录了我在K64上的探索与进步。
    目前K64项目已接近尾声,自己对于MQX的移植也有一点心得。但是暂时还未接触过飞思卡尔其他CPU的性能与特点,于是我想
    申请KL26Z学习板进行学习。
            我的学习计划:1.完成MQX在KL26Z的移植,包括PE配置时钟,BSP的修改。具体见后面附的资料。
                                     2.实现基本功能:包括流水灯,GPIO的控制,FLASH的烧写,串口调试,AD采样,中断PIT。
            实现第一阶段后,准备学习与探索以下几点。MQX对于任务优先级的切换与调度,flexebus的读写。
            最后根据KL26Z的一些外设与突出特点做一些研究。

             将自己K64开发遇到的问题和大家分享一下:
             1.FSL的K64板子锁FLASH问题 解决方法  
    https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=599729&page=1#pid2132656
           2.关于MAPS四色板UART的问题  这是程序开发hello  world实现的基础
    https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=597293&page=1#pid2108317
           3.关于通用GPIO初始化的问题
    https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=597398&page=1#pid2108985
           4.K64 MQX关于jatg的端口设置问题
    https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=597397&page=1#pid2108967
           5.关于K64 MQX开发的CS片选设置问题
    https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=598509&page=1#pid2116429
           6.K64+MQX flash擦除的问题
    https://www.nxpic.org.cn/module/forum/thread-599315-1-1.html

              然后分享下小七为我们搜集的资料,很全,应该够用了
    https://www.nxpic.org.cn/module/ ... amp;highlight=KL26Z

              以及自己搜集关于移植MQX会用到的资料
    K60 MQX移植笔记.pdf (1.11 MB, 下载次数: 178)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    9

    主题

    642

    帖子

    0

    高级会员

    Rank: 4

    积分
    748
    最后登录
    1970-1-1
    发表于 2015-11-4 16:40:28 | 显示全部楼层
    楼主加油
    104930kli5jsmlssemljli.png
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    32

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    205
    最后登录
    2015-11-26
    发表于 2015-11-4 17:05:45 | 显示全部楼层
    支持楼主
    164530n50ici9f66iizkrf.png
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    32

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    205
    最后登录
    2015-11-26
    发表于 2015-11-4 17:06:27 | 显示全部楼层
    嘿嘿
    164530n50ici9f66iizkrf.png
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    32

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    205
    最后登录
    2015-11-26
    发表于 2015-11-4 17:07:18 | 显示全部楼层
    多多支持
    164530n50ici9f66iizkrf.png
    回复

    使用道具 举报

    该用户从未签到

    30

    主题

    61

    帖子

    0

    高级会员

    Rank: 4

    积分
    971
    最后登录
    2025-7-21
    发表于 2015-11-4 20:44:48 | 显示全部楼层

    如何将MQX-Lite移植到Cortex-M0+芯片
        Freescale MQX™ Lite实时操作系统是针对资源有限的MCU的极轻MQX内核它最初面向Kinetis L系列开发,支持应用以低于4 KB RAM的空间运行。它是成熟的、经过专业开发的Freescale MQX软件解决方案的一个真正的子集,允许轻松向上进行代码迁移。它可以轻松在Processor Expert 软件中配置,与您选择的工具链一起使用。
    [url=https://www.freescale.co
    m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MQXLITE] [/url]

               一般情况下,我们可以在Processor Expert(处理器专家)软件中直接生成支持MQX-Lite的工程,并使用由Processor Expert软件提供的I/O功能,生成MCU逻辑设备驱动,和使用使用USB组件等协议栈。如果某款MCU暂时不在Processor Expert支持列表中,或者客户已经有成熟的代码库,只需要MQX-Lite内核,这时我们可以将MQX-Lite代码移植到客户的工程中,无需依赖Processor Expert工具。下面介绍如何移植MQX-Lite到Cortex-M0+内核MCU中。


    1.获取MQX-Lite代码。

             由于是MQX-Lite不像MQX完整版可以从飞思卡尔官方下载到源码和demo例程,而是已经集成在Processor Expert开发工具中。所以第一步,我们需要通过Processor Expert生成一个基本的MQX-Lite工程模板。        
         在Processor Expert开发环境中,创建一个居于Cortex-M0+内核MCU的MQX-Lite工程项目。下面以KL25Z128为基线,创建一个MQX-Lite工程。  
    图一 以KL25 MCU为基线创建工程
    图二 在Processor Expert配置MCU各种属性
    图三 通过Processor Expert生成MQX-Lite代码
      
    图四 MQX-Lite代码目录情况


    2. 移植MQX-Lite到Cortex-M0+内核MCU

       通过上述步骤我们可以通过Processor Expert生成MQX-Lite代码,下一步就是如何将生成的代码移植到客户的Cortex-M0+内核MCU中。下面我们以Freescale的Kinetis M系列MCU为例子,介绍如何将MQX-Lite移植到KM34中。
      Kinetis M系列MCU的其它主要特性包括:
    • 50 MHz 32位ARM Cortex-M0+内核,提供快速GPIO、32x32 MAC和卓越的代码密度和能效。
    • 64KB或128 KB闪存,带有16 KB SRAM。
    • 灵活的段式LCD控制器,提供低功耗模式运行和段故障检测功能(仅在64 & 100 LQFP封装中提供段式LCD模块)。
    • 多个低功耗模式和快速唤醒选件,包括低功耗引导模式。
    • 面向24位ADC时钟的专用PLL,支持使用低频率晶体,降低抖动和最大程度提高AFE性能。

       飞思卡尔已经在其网站中提供了Kinetis M系列MCU外设驱动SDK源代码,用户可以通过http://cache.freescale.com/files/32bit/software/TWR-KM34_DEMO_SW.zip?fromsite=zh-Han下载TWR-KM34的外设驱动库。  
    图五  TWR-KM34例子工程

        将生成的MQX-Lite代码拷贝到TWR-KM34的例程目录,并添加到IAR的工程中。
      图六  添加MQX-Lite源代码到工程中

          将MQX-Lite的源代码添加到IAR工程中,并且在IAR中加入编译所需库的头文件路径,右击工程名->options->C/C++ compiler->Preprocessor中填入头文件所在的目录即可。$PROJ_DIR$表示工程所在目录,\..\工程所在目录的上一层目录,设置详见下面的图片。
      图七 设置MQX-Lite预编译头文件目录

        将MQX-Lite移植到新的Cortex-M0+芯片,主要修改mqxlite/bsp目录下的vector.c, init_bsp.h , init_bsp.c等文件。其中init_bsp.h主要定义内核时钟,SysTick时钟滴答的频率。文件init_bsp.c实现SysTick时钟滴答中断。文件vector.c定义中断向量表,包含了默认的系统中断入口函数。


    3. 修改增加用户任务。
           修改task_template_list.c文件,增加用户定义的多任务定义。主要修改任务ID,任务入口函数,任务的栈空间大小,任务的属性等参数。  
           将MQX-Lite工程编译、下载到TWR-KM34Z50运行。测试结果表明MQX-Lite多任务在KM34 MCU中运行正常。可以参考附件的源代码。


    KL25_MQXLite.rar

    655.95 KB, 下载次数: 2, 下载积分: 威望 1

    如何将MQX-Lite移植到Cortex-M0 芯片.pdf

    528.32 KB, 下载次数: 726, 下载积分: 威望 1

    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
     楼主| 发表于 2015-11-5 08:56:32 | 显示全部楼层
    lszisgood 发表于 2015-11-4 20:44
    如何将MQX-Lite移植到Cortex-M0+芯片    Freescale MQX™ Lite实时操作系统是针对资源有限的MCU的极轻MQX ...

    多谢你的资料
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    34

    主题

    135

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    387
    最后登录
    2016-1-13
    发表于 2015-11-5 09:09:01 | 显示全部楼层

    这次活动规则

    发主题帖、上传资料哦,内容越详细通过率越高

    楼主要上传资料的,板子拿到后再分享自己的成果
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-22 20:56 , Processed in 0.114500 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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