📄 history.txt
字号:
Changes between V3.2.1 and V3.2.2 - Released 23 September, 2005
+ Added an IAR port for the Philips LPC2129
+ The Atmel ARM7 IAR demo project files are now saved in the IAR Embedded
Workbench V4.30a format.
+ Updated the J-Link macro file included with the SAM7X uIP demo project
to allow the demo board to be reset over the J-Link.
Changes between V3.2.0 and V3.2.1 - Released 1 September, 2005
+ Added lwIP demo for AT91SAM7X using Rowley tools.
+ Added uIP demo for AT91SAM7X using IAR tools.
+ Added function xTaskGetCurrentTaskHandle().
+ Renamed events.h to mevents.h to prevent it conflicting with the events.h
generated automatically by the HCS12 processor expert utility. events.h
is only used by the PC demo application.
+ Both PIC18 ports now initialise the TBLPTRU to 0 as this is the value
expected by the compiler, and the compilers do not write to this
register.
+ The HCS12 banked model demo now creates the 'suicide' tasks immediately
prior to starting the scheduler. These tasks should be the last tasks to
get started in order for the test to function correctly.
Changes between V3.1.1 and V3.2.0 - Released 29 June, 2005
V3.2.0 introduces two new MSP430 ports and corrects a minor kernel
issues. Thanks to Ares.qi for his input.
+ Added two MSP430 ports that use the Rowley CrossWorks development tools.
One port just mirrors the existing GCC port. The other port was provided
by Milos Prokic. Thanks!
+ V3.2.0 corrects the behavior when vTaskPrioritySet() or vTaskResume()
are called while the scheduler is locked (by a call to
vTaskSuspendAll()). When this is done the subject task now starts to
execute immediately when the scheduler is unlocked if it has the highest
priority that is ready to run. Previously there was a possibility that
the task would not run until the next RTOS tick or call to portYIELD().
+ Another similar small correction ensures that in the case where more than
one task is blocked on a semaphore or queue, the task with the highest
priority is guaranteed to be unblocked first.
+ Added a couple of more test tasks to the PC demo which cover the points
above.
Changes between V3.1.0 and V3.1.1 - Released 21st June, 2005
This release updates the HCS12 port. The common kernel code
remains unchanged.
+ Updated the HCS12 port to support banking and introduced a demo
application for the MC9S12DP256. The new demo application is
located in the Demo/HCS12_CodeWarrior_banked directory.
+ The name of the directory containing the MC9S12F32 demo application
has been changed to Demo/HCS12_CodeWarrior_small (as in 'small'
memory model).
+ MC9S12F32 demo updated slightly to use the PLL. The CPU speed for the
demo application is now 24MHz. Previously it was 8MHz.
+ The demo application file Demo/Common/Minimal/death.c has a slight
alteration to prevent it using floating point variables.
Changes between V3.0.0 and V3.1.0 - Released 11th June, 2005
+ Added new ports for ST Microsystems STR71x, and Freescale HCS12
microcontrollers. Currently the HCS12 port is limited to the small
memory model. Large memory models will be supported in the next
release.
+ PIC18 wizC port updated. Thanks to Marcel van Lieshout for his
continuing contribution.
+ The accuracy of the AVR port timer setup has been improved. Thanks to
Thomas Krutmann for this contribution.
+ Added a new conditional compilation macro configIDLE_SHOULD_YIELD.
See the WEB documentation for details.
+ Updated the CrossWorks uIP demo to build with V1.4 of CrossWorks.
+ Slight modification to the SAM7 release build configuration to correct
an include path definition.
+ Updated the MPLAB PIC18 documentation to provide extra details on linker
file configuration.
Changes between V3.0.0 and V2.6.1 - Released 23rd April, 2005
V3.0.0 includes many enhancements, so this history list is broken into
subsections as follows:
API changes
New ports
Directory name changes
Kernel and miscellaneous changes changes
- API changes
+ Each port now defines portBASE_TYPE as the data type that is most
efficient for that architecture. The type portBASE_TYPE is used
extensively in API calls necessitating the following changes to the
FreeRTOS API function prototypes.
See the the "New for V3.0.0" section of the FreeRTOS online
documentation for full details of API changes.
- New ports
+ The AT91FR40008 ARM7 port contributed by John Feller is now included
in the download (thanks John!).
+ The PIC18 port for the wizC/fedC compiler contributed by Marcel van
Lieshout is now included in the download (thanks Marcel!).
+ The IAR port for the AVR microcontroller has been upgraded to V3.0.0
and is now a supported port.
- Directory name changes
For consistency, and to allow integration of the new ports, the
following directory names have been changed.
+ The source/portable/GCC/ARM7 directory has been renamed
source/portable/GCC/ARM7_LPC2000 so it is compatible with the naming
of other GCC ARM7 ports.
+ The Demo/PIC directory has been renamed Demo/PIC18_MPLAB to
accommodate the wizC/fedC PIC port.
+ The demo applications for the two AVR ports no longer share the same
directory. The WinAVR demo is in the Demo/AVR_ATMega323_WinAVR
directory and the IAR port in the Demo/AVR_ATMega323_IAR directory.
- Kernel and miscellaneous changes changes
See the the "New for V3.0.0" section of the FreeRTOS online
documentation for more information.
+ Previously 'portmacro.h' contained some user editable definitions
relating to the user application, and some fixed definitions relating
specifically to the port being used. The application specific
definitions have been removed from 'portmacro.h' and placed inside a
new header file called 'FreeRTOSConfig.h'. 'portmacro.h' should now
never be modified by the user. A 'FreeRTOSConfig.h' is now included
in each of FreeRTOS/Demo subdirectories - as it's settings relate to
the demo application rather than being specific to the port.
+ Introduced configUSE_IDLE_HOOK in idle task.
+ The idle task will yield when another idle priority task is ready to
run. Previously the idle task would run to the end of its time slice
regardless.
+ The idle task is now created when the scheduler is started. This
requires less stack than the previous scheme where it was created upon
creation of the first application task.
+ The function usPortCheckFreeStackSpace() has been renamed
usTaskCheckFreeStackSpace() and moved from the portable layer to
tasks.c.
+ Corrected spelling of portMINMAL_STACK_SIZE to portMINIMAL_STACK_SIZE.
+ The portheap.c file included with the AVR port has been deleted. The
AVR demo now uses the standard heap1 sample memory allocator.
+ The GCC AVR port is now build using the standard make utility. The
batch files used previously have been deleted. This means a recent
version of WinAVR is required in order to create a binary suitable for
source level debugging.
+ vTaskStartScheduler() no longer takes the configUSE_PREEMPTION
constant as a parameter. Instead the constant is used directly within
tasks.c and no parameter is required.
+ The header file 'FreeRTOS.h' has been created and is used to include
'projdefs.h', 'FreeRTOSConfig.h' and 'portable.h' in the necessary
order. FreeRTOS.h can now be included in place of these other
headers.
+ The header file 'errors.h' has been deleted. The definitions it
contained are now located within 'projdefs.h'.
+ pvPortMalloc() now takes a size_t parameter as per the ANSI malloc().
Previously an unsigned short was used.
+ When resuming the scheduler a yield is performed if either a tick has
been missed, or a task is moved from the pending ready list into a
ready list. Previously a yield was not performed on this second
condition.
+ In heap1.c an overflow check has been added to ensure the next free
byte variable does not wrap around.
+ Introduced the portTASK_FUNCTION() and portTASK_FUNCTION_PROTO()
macros.
+ The MPLAB PIC port now saved the TABLAT register in interrupt service
routines.
Changes between V2.6.0 and V2.6.1 - Released Feb 22, 2005
This version adds support for the H8 processor.
Other changes:
+ tskMAX_TASK_NAME_LEN removed from the task.h header and added to each
individual portmacro.h file as portMAX_TASK_NAME_LEN. This allows RAM
limited ports to allocate fewer characters to the task name.
+ AVR port - Replaced the inb() and outb() functions with direct memory
access. This allows the port to be built with the 20050414 build of
WinAVR.
+ GCC LPC2106 port - removed the 'static' from the definition of
vNonPreemptiveTick() to allow the demo to link when using the cooperative
scheduler.
+ GCC LPC2106 port - Corrected the optimisation options in the batch files
ROM_THUMB.bat, RAM_THUMB.bat, ROM_ARM.bat and RAM_ARM.bat. The lower case
-o is replaced by an uppercase -O.
+ Tasks.c - The strcpy call has been removed when copying across the task
name into the TCB.
+ Updated the trace visualisation to always be 4 byte aligned so it can be
used on ARM architectures.
+ There are now two tracecon executables (that convert the trace file binary
into an ASCII file). One for big endian targets and one for little endian
targets.
+ Added ucTasksDeleted variable to prevent vTaskSuspendAll() being called
too often in the idle task.
+ SAM7 USB driver - Replaced the duplicated RX_DATA_BK0 in the interrupt
mask with the RX_DATA_BK1.
Changes between V2.5.5 and V2.6.0 - Released January 16, 2005
+ Added the API function vTaskDelayUntil(). The demo app file
Demo/Common/Minimal/flash.c has been updated to demonstrate its use.
+ Added INCLUDE_vTaskDelay conditional compilation.
+ Changed the name of the Demo/ARM7_AtmelSAM7S64_IAR directory to
Demo/ARM7_AT91SAM7S64_IAR for consistency.
+ Modified the AT91SAM7S USB driver to allow descriptors that have
a length that is an exact multiple of the FIFO to be transmitted.
Changes between V2.5.4 and V2.5.5 - Released January 3, 2005
This version adds support for the Atmel SAM7 ARM7 microcontrollers
along with the IAR development tools.
Other changes:
+ Renamed the Demo/ARM7 directory to Demo/ARM7_LPC2106_GCC.
+ Renamed the Demo/ARM7_Keil directory to Demo/ARM7_LPC2129_Keil.
+ Modified the Philips ARM7 serial interrupt service routines to only
process one interrupt per call. This seems to enable the ISR to
operate more quickly.
+ Removed the 'far' keyword from the Open Watcom portable layer source
files. This allows their use with V1.3 of Open Watcom.
+ Minor modifications to the SDCC build files to allow their use under
Linux. Thanks to Frieder Ferlemann for this contribution.
+ Small change to sTaskCreate() to allow a context switch even when
pxCreatedTask is NULL. Thanks to Kamil for this contribution.
+ inline keyword removed from vTaskSwitchContext() and VTaskIncrementTick()
definitions.
Changes between V2.5.3 and V2.5.4 - Released Dec 1, 2004
This is an important maintenance release.
The function cTaskResumeAll() has been modified so it can be used safely
prior to the kernel being initialised. This was an issue as
cTaskResumeAll() is called from pvPortMalloc(). Thanks to Daniel Braun
for highlighting this issue.
Changes between V2.5.2 and V2.5.3 - Released Nov 2, 2004
The critical section handling functions have been changed for the GCC ARM7
port. Some optimisation levels use the stack differently to others. This
means the interrupt flags cannot always be stored on the stack and are
instead now stored in a variable, which is then saved as part of the
tasks context. This allows the GCC ARM7 port to be used at all
optimisation levels - including -Os.
Other minor changes:
+ MSP430 definition of usCriticalNesting now uses the volatile qualifier.
This is probably not required but added just in case.
Changes between V2.5.1 and V2.5.2 - Released Oct 26, 2004
+ Added the Keil ARM7 port.
+ Slight modification to comtest.c to make the delay periods more random.
This creates a better test condition.
Changes between V2.5.0 and V2.5.1 - Released Oct 9, 2004
+ Added the MSP430 port.
+ Extra comments added to the GCC ARM7 port.c and portISR.c files.
+ The memory pool allocated within heap_1.c has been placed within a
structure to ensure correct memory alignment on 32bit systems.
+ Within the GCC ARM7 serial drivers an extra check is made to ensure
the post to the queue was successful if then attempting immediately
retrieve the posted character.
+ Changed the name of the constant portTICKS_PER_MS to portTICK_RATE_MS
as the old name was misleading.
Changes between V2.4.2 and V2.5.0 - Released Aug 12, 2004
The RTOS source code download now includes three separate memory allocation
schemes - so you can choose the most appropriate for your application.
These are found in the Source/Portable/MemMang directory. The demo
application projects have also been updated to demonstrate the new schemes.
See the "Memory Management" page of the API documentation for more details.
+ Added heap_1.c, heap_2.c and heap_3.c in the Source/Portable/MemMang
directory.
+ Replaced the portheap.c files for each demo application with one of the
new memory allocation files.
+ Updated the portmacro.h file for each demo application to include the
constants required for the new memory allocators: portTOTAL_HEAP_SIZE and
portBYTE_ALIGNMENT.
+ Added a new test to the ARM7 demo application that tests the operation
of the heap_2 memory allocator.
Changes between V2.4.1 and V2.4.2 - Released July 14, 2004
+ The ARM7 port now supports THUMB mode.
+ Modification to the ARM7 demo application serial port driver.
Changes between V2.4.0 and V2.4.1 - Released July 2, 2004
+ Rationalised the ARM7 port version of portEXIT_CRITICAL() -
improvements provided by Bill Knight.
+ Made demo serial driver more complete and robust.
Changes between V2.4.0 and V2.3.1 - Released June 30, 2004
+ Added the first ARM7 port - thanks to Bill Knight for the assistance
provided.
+ Added extra files to the Demo/Common/Minimal directory. These are
equivalent to their Demo/Common/Full counterparts but with the
calls to the functions defined in print.c removed.
+ Added TABLAT to the list of registers saved as part of a PIC18 context.
Changes between V2.3.0 and V2.3.1 - Released June 25, 2004
+ Changed the way the vector table is defined to be more portable.
+ Corrected the definitions of SPH and SPL in portmacro.s90.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -