zoukankan      html  css  js  c++  java
  • (1)在MCUXpresso编译器上移植uCOS-II

    一、准备工具

    1. MCUXpresso编译器软件;
    2. LCP1768单片机;
    3. 下载器J-Link;
    4. 基于LPC1768单片机的官方uCOS-II例程,下载链接:www.micrium.com。

    二、准备移植

    1. uCOS资源下载:

      去uCOS官网下载与单片机匹配的uCOS-II例程,我使用的是LPC1768单片机,具体操作如下图所示。

      ①进入uCOS的官方网站,点击-->Downloads

      ②根据单片机型号,找到对应的资源,我选择的是LPC1768单片机:

    图二  ③选择基于uCOS-II系统的工程进行下载,下载前需要登录个人账号,没有的请根据引导自行注册:

      ④下载完成后进行解压缩:

     

      ⑤工程打开所示:

      ⑥从展开的工程目录可以看到该工程支持三种编译器,分别是IAR(6.x版本)、MDK(4.x版本)和TrueSTUDIO(3.x版本),这里我需要的是TrueSTUDIO编译器的工程,因为它和MUCXpresso编译器都是基于eclipse:

    三、开始移植

    1. 打开MCUXpresso编译软件,新建一个裸机工程。

      该裸机工程由MCUXpresso编译软件自动生成,包含两个工程文件,一个是涉及硬件资源的CMSIS_CORE_LPC17xx工程,一个是用户定义的template工程;template工程使用的硬件资源会从CMSIS_CORE_LPC17xx工程里面调用,切勿删除。编译一下确保裸机工程没有问题:

      2. 打开下载的例程,参照下载的例程,在个人工程中添加如下图所示的文件夹,并添加对应的文件。在添加文件的时候需要注意,在含有IAR、GNU和RealView三个文件夹的文件夹中,只选择GUN文件夹中的文件进行添加:

      3. APP和BSP文件夹中文件的添加如下图所示:

      4. 涉及到uCOS-II系统文件的添加如下所示:

      5. 找到src文件夹,删除template.c文件,该文件是用于裸机的,在APP文件夹中有替代的用于uCOS-II系统的文件:

      6. 给新增的文件添加路径(可添加只包含.h文件的路径):

      7. 在个人工程中的src文件中找到如下图所指示的.c文件,对照下载的uCOS-II例程的.s文件修改两个函数OS_CPU_PendSVHandler和OS_CPU_SysTickHandler,这两个函数涉及到任务的挂起切换和uCOS-II的系统时钟:

     

      同时别忘记添加函数的引用,这两个函数的定义在os_cpu_a.asm文件中,使用汇编写的,在os_cpu.h文件中被声明:

     

      8. 至此uCOS-II系统的移植工作完成接下来进行验证。

     四、验证uCOS-ii系统的移植是否正常

      1. 创建两个任务分别是App_TaskStart和App_TaskJoy,在任务中添加两个计数器变量,通过观察计数器值的变化验证任务切换是否正常:

      2. 设断点进行调试。两个任务能来回切换,两个计数器累加正常,说明移植成功:

  • 相关阅读:
    [转]三五个人十来条枪 如何走出软件作坊成为开发正规军
    [转]asp.net页面字体变大问题总结
    [练手7]传值和传引用区别
    [练手3]选择排序
    [练手5]希尔排序
    oracle用select for update 中断后无法操作表的处理:杀掉SESSION
    [转]最省时管理法:让你一天随意
    [练手4]插入排序
    没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限
    NUnit单元测试编写指南
  • 原文地址:https://www.cnblogs.com/wenhao-Web/p/12662553.html
Copyright © 2011-2022 走看看