IDE:     MDK V4+

MCU:   LPC17xx(Cortex-M3)

RTOS: µC/OS-II

       升级顺序:V2.52->V2.62->V2.76->V2.86->V2.91

V2.52

一、startup*.s (startup_lpc17xx.s)

1. 更改两个中断服务函数名称

注: 名字能够使用其他。

2. 定义两个中断服务函数

1). OS_CPU_PendSVHandler

位置

定义: OS_CPU_A.ASM

声明: OS_CPU.H

2). OS_CPU_SysTickHandler

位置: OS_CPU_C.C

二、应用主文件 (app.c)

1. 定义开、关中断函数(汇编)

位置: OS_CPU_A.ASM

1). CPU_IntDis

关中断

2). CPU_IntEn

开中断





此函数首次调用者为main()。而且为main()函数中的第一行。

2. SysTick_Config函数

位置: core_cm3.h





此函数的调用者为App_TaskStart(守护任务)

在调用之前。要进行板子的初始化。

三、临界函数

声明都在os_cpu.h

1. 进入临界函数

OS_ENTER_CRITICAL()

2. 退出临界函数

OS_EXIT_CRITICAL()

V2.62

一、更改ucos全部文件名称为小写字母

1. 删除Source目录全部文件

2. 拷贝V2.62的Source目录下全部文件到Source目录下

3. 重命名OS_CPU_A.asm、OS_CPU_C.c、OS_CPU.h为os_cpu_a.asm、os_cpu_c.c、os_cpu.h

二、添加文件

1) 拷贝os_debug.c到Ports目录
2) 更改引用文件

由原来的#include "includes.h" -> #include <ucos_ii.h>

三、覆盖文件

1) 拷贝os_cfg.h到App目录,并覆盖之!
2) 添加引用文件"os_cpu.h"

#include <os_cpu.h>

3) 改动OS_TICKS_PER_SEC的值为1730

V2.76

一、覆盖ucos全部文件

1. 拷贝V2.76的Source目录下全部文件到Source目录下

二、添加文件

1) 拷贝os_dbg_r.c到Ports目录,变更名称为os_dbg.c

删除原来的os_debug.c文件

2) 拷贝os_cfg_r.h到App目录,变更名称为os_cfg.h
3) 改动OS_TICKS_PER_SEC的值为800

三、multiply defined 解决的方法

1) ucos_ii.c

凝视掉"#include <ucos_ii.h>"

四、os_core.c 错误解决的方法

凝视掉ucos_ii.c中的全部*.c文件

V2.86

一、步骤同前

二、差异

1) identifier "OS_TASK_TMR_PRIO" undefined.

在app_cfg.h添加其定义

2)不使用application hook

设置OS_APP_HOOKS_EN为0;

V2.91

一、步骤同前

二、差异

1)不使用application hook

设置OS_APP_HOOKS_EN为0;

版权声明:本文博客原创文章,博客,未经同意,不得转载。

