V6.0.0 - what changes

ddement wrote on Wednesday, October 07, 2009:

I’m starting a new project in a few weeks.  I’ve bought/read documentation, built a sample, etc.  But now I see V6.0.0 mentioned in the forum.
Is there any place that summarizes what will be new/different and is there a projected release time frame?  I’m trying to determine if this should be my starting point or the current release.  Thanks. 

rtel wrote on Wednesday, October 07, 2009:

Change log is below.  Note the changes to the portLONG, SHORT and CHAR make diff’ing the files a little tricky so I have a check in labelled without those changes to make diff’ing easy:

hanges between V5.4.2 and V6.0.0

FreeRTOS V6 is backward compatible with FreeRTOS V5.x.

Main changes:

+ FreeRTOS V6 is the first version to include memory protection unit (MPU)
  support.  Two ports now exist for the Cortex M3, the standard FreeRTOS
  which does not include MPU support, and FreeRTOS-MPU which does.  
+ xTaskCreateRestricted() and vTaskAllocateMPURegions() API functions added
  in support of FreeRTOS-MPU.
+ Wording for the GPL exception has been (hopefully) clarified.  Also the
  license.txt file included in the download has been fixed (the previous
  version contained some corruption).
Other changes:

+ New API function xPortGetFreeHeapSize() added to heap_1.c and heap_2.c.
+ ARM7 GCC demo interrupt service routines wrappers have been modified to
  call the C portion using an __asm statement.  This prevents the function
  call being inlined at higher optimisation levels.
+ ARM7 ports now automatically set the THUMB bit if necessary when
  setting up the initial stack of a task - removing the need for
  THUMB_INTERWORK to be defined.  This also allows THUMB mode and ARM mode
  tasks to be mixed more easily.
+ All ARM7/9 ports now have portBYTE_ALIGNMENT set to 8 by default.
+ Various demo application project files have been updated to be up to date
  with the latest IDE versions.
+ The linker scripts used with command line GCC demos have been updated to
  include an eh_frame section to allow their use with the latest Yagarto
  release.  Likewise the demo makefiles have been updated to include
  command line options to reduce or eliminate the eh_frame section all
+ The definition of portBYTE_ALIGNMENT_MASK has been moved out of the
  various memory allocation files and into the common portable.h header
+ Removed unnecessary use of portLONG, portSHORT and portCHAR.


anonymous wrote on Monday, October 12, 2009:

Hi Richard,

the MPU support for Cortex-M3 is a big step forward. I’m curious to see it in dept. Great work! :slight_smile:


jas5 wrote on Saturday, October 17, 2009:

Hi Richard,

I’m sure you are already in the process of updating your two excellent eBooks "Using the FreeRTOS Real Time Kernel" and "FreeRTOS Reference Manual" to include detailed sections explaining the new features and their associated APIs that have been added since the eBooks were released. Things that immediately come to mind are the the new "Run Time Statistics" and "MPU" features, as well as smaller changes and additions such as the heap APIs and hooks, etc.

In general, what is your policy regarding the eBooks when they are updated? Will we need to re-purchase them each time they are updated? 

Regards, John

rtel wrote on Saturday, October 17, 2009:

Yes, the plan is to add a lot of detail into the eBook for the MPU features, but this is not going to happen within the next month or two.  I am already committed to some special versions of the book at these will have to be produced first.

With regards to upgrades - I had not really thought about that.  There is an administrative overhead to generating the books, especially if I first have to look up the original purchase, so I think there would be a charge, but not the full charge.


jas5 wrote on Sunday, October 18, 2009:

Thanks for the reply. I don’t mind re-purchasing each time there is a significant upgrade, as an on-going contribution to the development of FreeRTOS.