硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7271|回复: 14
收起左侧

[μCOS-III] μCOS-III最新版本已经升级到3.04.04,各个版本更新记录

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2014-3-16 14:01:45 | 显示全部楼层 |阅读模式
官网还没有最新版的下载代码,下面是更新记录:
11.png



Version 3.04.04

Release date : 2014-03-12


Requirements


    [li]μC/LIB V1.36.02 or more recent[/li][li]μC/CPU V1.30.00 or more recent[/li]



New features & improvements


    [li]N/A[/li]



API Changes


    [li]N/A[/li]



Bug fixes


    [li]OSMutexDel(): Deleting a mutex not owned by any tasks with the option OS_OPT_DEL_NO_PEND would cause a null pointer access. This issue was introduced in version 3.04.03.[/li][li]os.h, os_tmr.c: Fixed a few local include directives which were using brackets <> instead of quotes ""[/li][li]Minor corrections to some function comment headers[/li]



Ports


    [li]ARM-Cortex-M4: Fixed an assembler warning with the RealView port.[/li][li]ARM-Cortex-A50: Default exception level changed to EL1. The option to switch to EL1 now selects EL3 instead.[/li][li]ARM-Cortex-A50: Handling of the SIMD register bank can now be disabled at compile time.[/li][li]ARM-Cortex-A50: Performance improvements for task-to-task context switches.[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:02:14 | 显示全部楼层
Version 3.04.03

Release date : 2014-02-21


Requirements

    [li]μC/LIB V1.36.02 or more recent[/li][li]μC/CPU V1.30.00 or more recent[/li]



New features & improvements

    [li]ARM-Cortex-A50: New port for the 64-bit series of Cortex-A50 cpu core implementing the ARMv8-A architecture. The following features are included.Support for the ARM Compiler Toolchain and GNU toolchain.[/li][li]AArch64 support (AArch32 may be supported by our 32-bit ARM-Cortex-A port in the future if there's enough interest)[/li][li]Support for the embedded FPU and SIMD extensions[/li]
Mutex priority inheritance: Improved the robustness of the priority inheritance feature of μC/OS-III:
    [li]Deleting and Pend aborting mutexes are now guaranteed not to cause priority inversion.[/li][li]Deleting a task will now automatically release all the mutexes owned by that task.[/li][li]Priority inheritance is correctly and deterministically applied in the case of intentional deadlocks. (Two or more tasks pending on mutexes owned by each other.)[/li][li]Breaking a deadlock using OSMutexPendAbort() or OSMutexDel() won't create priority inversion even if other mutexes are still actively owned. Please note that while the kernel will correctly prevent priority inversion, breaking a deadlock using OSMutexPendAbort() is NOT a recommended coding practice.[/li]



API Changes

    [li]N/A[/li]



Bug fixes

    [li]os.h: Removed double "??" characters in a comment that could be confounded for a trigraph by some preprocessors.[/li][li]OSFlagPendAbort() will now, as documented, abort the highest pending task when called with the OS_OPT_PEND_ABORT_1 option.[/li][li]The declaration of OSSemDel() is now correctly preprocessed out when OS_CFG_SEM_DEL_EN is disabled (MISRA compliance)[/li][li]Minor performance improvement to the tick task by removing an unneeded check.[/li][li]Minor improvements to MISRA compliance[/li][li]Various corrections to the comments.[/li]



Ports

    [li]MIPS32-4k: Various bugfixes and improvements[/li][li]ARM-Cortex-A: GNU assembly files extension changed from .s to .S[/li][li]ARM-Cortex-M: Various improvements to MISRA compliance[/li][li]ARM-Cortex-M: Added an instruction barrier after triggering a context switch to prevent issues with highly optimized code. This could only affect usage of the internal API for benchmarking purposes, no user applications should have been affected by this issue.[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:02:42 | 显示全部楼层
Version 3.04.02



Release date : 2013-12-20


Requirements

    [li]μC/LIB V1.36.02 or more recent[/li][li]μC/CPU V1.30.00 or more recent[/li]



New features & improvements

    [li]ARM-Cortex-A: Added a global variable OS_CPU_ARM_DRegCnt to hold the number of VFP/NEON registers present in the context switch stack frame. This is meant to help kernel aware debugger decode a task's stack.[/li][li]ARM-Cortex-M3 & M4: Various performance improvements on all supported toolchains.[/li][li]Online Documentation: Reference manuals now available online. Please visit doc.micrium.com for the latest versions. This will be the last release of uC/OS-III to include the PDF manual within the source package.[/li][li]Renesas RX: Various improvements:[/li][li]Performance improvements on all supported toolchains.[/li][li]Compatibility fix for IAR EWRX 2.50.[/li][li]Functionalities of the RX-FPU port are now merged into the generic RX port.[/li][li]OS_KA_IPL_Boundary can be left undefined without causing a compilation error in the IAR port.[/li]



API Changes

    [li]N/A[/li]



Bug fixes

    [li]IAR TLS: Fixed compilation errors in os_tls.c when building with the full implementation of DLIB.[/li][li]M14K: Correctly restore the special purpose register on a context switch.[/li][li]os_core.c, os_task.c: Deleting a task pending on an object without timeout or deleting the object itself may have caused a null pointer access. This issue only affected version 3.04.00 and later of the kernel.[/li][li]os_mutex.c: Aborting a mutex pend in certain conditions left the mutex owner at an elevated priority.[/li][li]Various typos and formatting fixes.[/li]



Ports

    [li]M14K: Correctly restore the special purpose register on a context switch.[/li][li]Renesas RX: Fixed compilation error when OS_KA_IPL_Boundary was left undefined in the IAR port.[/li]



Deprecated features

    [li]The following ports are now supported by the generic Renesas RX port and will be removed in a future release.[/li][li]RX200[/li][li]RX600[/li][li]RX-FPU[/li]
    [li]The following ports are now supported by the generic ARM-Cortex-A port and will be removed in a future release.[/li][li]ARM-Cortex-A9[/li][li]ARM-Cortex-A8 - Unreleased, may have been distributed in some demonstration projects.[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:03:04 | 显示全部楼层
Version 3.04.01



Release date : 2013-10-17


Requirements

    [li]μC/LIB V1.36.02 or more recent[/li][li]μC/CPU V1.29.01 or more recent[/li]



New features & improvements

    [li]Footprint: Reduced overall RAM usage when some features like debugging are disabled.[/li]



API Changes

    [li]N/A[/li]



Bug fixes

    [li]Timers: Fixed a bug where a timer that expires may cause some of the other timers to miss one tick. This issue only affected version V3.04.00 of the kernel.[/li][li]Timers: To be consistent the behavior of previous versions the scheduler is now locked again when calling a timer's callback function. The modifications to the timer list for V3.04.00 had the potential to cause a deadlock if a user application attempted to acquire a resource from within the callback.[/li][li]OS_IntQTaskInit(), OS_IntQPost(): Unecessary checks of p_err removed. The validation is already done by the callers.[/li][li]Various corrections to the comments.[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:03:49 | 显示全部楼层


Version 3.04.00




Release date : 2013-09-19


Requirements

    [li]μC/LIB V1.36.02 or more recent[/li][li]μC/CPU V1.29.01 or more recent[/li]



New features & improvements

    [li]Tick and Timer wheels: Removed the tick and timer wheels. Those features were re-implemented using lighter and faster delta and linear lists respectively. This result in even better performance and reduced maximum interrupt disable time. See chapters 5 & 12 of the user manual for details.[/li][li]C++ compilation: Better support for building in C++.[/li][li]ARM Cortex-A: New port for the entire 32-bits ARM Cortex-A family. Support for the following compilers/toolchains is included:[/li][li]ARM Compilation Tools (DS-5)[/li][li]GNU[/li][li]IAR EWARM[/li][li]TMS470 Compiler Toolchain (TI Code Composer Studio)[/li]



API Changes

    [li]N/A[/li]



Bug fixes

    [li]os_stat.c, OSStatTaskCPUUsageInit(): OSTaskSuspend() could be referenced even with OS_CFG_TASK_SUSPEND_EN disabled.[/li][li]os_core.c, OS_IdleTask(): Unused argument p_arg now referenced using '(void)&p_arg' instead of 'p_arg = p_arg' to prevent a warning from static analysis tools.[/li][li]os.h, Comment about os_tcb.TickRemain now properly name the statistic task.[/li]



Ports

    [li]Cortex-M4: Fixed FPU support for the ARMCC/RealView port.[/li][li]Cortex-M4: GNU port now properly included in the release package.[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:11:54 | 显示全部楼层
Version 3.03.01


Release date : 2012-05-17


Requirements

    [li]μC/LIB V1.36.02 or more recent[/li][li]μC/CPU V1.29.01 or more recent[/li]



New features & improvements

    [li]Removed OS_MsgPoolCreate() to remove calling a function used by a single other function, OS_MsgPoolInit().[/li][li]Changed the macro name OS_CRITICAL_ENTER_CPU_CRITICAL_EXIT() to OS_CRITICAL_ENTER_CPU_EXIT() to make the macro less than 32 significant characters.[/li][li]Made some improvements to satisfy more MISRA-C:2004 rules.[/li]



API Changes

    [li]N/A[/li]



Bug fixes

    [li]os_msg.c, OS_MsgQPut(): Added missing 'p_msg->NextPtr = (OS_MSG *)0;' when adding first entry in queue.[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:12:14 | 显示全部楼层
Version 3.03.00



Release date : 2012-02-14


Requirements

    [li]μC/LIB V1.36.02 or more recent[/li][li]μC/CPU V1.29.01 or more recent[/li]



New features & improvements

    [li]Added Thread Local Storage (TLS) support. See chapter 20 of the User's Manual.[/li][li]Added OSTaskRegGetID() to assign task register IDs dynamically.[/li][li]Now able to Suspend and Resume tasks from ISRs.[/li][li]Added option 'OS_OPT_TASK_NO_TLS' to OSTaskCreate() to specify that a task will not require TLS.[/li][li]Removed OSMsgPoolExtend() since it was not documented and not used.[/li][li]Added global OSStatTaskCPUUsageMax to keep track of peak CPU usage. This value is reset by OSStatReset().[/li][li]Added per task .CPUUsageMax which tracks the peak CPU usage of each task.[/li][li]Added .NbrUsedMax entry to the message pool manager to keep track of maximum OS_MSG usage.[/li][li]Computation of CPU usage has now a resolution of 1/100th of a percent.[/li]



API Changes

    [li]N/A[/li]



Bug fixes

    [li]N/A[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:12:33 | 显示全部楼层


Version 3.02.00




Release date : 2011-08-01


Requirements

    [li]μC/LIB V1.26.00 or more recent[/li][li]μC/CPU V1.25.00 or more recent[/li]



New features & improvements

    [li]Added note to clarify use of OS_OPT_LINK_DLY option on OS_TmrLink() at OSTmrStart().[/li][li]Adjusted order of operation on Tick Wheel during insert (OS_TickListInsert) to first set link pointers on new object, then add it to the linked-list.[/li][li]Changed default OS_CYCLES to 32-bits.[/li][li]Adjusted version to new format Vx.yy.zz.[/li][li]Re-arranged order of data structure members on OS_TCB to keep non-optional items at the beginning of the structure.[/li][li]Changed error codes to enum.[/li][li]Converted OS object types to use CPU_TYPE_CREATE.[/li][li]Reworked check to not allow to create multiple tasks at idle task priority.[/li][li]Added changes to priority handling to allow word addressable architectures.[/li][li]Adjusted copyright in file headers for source available distribution.[/li]



API Changes

    [li]N/A[/li]



Bug fixes

    [li]Initialize Interrupt Queue Handler Task before any other task to prevent usage of 'OSIntQNbrEntries' uninitialized.[/li][li]Corrected use of disabled variable 'OSCfg_ISRStk'.[/li][li]Corrected per task CPU usage statistics computation.[/li][li]Removed OS_TMR_TICK datatype; converted OSTmrTickCtr to OS_TICK to be consistent with other OS_TMR structure fields.[/li][li]Prevent OSSchedLock/Unlock() to be called from ISR.[/li][li]Corrected alignment check on OSMemCreate() to handle cases where sizeof(void *) == 1.[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:13:00 | 显示全部楼层
Version 3.01.02


Release date : 2010-05-14


Requirements

    [li]μC/LIB[/li][li]μC/CPU[/li]



New features & improvements

    [li]Added error checking for time stamp configuration #defines.[/li][li]Removal of some MISRA C 2004 errors.[/li][li]Moved OSInitHook() to beginning of OSInit() to be consistent with documentation section about differences between μC/OS-II and μC/OS-III port functions.[/li][li]Removed duplicate call to OS_TickListRemove() in OS_TickListUpdate().[/li][li]Added OSStatResetFlag into OS_StatTask to force reset of the computed statistics.[/li][li]Added OSIntQMaxNbrEntries into computed statistics.[/li]



API Changes

    [li]N/A[/li]



Bug fixes

    [li]Corrected OS_MEM structure definition for field FreeListPtr.[/li][li]Corrected OS_TmrLink() where number of entries in spoke was incremented twice for a particular case, and timer previous pointer was alwyas being cleared before exit the function.[/li][li]Corrected OSTaskChangePrio() to update task priority if task is pending on Task Queue, Task Sem or Flag.[/li][li]Corrected OSTaskDel() TCB clean up where it could potentially be skipped if context switch happened before OSSched().[/li][li]Corrected sections of code conditional on OS_CFG_Q_EN & OS_CFG_TASK_Q_EN.[/li][li]Corrected DbgListRemove procedures where it did not clear the DbgPrevPtr of the first object when the head of the list was removed.[/li][li]Removed sections where TimeQuantaCtr was incorrectly reset.[/li][li]Corrected NULL pointer de-reference on OSMutexDel() with OS_OPT_DEL_ALWAYS option when Mutex created and deleted right away.[/li][li]Reordered DbgListAdd/Remove to prevent a still linked object from being cleared.[/li][li]Corrected DbgList removal in OSTmrDel().[/li][li]Added critical section in OSMemCreate().[/li][li]Removed access to uninitialized kernel objects (p_obj->Type).[/li][li]Corrected port's OSTaskSwHook where OSSchedLockTimeMaxCur was not always cleared between context switch.[/li][li]Corrected NULL pointer de-reference of p_tcb on OS_SchedRoundRobin(), if no TCB in the ready list.[/li][li]Adjusted check for nesting interrupts on OSSched() by removing conditional compilation based on OS_CFG_CALLED_FROM_ISR_CHK_EN.[/li][li]Adjusted formatting & function descriptions.[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:13:23 | 显示全部楼层


Version 3.01.01




Release date : 2010-01-11


Requirements

    [li]μC/LIB[/li][li]μC/CPU[/li]



New features & improvements

    [li]Added PERIODIC and MATCH modes to OSTimeDlyHMSM().[/li][li]Improved the performance of the scheduler lock time measurement.[/li][li]Added OS_CFG_TS_EN in OS_CFG.H which is used to enable/disable time stamping.[/li]



API Changes

    [li]N/A[/li]



Bug fixes

    [li]OSTaskStkChk() now returns the number of free and used 'ELEMENTS' instead of 'BYTES'. This is done for consistency.[/li][li]Fixed a bug with OS_PendListRemove1() which removes a task from a wait list.[/li][li]Fixed a bug when pend-aborting a object where a task has multi-pended on the same object multiple times.[/li][li]Fixed a bug when posting to an event flag group where there are no task(s) pending on the event flag group.[/li]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-16 14:13:53 | 显示全部楼层


Version 3.01.00




Release date : 2009-12-07


Requirements

    [li]μC/LIB[/li][li]μC/CPU[/li]



New features & improvements

    [li]We removed OS_AppInitHookPtr because it was impossible to initialize this pointer prior to dereferncing it. OSInit() set the pointer to NULL and didn't allow the user to change its value before using it.[/li][li]Added a new operating mode to OSTimeDly(), i.e. OS_OPT_TIME_PERIODIC[/li][li]Added the function OSSafetyCriticalStart() which, when called will prevent further kernel objects from being created. In other words, after calling this function, you will no longer be allowed to create tasks, semaphores, mutexes, etc. In some safety critical systems, it's not allowed to create kernel objects once initialization has completed.[/li][li]Replaced: 'for (;;)' to 'while (DEF_ON)' for tasks to represent that the loop runs while power is applied[/li][li]The timestamp is now read when a task is created to determine when the task starts. This is used to compute the per task CPU usage.[/li]



API Changes

    [li]The API for OSTaskCreate() changed. The seventh argument changed from: 'CPU_STK *p_stk_limit' to 'CPU_STK_SIZE stk_limit'. This argument now represents the number of CPU_STK elements left before the stack is empty. This is used when the CPU supports stack limit checking.[/li]



Bug fixes

    [li]Fixed a bug when an object was pend aborted when using OSPendMulti().[/li][li]Fixed a bug when an object was deleted when using OSPendMulti().[/li][li]Statistics are reset after determining CPU usage capacity.[/li][li]Fixed a bug in OSPendMulti(). The scheduler was locked during a critical region that should have been protected by disabling/enabling interrupts.[/li]
回复

使用道具 举报

2

主题

135

回帖

2

积分

初级会员

积分
2
发表于 2014-3-17 11:25:08 | 显示全部楼层
源码是不是不开放了?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-17 11:27:26 | 显示全部楼层

回 northtiger 的帖子

northtiger:源码是不是不开放了? (2014-03-17 11:25) 
最新版的代码还没有提供下,我上面表述有误
回复

使用道具 举报

116

主题

800

回帖

1148

积分

至尊会员

积分
1148
QQ
发表于 2014-3-17 11:28:53 | 显示全部楼层
怎么查看系统的版本?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2014-3-17 16:08:44 | 显示全部楼层

回 jcx0324 的帖子

jcx0324:怎么查看系统的版本? (2014-03-17 11:28) 
调用版本的函数就可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 14:21 , Processed in 0.513360 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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