&#181;C/OS-II版本升级指南的更多相关文章

  1. uC/OS II原理分析及源码阅读(一)

    uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的.可裁减的.抢占式.实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和 ...

  2. 【原创】uC/OS II 任务切换原理

    今天学习了uC/OS II的任务切换,知道要实现任务的切换,要将原先任务的寄存器压入任务堆栈,再将新任务中任务堆栈的寄存器内容弹出到CPU的寄存器,其中的CS.IP寄存器没有出栈和入栈指令,所以只能引 ...

  3. 【小梅哥SOPC学习笔记】NIOS II处理器运行UC/OS II

    SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ...

  4. 【独家】React Native 版本升级指南

    前言 React Native 作为一款跨端框架,有一个最让人头疼的问题,那就是版本更新.尤其是遇到大版本更新,JavaScript.iOS 和 Android 三端的配置构建文件都有非常大的变动,有 ...

  5. MAC OS VPN使用指南

    L2TP/IPSec VPN - Mac OS 使用指南 一.打开Mac的联网设置. 二.然后点左边的加号,添加新的连接. 三.选择VPN(L2TP),点击创建(Create). 四.输入你购买的VP ...

  6. Mac OS 踩坑指南

    前言 其实mac os本身还是很不错的,软硬结合使得其性能.效率.续航得到了很好的优化. 但是毕竟是一个"小众"操作系统,很多在Win上已经用习惯的东西在这里都没有,或者完全不一样 ...

  7. BUAA OS实验调试指南:从看懂到看开

    一般的调试流程其实很简单:发现问题,稳定复现,确定临界条件,定位问题,修复问题,核查结果.迭代这个过程,形成一个闭环 老实说,OS的实验代码,开箱体验极差,程序跳来跳去,进了Lab4后还要考虑内核态切 ...

  8. uC/OS II 函数说明 之–OSTaskCreate()与OSTaskCreateExt()

    1. OSTaskCreate()    OSTaskCreate()建立一个新任务,能够在多任务环境启动之前,或者执行任务中建立任务.注意,ISR中禁止建立任务,一个任务必须为无限循环结构.    ...

  9. FreeRTOS操作系统最全面使用指南

    FreeRTOS操作系统最全面使用指南 1 FreeRTOS操作系统功能 作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理.时间管理.信号量.消息队列.内存管理.记录功能等,可基本满 ...

随机推荐

  1. 简单的java缓存实现

    扫扫关注"茶爸爸"微信公众号 坚持最初的执着,从不曾有半点懈怠,为优秀而努力,为证明自己而活. 提到缓存,不得不提就是缓存算法(淘汰算法),常见算法有LRU.LFU和FIFO等算法 ...

  2. 使用msys

    下载地址:http://msys2.github.io/ 更新:pacman -Syu 安装git:pacman -S git 或者使用cygwin 调色:编辑~/.minttyrc Foregrou ...

  3. C++ 学习笔记3,struct长度測试,struct存储时的对齐方式

    之所以专门为struct的长度写一篇測试,是由于原来c++对于struct的变量, 在分配内存的时候,c++对struct有一种特殊的存储机制. 看以下的測试: 一.在Windows7 32bit , ...

  4. Eucalyptus和Openstack最近版本的改动简单对比

    Eucalyptus3.3四月底发布的,Q4会发布3.4,最新代码都可以在Github上获得 3.3里主要加入的东西有: Auto Scaling 自动扩展,虚拟机资源随需要实时变更 ELB 负载均衡 ...

  5. RBAC - 基于角色的权限控制

    ThinkPHP中关于RBAC使用详解 自己的源码下载:百度网盘,thinkPHP文件夹下,RBAC文件夹. 重要的是,权限信息的写入函数等.在源码中能找到,Modules/Amin/Common/c ...

  6. c++,命名空间(namespace)

    1.什么是命名空间: 命名空间:实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来. 2.命名空间 ...

  7. 【 D3.js 入门系列 — 4 】 如何使用比例尺( scale )

    上一章中使用了一个很重要的概念 — 比例尺( scale ),本节将解说其使用方法. 1. 最大值和最小值 在介绍比例尺( scale )之前,先介绍两个经常和比例尺一起出现的函数,在[第3章]中也出 ...

  8. static timing analysis 基础

    此博文依据 特权同学在电子发烧友上的讲座PPT进行整理而成. static timing analysis   静态时序分析基础 过约束:有不必要的约束,或者是约束不能再某一情况下满足.——约束过头了 ...

  9. MFC全局函数开局——AfxGetApp解剖

    MFC中有不少的全局函数,方便在不同对象中获取不同的内容或创建不同的对象.主要全局函数有: AfxWinInit() AfxBeginThread() AfxEndThread() AfxFormat ...

  10. [置顶] CSS+DIV总结

         HTML在Web飞速发展的过程中起着重要作用,有着重要地位.HTML初衷是为了表达标签(<p>.<table>)的内容信息.同时文档布局由浏览器来完成,不使用任何格式 ...