2020年2月13日FreeRTOS 作者Richrd Barry 通過電子郵件宣佈,MIT license 的開源軟件FreeRTOS V10.3.0正式發佈,新版本包括支持ARM v7-M 和 ARM v8-M內核MPU移植,擴展支持IAR 編譯器和IDE 的RISC-V處理器架構移植, 以及一系統新的API 功能。開始在Github上進行更新,方便與大家互動,之前是一直在SourceForge SVN上。https://github.com/FreeRTOS
另外,FreeRTOS的作者Richard Barry將參加會展期間的演講。uCOS的全家桶免費版將在EW2020結束後正式生效(2020.2.28號),基本都集中在EW2020前後。期盼已久的AppWizard也有望在這期間發佈。不過受冠狀病毒疫情影響,ew2020有可能被取消。FreeRTOS當前正在努力製作第一個LTS(Long Term Support ) 版本,也必將很受期待。
主要更新:
<strong>New and updated kernel ports:
+ Added RISC-V port for the IAR compiler.
+ Update the Windows simulator port to use a synchronous object to prevent a user reported error whereby a task continues to run for a short time after being moved to the Blocked state. Note we were not able to replicate the reported issue and it likely depends on your CPU model.
+ Correct alignment of stack top in RISC-V port when configISR_STACK_SIZE_WORDS is defined to a non zero value, which causes the interrupt stack to be statically allocated.
+ The RISC-V machine timer compare register can now be for any HART, whereas previously it was always assumed FreeRTOS was running on HART 0.
+ Update the sequence used to update the 64-bit machine timer compare register on 32-bit cores to match that suggested in RISC-V documentation.
+ Added tickless low power modes into the ARM, IAR and GCC Cortex-M0 compiler ports.
+ Updated the behaviour of the ARMv7-M MPU (Memory Protection Unit) ports to match that of the ARMv8-M ports whereby privilege escalations can only originate from within the kernel's own memory segment. Added configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY configuration constant.(加強對ARMv7-M和ARMv8-M內核的MPU支持)
+ Update existing MPU ports to correctly disable the MPU before it is updated.
+ Added contributed port and demo application for a T-Head (formally C-SKY) microcontroller.(對阿里平頭哥芯片的支持,哈哈~)
<strong>New API functions:
+ Added the vPortGetHeapStats() API function which returns information on the heap_4 and heap_5 state.
+ Added xTaskCatchUpTicks(), which corrects the tick count value after the application code has held interrupts disabled for an extended period.
+ Added xTaskNotifyValueClear() API function.
+ Added uxTimerGetReloadMode() API function.Other miscellaneous changes:
+ Change type of uxPendedTicks from UBaseType_t to TickType_t to ensure it has the same type as variables with which it is compared to, and therefore also renamed the variable xPendingTicks.
+ Update Keil projects that use the MPU so memory regions come from linker/>
+ Added LPC51U68 Cortex-M0+ demos for GCC (MCUXpresso), Keil and IAR compilers.+ Added CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube demo.
+ Added LPC54018 MPU demo.
+ Rename xTaskGetIdleRunTimeCounter() to ulTaskGetIdleRunTimeCounter().
有興趣的同學可以下載新版本嘗試體驗了!
閱讀更多 趣享世界 的文章