summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2008-04-16 08:00:30 +0000
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2008-04-16 08:00:30 +0000
commit39a369502fad44306b96f0974708ecf2a24ec0e3 (patch)
tree11617bda93a4c297065e801bca662efb0d58a7dc
parent84b008e6eb8caf1bd5c98ab8381c9c1cb69b91ee (diff)
downloadfreertos-39a369502fad44306b96f0974708ecf2a24ec0e3.tar.gz
freertos-39a369502fad44306b96f0974708ecf2a24ec0e3.tar.bz2
freertos-39a369502fad44306b96f0974708ecf2a24ec0e3.tar.xz
Update to V5.0.0.
git-svn-id: https://freertos.svn.sourceforge.net/svnroot/freertos/trunk@324 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
-rw-r--r--Demo/ARM7_AT91FR40008_GCC/FreeRTOSConfig.h2
-rw-r--r--Demo/ARM7_AT91FR40008_GCC/Makefile2
-rw-r--r--Demo/ARM7_AT91FR40008_GCC/ParTest/ParTest.c2
-rw-r--r--Demo/ARM7_AT91FR40008_GCC/main.c2
-rw-r--r--Demo/ARM7_AT91FR40008_GCC/serial/serial.c2
-rw-r--r--Demo/ARM7_AT91FR40008_GCC/serial/serialISR.c2
-rw-r--r--Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h2
-rw-r--r--Demo/ARM7_AT91SAM7S64_IAR/ParTest/ParTest.c2
-rw-r--r--Demo/ARM7_AT91SAM7S64_IAR/USB/USBSample.c2
-rw-r--r--Demo/ARM7_AT91SAM7S64_IAR/main.c2
-rw-r--r--Demo/ARM7_AT91SAM7S64_IAR/serial/serial.c2
-rw-r--r--Demo/ARM7_LPC2106_GCC/FreeRTOSConfig.h2
-rw-r--r--Demo/ARM7_LPC2106_GCC/Makefile2
-rw-r--r--Demo/ARM7_LPC2106_GCC/ParTest/ParTest.c2
-rw-r--r--Demo/ARM7_LPC2106_GCC/main.c2
-rw-r--r--Demo/ARM7_LPC2106_GCC/serial/serial.c2
-rw-r--r--Demo/ARM7_LPC2106_GCC/serial/serialISR.c2
-rw-r--r--Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h2
-rw-r--r--Demo/ARM7_LPC2129_IAR/ParTest/ParTest.c2
-rw-r--r--Demo/ARM7_LPC2129_IAR/main.c2
-rw-r--r--Demo/ARM7_LPC2129_IAR/serial/serial.c2
-rw-r--r--Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h2
-rw-r--r--Demo/ARM7_LPC2138_Rowley/main.c2
-rw-r--r--Demo/ARM7_LPC2138_Rowley/mainISR.c2
-rw-r--r--Demo/ARM7_LPC2368_Rowley/ParTest/ParTest.c2
-rw-r--r--Demo/ARM7_LPC2368_Rowley/main.c2
-rw-r--r--Demo/ARM7_LPC2368_Rowley/webserver/uIP_Task.c2
-rw-r--r--Demo/ARM7_STR71x_IAR/FreeRTOSConfig.h2
-rw-r--r--Demo/ARM7_STR71x_IAR/ParTest/ParTest.c2
-rw-r--r--Demo/ARM7_STR71x_IAR/main.c2
-rw-r--r--Demo/ARM7_STR71x_IAR/serial/serial.c2
-rw-r--r--Demo/ARM7_STR75x_IAR/FreeRTOSConfig.h2
-rw-r--r--Demo/ARM7_STR75x_IAR/ParTest/ParTest.c2
-rw-r--r--Demo/ARM7_STR75x_IAR/main.c2
-rw-r--r--Demo/ARM7_STR75x_IAR/serial/serial.c2
-rw-r--r--Demo/ARM9_STR91X_IAR/FreeRTOSConfig.h2
-rw-r--r--Demo/ARM9_STR91X_IAR/ParTest/ParTest.c2
-rw-r--r--Demo/ARM9_STR91X_IAR/main.c2
-rw-r--r--Demo/ARM9_STR91X_IAR/serial/serial.c2
-rw-r--r--Demo/ARM9_STR91X_IAR/webserver/uIP_Task.c2
-rw-r--r--Demo/AVR32_UC3/main.c2
-rw-r--r--Demo/AVR_ATMega323_IAR/FreeRTOSConfig.h2
-rw-r--r--Demo/AVR_ATMega323_IAR/ParTest/ParTest.c2
-rw-r--r--Demo/AVR_ATMega323_IAR/main.c2
-rw-r--r--Demo/AVR_ATMega323_IAR/regtest.c2
-rw-r--r--Demo/AVR_ATMega323_IAR/regtest.h2
-rw-r--r--Demo/AVR_ATMega323_IAR/serial/serial.c2
-rw-r--r--Demo/AVR_ATMega323_WinAVR/FreeRTOSConfig.h2
-rw-r--r--Demo/AVR_ATMega323_WinAVR/ParTest/ParTest.c2
-rw-r--r--Demo/AVR_ATMega323_WinAVR/main.c2
-rw-r--r--Demo/AVR_ATMega323_WinAVR/regtest.c2
-rw-r--r--Demo/AVR_ATMega323_WinAVR/regtest.h2
-rw-r--r--Demo/AVR_ATMega323_WinAVR/serial/serial.c2
-rw-r--r--Demo/CORTEX_LM3S102_GCC/Demo1/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S102_GCC/Demo1/main.c2
-rw-r--r--Demo/CORTEX_LM3S102_GCC/Demo2/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S102_GCC/Demo2/main.c2
-rw-r--r--Demo/CORTEX_LM3S102_GCC/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S102_GCC/ParTest/ParTest.c2
-rw-r--r--Demo/CORTEX_LM3S102_GCC/main.c2
-rw-r--r--Demo/CORTEX_LM3S102_KEIL/Demo1/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S102_KEIL/Demo1/main.c2
-rw-r--r--Demo/CORTEX_LM3S102_KEIL/Demo2/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S102_KEIL/Demo2/main.c2
-rw-r--r--Demo/CORTEX_LM3S102_KEIL/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S102_KEIL/ParTest/ParTest.c2
-rw-r--r--Demo/CORTEX_LM3S102_KEIL/main.c2
-rw-r--r--Demo/CORTEX_LM3S102_Rowley/Demo1/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S102_Rowley/Demo1/ParTest.c2
-rw-r--r--Demo/CORTEX_LM3S102_Rowley/Demo1/main.c2
-rw-r--r--Demo/CORTEX_LM3S102_Rowley/Demo2/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S102_Rowley/Demo2/ParTest.c2
-rw-r--r--Demo/CORTEX_LM3S102_Rowley/Demo2/main.c2
-rw-r--r--Demo/CORTEX_LM3S102_Rowley/Demo3/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S102_Rowley/Demo3/ParTest.c2
-rw-r--r--Demo/CORTEX_LM3S102_Rowley/Demo3/main.c2
-rw-r--r--Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S316_IAR/ParTest/ParTest.c2
-rw-r--r--Demo/CORTEX_LM3S316_IAR/commstest.c2
-rw-r--r--Demo/CORTEX_LM3S316_IAR/commstest.h2
-rw-r--r--Demo/CORTEX_LM3S316_IAR/main.c2
-rw-r--r--Demo/CORTEX_LM3S811_GCC/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S811_GCC/main.c2
-rw-r--r--Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S811_IAR/main.c2
-rw-r--r--Demo/CORTEX_LM3S811_KEIL/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_LM3S811_KEIL/heap/heap_1.c2
-rw-r--r--Demo/CORTEX_LM3S811_KEIL/main.c2
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/FreeRTOSConfig.h4
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/Makefile11
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/ParTest/ParTest.c2
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/bitmap.h171
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/formike128x128x16.c902
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/formike128x128x16.h51
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/main.c131
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/timertest.c10
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/emac.c2
-rw-r--r--Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/uIP_Task.c2
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h29
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/ParTest/ParTest.c2
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Opt44
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Uv232
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp9
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/bitmap.h171
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/formike128x128x16.c902
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/formike128x128x16.h51
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/main.c88
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dbgdt22
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.wsdt10
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c9
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c16
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/emac.c2
-rw-r--r--Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/uIP_Task.c2
-rw-r--r--Demo/CORTEX_STM32F103_IAR/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_STM32F103_IAR/ParTest/ParTest.c2
-rw-r--r--Demo/CORTEX_STM32F103_IAR/main.c2
-rw-r--r--Demo/CORTEX_STM32F103_IAR/serial/serial.c2
-rw-r--r--Demo/CORTEX_STM32F103_IAR/timertest.c2
-rw-r--r--Demo/CORTEX_STM32F103_Primer_GCC/FreeRTOSConfig.h2
-rw-r--r--Demo/CORTEX_STM32F103_Primer_GCC/ParTest/ParTest.c2
-rw-r--r--Demo/CORTEX_STM32F103_Primer_GCC/bitmap.h2
-rw-r--r--Demo/CORTEX_STM32F103_Primer_GCC/main.c2
-rw-r--r--Demo/CORTEX_STM32F103_Primer_GCC/timertest.c2
-rw-r--r--Demo/Cygnal/FreeRTOSConfig.h2
-rw-r--r--Demo/Cygnal/Makefile2
-rw-r--r--Demo/Cygnal/ParTest/ParTest.c2
-rw-r--r--Demo/Cygnal/main.c2
-rw-r--r--Demo/Cygnal/serial/serial.c2
-rw-r--r--Demo/Flshlite/FRConfig.h2
-rw-r--r--Demo/Flshlite/FileIO/fileIO.c2
-rw-r--r--Demo/Flshlite/FreeRTOSConfig.h2
-rw-r--r--Demo/Flshlite/ParTest/ParTest.c2
-rw-r--r--Demo/Flshlite/main.c2
-rw-r--r--Demo/Flshlite/serial/serial.c2
-rw-r--r--Demo/HCS12_CodeWarrior_small/FreeRTOSConfig.h2
-rw-r--r--Demo/HCS12_CodeWarrior_small/ParTest/ParTest.c2
-rw-r--r--Demo/HCS12_CodeWarrior_small/main.c2
-rw-r--r--Demo/HCS12_CodeWarrior_small/serial/serial.c2
-rw-r--r--Demo/HCS12_GCC_banked/FreeRTOSConfig.h2
-rw-r--r--Demo/HCS12_GCC_banked/ParTest.c2
-rw-r--r--Demo/HCS12_GCC_banked/main.c2
-rw-r--r--Demo/HCS12_GCC_banked/startup.c2
-rw-r--r--Demo/MB91460_Softune/SRC/crflash_modified.c2
-rw-r--r--Demo/MB91460_Softune/SRC/main.c2
-rw-r--r--Demo/MB91460_Softune/SRC/partest/partest.c2
-rw-r--r--Demo/MB91460_Softune/SRC/serial/serial.c2
-rw-r--r--Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/FreeRTOSConfig.h2
-rw-r--r--Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/crflash_sk16fx100mpc.c2
-rw-r--r--Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/main.c2
-rw-r--r--Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/partest/partest.c2
-rw-r--r--Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/serial/serial.c2
-rw-r--r--Demo/PC/FRConfig.h2
-rw-r--r--Demo/PC/FileIO/fileIO.c2
-rw-r--r--Demo/PC/FreeRTOSConfig.h10
-rw-r--r--Demo/PC/ParTest/ParTest.c2
-rw-r--r--Demo/PC/main.c65
-rw-r--r--Demo/PC/serial/serial.c2
-rw-r--r--Demo/PIC18_MPLAB/FreeRTOSConfig.h2
-rw-r--r--Demo/PIC18_MPLAB/ParTest/ParTest.c2
-rw-r--r--Demo/PIC18_MPLAB/main1.c2
-rw-r--r--Demo/PIC18_MPLAB/main2.c2
-rw-r--r--Demo/PIC18_MPLAB/main3.c2
-rw-r--r--Demo/PIC18_MPLAB/serial/serial.c2
-rw-r--r--Demo/PIC24_MPLAB/FreeRTOSConfig.h2
-rw-r--r--Demo/PIC24_MPLAB/ParTest/ParTest.c2
-rw-r--r--Demo/PIC24_MPLAB/lcd.c2
-rw-r--r--Demo/PIC24_MPLAB/lcd.h2
-rw-r--r--Demo/PIC24_MPLAB/main.c2
-rw-r--r--Demo/PIC24_MPLAB/serial/serial.c2
-rw-r--r--Demo/PIC24_MPLAB/timertest.c2
-rw-r--r--Demo/PIC24_MPLAB/timertest.h2
-rw-r--r--Demo/PIC32MX_MPLAB/FreeRTOSConfig.h2
-rw-r--r--Demo/PIC32MX_MPLAB/ParTest/ParTest.c2
-rw-r--r--Demo/PIC32MX_MPLAB/RegisterTestTasks.s2
-rw-r--r--Demo/PIC32MX_MPLAB/lcd.c2
-rw-r--r--Demo/PIC32MX_MPLAB/lcd.h2
-rw-r--r--Demo/PIC32MX_MPLAB/main.c2
-rw-r--r--Demo/PIC32MX_MPLAB/serial/serial.c2
-rw-r--r--Demo/PIC32MX_MPLAB/timertest.c2
-rw-r--r--Demo/PIC32MX_MPLAB/timertest.h2
-rw-r--r--Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h2
-rw-r--r--Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c1333
-rw-r--r--Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c2
-rw-r--r--Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c454
-rw-r--r--Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt2
-rw-r--r--Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp1
-rw-r--r--Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/FreeRTOSConfig.h2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.c2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.h2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/Makefile2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/TCP.c2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/TCP.h2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/TCPISR.c2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/html_pages.h2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/i2c.c2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/i2c.h2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/i2cISR.c2
-rw-r--r--Demo/WizNET_DEMO_GCC_ARM7/main.c2
-rw-r--r--Demo/WizNET_DEMO_TERN_186/FreeRTOSConfig.h2
-rw-r--r--Demo/WizNET_DEMO_TERN_186/HTTPTask.c2
-rw-r--r--Demo/WizNET_DEMO_TERN_186/HTTPTask.h2
-rw-r--r--Demo/WizNET_DEMO_TERN_186/main.c2
-rw-r--r--Demo/WizNET_DEMO_TERN_186/serial/serial.c2
-rw-r--r--Demo/dsPIC_MPLAB/FreeRTOSConfig.h2
-rw-r--r--Demo/dsPIC_MPLAB/ParTest/ParTest.c2
-rw-r--r--Demo/dsPIC_MPLAB/lcd.c2
-rw-r--r--Demo/dsPIC_MPLAB/lcd.h2
-rw-r--r--Demo/dsPIC_MPLAB/main.c2
-rw-r--r--Demo/dsPIC_MPLAB/serial/serial.c2
-rw-r--r--Demo/dsPIC_MPLAB/timertest.c2
-rw-r--r--Demo/dsPIC_MPLAB/timertest.h2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.c2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.h2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.c2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.h2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC_ISR.c2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/FreeRTOSConfig.h2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/ParTest/ParTest.c2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.c2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.h2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/USB/USBIsr.c2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/USB/descriptors.h2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/USB/usb.h2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/main.c2
-rw-r--r--Demo/lwIP_Demo_Rowley_ARM7/makefile2
-rw-r--r--Demo/msp430_CrossWorks/FreeRTOSConfig.h2
-rw-r--r--Demo/msp430_CrossWorks/ParTest/ParTest.c2
-rw-r--r--Demo/msp430_CrossWorks/main.c2
-rw-r--r--Demo/msp430_CrossWorks/serial/serial.c2
-rw-r--r--Demo/msp430_GCC/FreeRTOSConfig.h2
-rw-r--r--Demo/msp430_GCC/ParTest/ParTest.c2
-rw-r--r--Demo/msp430_GCC/main.c2
-rw-r--r--Demo/msp430_GCC/makefile2
-rw-r--r--Demo/msp430_GCC/serial/serial.c2
-rw-r--r--Demo/uIP_Demo_IAR_ARM7/EMAC/EMAClISR.s792
-rw-r--r--Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.c2
-rw-r--r--Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h2
-rw-r--r--Demo/uIP_Demo_IAR_ARM7/ParTest/ParTest.c2
-rw-r--r--Demo/uIP_Demo_IAR_ARM7/main.c2
240 files changed, 3642 insertions, 1316 deletions
diff --git a/Demo/ARM7_AT91FR40008_GCC/FreeRTOSConfig.h b/Demo/ARM7_AT91FR40008_GCC/FreeRTOSConfig.h
index 5fe8eebb..8ed8c2fc 100644
--- a/Demo/ARM7_AT91FR40008_GCC/FreeRTOSConfig.h
+++ b/Demo/ARM7_AT91FR40008_GCC/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_AT91FR40008_GCC/Makefile b/Demo/ARM7_AT91FR40008_GCC/Makefile
index 5ecbd998..8503ffa8 100644
--- a/Demo/ARM7_AT91FR40008_GCC/Makefile
+++ b/Demo/ARM7_AT91FR40008_GCC/Makefile
@@ -1,4 +1,4 @@
-# FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+# FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
#
# This file is part of the FreeRTOS.org distribution.
#
diff --git a/Demo/ARM7_AT91FR40008_GCC/ParTest/ParTest.c b/Demo/ARM7_AT91FR40008_GCC/ParTest/ParTest.c
index a634708b..30f4ea1c 100644
--- a/Demo/ARM7_AT91FR40008_GCC/ParTest/ParTest.c
+++ b/Demo/ARM7_AT91FR40008_GCC/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_AT91FR40008_GCC/main.c b/Demo/ARM7_AT91FR40008_GCC/main.c
index 496b71f6..11b7c136 100644
--- a/Demo/ARM7_AT91FR40008_GCC/main.c
+++ b/Demo/ARM7_AT91FR40008_GCC/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_AT91FR40008_GCC/serial/serial.c b/Demo/ARM7_AT91FR40008_GCC/serial/serial.c
index 255eb1d7..6e240439 100644
--- a/Demo/ARM7_AT91FR40008_GCC/serial/serial.c
+++ b/Demo/ARM7_AT91FR40008_GCC/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_AT91FR40008_GCC/serial/serialISR.c b/Demo/ARM7_AT91FR40008_GCC/serial/serialISR.c
index 70a775f5..b499fee1 100644
--- a/Demo/ARM7_AT91FR40008_GCC/serial/serialISR.c
+++ b/Demo/ARM7_AT91FR40008_GCC/serial/serialISR.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h b/Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h
index 361614ce..6b735cc8 100644
--- a/Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h
+++ b/Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_AT91SAM7S64_IAR/ParTest/ParTest.c b/Demo/ARM7_AT91SAM7S64_IAR/ParTest/ParTest.c
index 86291af0..a3841239 100644
--- a/Demo/ARM7_AT91SAM7S64_IAR/ParTest/ParTest.c
+++ b/Demo/ARM7_AT91SAM7S64_IAR/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_AT91SAM7S64_IAR/USB/USBSample.c b/Demo/ARM7_AT91SAM7S64_IAR/USB/USBSample.c
index 5f1c8d86..12b1028a 100644
--- a/Demo/ARM7_AT91SAM7S64_IAR/USB/USBSample.c
+++ b/Demo/ARM7_AT91SAM7S64_IAR/USB/USBSample.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_AT91SAM7S64_IAR/main.c b/Demo/ARM7_AT91SAM7S64_IAR/main.c
index f6774a7a..f6042530 100644
--- a/Demo/ARM7_AT91SAM7S64_IAR/main.c
+++ b/Demo/ARM7_AT91SAM7S64_IAR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_AT91SAM7S64_IAR/serial/serial.c b/Demo/ARM7_AT91SAM7S64_IAR/serial/serial.c
index 47d0fd8f..5048c8bf 100644
--- a/Demo/ARM7_AT91SAM7S64_IAR/serial/serial.c
+++ b/Demo/ARM7_AT91SAM7S64_IAR/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2106_GCC/FreeRTOSConfig.h b/Demo/ARM7_LPC2106_GCC/FreeRTOSConfig.h
index 3cf59933..7f8ed286 100644
--- a/Demo/ARM7_LPC2106_GCC/FreeRTOSConfig.h
+++ b/Demo/ARM7_LPC2106_GCC/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2106_GCC/Makefile b/Demo/ARM7_LPC2106_GCC/Makefile
index cd7c9930..3e85db6e 100644
--- a/Demo/ARM7_LPC2106_GCC/Makefile
+++ b/Demo/ARM7_LPC2106_GCC/Makefile
@@ -1,4 +1,4 @@
-# FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+# FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
#
# This file is part of the FreeRTOS.org distribution.
#
diff --git a/Demo/ARM7_LPC2106_GCC/ParTest/ParTest.c b/Demo/ARM7_LPC2106_GCC/ParTest/ParTest.c
index e629fcab..9630d3dd 100644
--- a/Demo/ARM7_LPC2106_GCC/ParTest/ParTest.c
+++ b/Demo/ARM7_LPC2106_GCC/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2106_GCC/main.c b/Demo/ARM7_LPC2106_GCC/main.c
index e3863dc9..509b4766 100644
--- a/Demo/ARM7_LPC2106_GCC/main.c
+++ b/Demo/ARM7_LPC2106_GCC/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2106_GCC/serial/serial.c b/Demo/ARM7_LPC2106_GCC/serial/serial.c
index 04ed2716..6627ca8b 100644
--- a/Demo/ARM7_LPC2106_GCC/serial/serial.c
+++ b/Demo/ARM7_LPC2106_GCC/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2106_GCC/serial/serialISR.c b/Demo/ARM7_LPC2106_GCC/serial/serialISR.c
index 7e053e17..5ae128fe 100644
--- a/Demo/ARM7_LPC2106_GCC/serial/serialISR.c
+++ b/Demo/ARM7_LPC2106_GCC/serial/serialISR.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h b/Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h
index 0d3ba96b..8eee8b48 100644
--- a/Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h
+++ b/Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2129_IAR/ParTest/ParTest.c b/Demo/ARM7_LPC2129_IAR/ParTest/ParTest.c
index f8c6d874..71b31719 100644
--- a/Demo/ARM7_LPC2129_IAR/ParTest/ParTest.c
+++ b/Demo/ARM7_LPC2129_IAR/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2129_IAR/main.c b/Demo/ARM7_LPC2129_IAR/main.c
index 1c8bcad1..fa8f60c3 100644
--- a/Demo/ARM7_LPC2129_IAR/main.c
+++ b/Demo/ARM7_LPC2129_IAR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2129_IAR/serial/serial.c b/Demo/ARM7_LPC2129_IAR/serial/serial.c
index a4d8c25f..ea923b61 100644
--- a/Demo/ARM7_LPC2129_IAR/serial/serial.c
+++ b/Demo/ARM7_LPC2129_IAR/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h b/Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h
index 361ca55c..fd8aa8ec 100644
--- a/Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h
+++ b/Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2138_Rowley/main.c b/Demo/ARM7_LPC2138_Rowley/main.c
index 9b167ca7..ec5fdabf 100644
--- a/Demo/ARM7_LPC2138_Rowley/main.c
+++ b/Demo/ARM7_LPC2138_Rowley/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2138_Rowley/mainISR.c b/Demo/ARM7_LPC2138_Rowley/mainISR.c
index fb07b17e..46146a99 100644
--- a/Demo/ARM7_LPC2138_Rowley/mainISR.c
+++ b/Demo/ARM7_LPC2138_Rowley/mainISR.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2368_Rowley/ParTest/ParTest.c b/Demo/ARM7_LPC2368_Rowley/ParTest/ParTest.c
index d8caf9cb..79163639 100644
--- a/Demo/ARM7_LPC2368_Rowley/ParTest/ParTest.c
+++ b/Demo/ARM7_LPC2368_Rowley/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2368_Rowley/main.c b/Demo/ARM7_LPC2368_Rowley/main.c
index 28c333ad..bad607a0 100644
--- a/Demo/ARM7_LPC2368_Rowley/main.c
+++ b/Demo/ARM7_LPC2368_Rowley/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_LPC2368_Rowley/webserver/uIP_Task.c b/Demo/ARM7_LPC2368_Rowley/webserver/uIP_Task.c
index 3bd8b8ae..c905f0b5 100644
--- a/Demo/ARM7_LPC2368_Rowley/webserver/uIP_Task.c
+++ b/Demo/ARM7_LPC2368_Rowley/webserver/uIP_Task.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_STR71x_IAR/FreeRTOSConfig.h b/Demo/ARM7_STR71x_IAR/FreeRTOSConfig.h
index 3d4f1dd4..dff09ebe 100644
--- a/Demo/ARM7_STR71x_IAR/FreeRTOSConfig.h
+++ b/Demo/ARM7_STR71x_IAR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_STR71x_IAR/ParTest/ParTest.c b/Demo/ARM7_STR71x_IAR/ParTest/ParTest.c
index 0ab56c36..6a8fedfa 100644
--- a/Demo/ARM7_STR71x_IAR/ParTest/ParTest.c
+++ b/Demo/ARM7_STR71x_IAR/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_STR71x_IAR/main.c b/Demo/ARM7_STR71x_IAR/main.c
index be5f1aa6..038d98a1 100644
--- a/Demo/ARM7_STR71x_IAR/main.c
+++ b/Demo/ARM7_STR71x_IAR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_STR71x_IAR/serial/serial.c b/Demo/ARM7_STR71x_IAR/serial/serial.c
index 7fd7d675..d7247cf4 100644
--- a/Demo/ARM7_STR71x_IAR/serial/serial.c
+++ b/Demo/ARM7_STR71x_IAR/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_STR75x_IAR/FreeRTOSConfig.h b/Demo/ARM7_STR75x_IAR/FreeRTOSConfig.h
index 49e90670..214cb856 100644
--- a/Demo/ARM7_STR75x_IAR/FreeRTOSConfig.h
+++ b/Demo/ARM7_STR75x_IAR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_STR75x_IAR/ParTest/ParTest.c b/Demo/ARM7_STR75x_IAR/ParTest/ParTest.c
index b0f0936d..98889734 100644
--- a/Demo/ARM7_STR75x_IAR/ParTest/ParTest.c
+++ b/Demo/ARM7_STR75x_IAR/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_STR75x_IAR/main.c b/Demo/ARM7_STR75x_IAR/main.c
index f8b8d8bb..ac63dd9a 100644
--- a/Demo/ARM7_STR75x_IAR/main.c
+++ b/Demo/ARM7_STR75x_IAR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM7_STR75x_IAR/serial/serial.c b/Demo/ARM7_STR75x_IAR/serial/serial.c
index 29548a80..a7b576da 100644
--- a/Demo/ARM7_STR75x_IAR/serial/serial.c
+++ b/Demo/ARM7_STR75x_IAR/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/ARM9_STR91X_IAR/FreeRTOSConfig.h b/Demo/ARM9_STR91X_IAR/FreeRTOSConfig.h
index 5c68e3a4..77e984a7 100644
--- a/Demo/ARM9_STR91X_IAR/FreeRTOSConfig.h
+++ b/Demo/ARM9_STR91X_IAR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS distribution.
diff --git a/Demo/ARM9_STR91X_IAR/ParTest/ParTest.c b/Demo/ARM9_STR91X_IAR/ParTest/ParTest.c
index 83220dad..24629542 100644
--- a/Demo/ARM9_STR91X_IAR/ParTest/ParTest.c
+++ b/Demo/ARM9_STR91X_IAR/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS distribution.
diff --git a/Demo/ARM9_STR91X_IAR/main.c b/Demo/ARM9_STR91X_IAR/main.c
index 3f2c2b98..b116a742 100644
--- a/Demo/ARM9_STR91X_IAR/main.c
+++ b/Demo/ARM9_STR91X_IAR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS distribution.
diff --git a/Demo/ARM9_STR91X_IAR/serial/serial.c b/Demo/ARM9_STR91X_IAR/serial/serial.c
index 6df42f0c..db4099e3 100644
--- a/Demo/ARM9_STR91X_IAR/serial/serial.c
+++ b/Demo/ARM9_STR91X_IAR/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS distribution.
diff --git a/Demo/ARM9_STR91X_IAR/webserver/uIP_Task.c b/Demo/ARM9_STR91X_IAR/webserver/uIP_Task.c
index 8921c7f4..2a6299e6 100644
--- a/Demo/ARM9_STR91X_IAR/webserver/uIP_Task.c
+++ b/Demo/ARM9_STR91X_IAR/webserver/uIP_Task.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR32_UC3/main.c b/Demo/AVR32_UC3/main.c
index 5d7217a1..cfe21ded 100644
--- a/Demo/AVR32_UC3/main.c
+++ b/Demo/AVR32_UC3/main.c
@@ -30,7 +30,7 @@
*****************************************************************************/
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_IAR/FreeRTOSConfig.h b/Demo/AVR_ATMega323_IAR/FreeRTOSConfig.h
index acb24e8b..aea72abf 100644
--- a/Demo/AVR_ATMega323_IAR/FreeRTOSConfig.h
+++ b/Demo/AVR_ATMega323_IAR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_IAR/ParTest/ParTest.c b/Demo/AVR_ATMega323_IAR/ParTest/ParTest.c
index c796c7ab..539084ad 100644
--- a/Demo/AVR_ATMega323_IAR/ParTest/ParTest.c
+++ b/Demo/AVR_ATMega323_IAR/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_IAR/main.c b/Demo/AVR_ATMega323_IAR/main.c
index 8d15de00..02df2a14 100644
--- a/Demo/AVR_ATMega323_IAR/main.c
+++ b/Demo/AVR_ATMega323_IAR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_IAR/regtest.c b/Demo/AVR_ATMega323_IAR/regtest.c
index 0f57d9b3..ce93a155 100644
--- a/Demo/AVR_ATMega323_IAR/regtest.c
+++ b/Demo/AVR_ATMega323_IAR/regtest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_IAR/regtest.h b/Demo/AVR_ATMega323_IAR/regtest.h
index 7c602166..c1f5a2f0 100644
--- a/Demo/AVR_ATMega323_IAR/regtest.h
+++ b/Demo/AVR_ATMega323_IAR/regtest.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_IAR/serial/serial.c b/Demo/AVR_ATMega323_IAR/serial/serial.c
index d9259abb..dd3e7ca7 100644
--- a/Demo/AVR_ATMega323_IAR/serial/serial.c
+++ b/Demo/AVR_ATMega323_IAR/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_WinAVR/FreeRTOSConfig.h b/Demo/AVR_ATMega323_WinAVR/FreeRTOSConfig.h
index afd86a9a..c2af9298 100644
--- a/Demo/AVR_ATMega323_WinAVR/FreeRTOSConfig.h
+++ b/Demo/AVR_ATMega323_WinAVR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_WinAVR/ParTest/ParTest.c b/Demo/AVR_ATMega323_WinAVR/ParTest/ParTest.c
index c796c7ab..539084ad 100644
--- a/Demo/AVR_ATMega323_WinAVR/ParTest/ParTest.c
+++ b/Demo/AVR_ATMega323_WinAVR/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_WinAVR/main.c b/Demo/AVR_ATMega323_WinAVR/main.c
index 20b013ca..b3a5cf1a 100644
--- a/Demo/AVR_ATMega323_WinAVR/main.c
+++ b/Demo/AVR_ATMega323_WinAVR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_WinAVR/regtest.c b/Demo/AVR_ATMega323_WinAVR/regtest.c
index 0f57d9b3..ce93a155 100644
--- a/Demo/AVR_ATMega323_WinAVR/regtest.c
+++ b/Demo/AVR_ATMega323_WinAVR/regtest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_WinAVR/regtest.h b/Demo/AVR_ATMega323_WinAVR/regtest.h
index 7c602166..c1f5a2f0 100644
--- a/Demo/AVR_ATMega323_WinAVR/regtest.h
+++ b/Demo/AVR_ATMega323_WinAVR/regtest.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/AVR_ATMega323_WinAVR/serial/serial.c b/Demo/AVR_ATMega323_WinAVR/serial/serial.c
index 268d9916..78b85e07 100644
--- a/Demo/AVR_ATMega323_WinAVR/serial/serial.c
+++ b/Demo/AVR_ATMega323_WinAVR/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_GCC/Demo1/FreeRTOSConfig.h b/Demo/CORTEX_LM3S102_GCC/Demo1/FreeRTOSConfig.h
index cb188c7d..589c390e 100644
--- a/Demo/CORTEX_LM3S102_GCC/Demo1/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S102_GCC/Demo1/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_GCC/Demo1/main.c b/Demo/CORTEX_LM3S102_GCC/Demo1/main.c
index e4ddc3f3..868d05c2 100644
--- a/Demo/CORTEX_LM3S102_GCC/Demo1/main.c
+++ b/Demo/CORTEX_LM3S102_GCC/Demo1/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_GCC/Demo2/FreeRTOSConfig.h b/Demo/CORTEX_LM3S102_GCC/Demo2/FreeRTOSConfig.h
index 21934fd8..9a86d993 100644
--- a/Demo/CORTEX_LM3S102_GCC/Demo2/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S102_GCC/Demo2/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_GCC/Demo2/main.c b/Demo/CORTEX_LM3S102_GCC/Demo2/main.c
index 847ff823..b520655a 100644
--- a/Demo/CORTEX_LM3S102_GCC/Demo2/main.c
+++ b/Demo/CORTEX_LM3S102_GCC/Demo2/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_GCC/FreeRTOSConfig.h b/Demo/CORTEX_LM3S102_GCC/FreeRTOSConfig.h
index cb188c7d..589c390e 100644
--- a/Demo/CORTEX_LM3S102_GCC/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S102_GCC/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_GCC/ParTest/ParTest.c b/Demo/CORTEX_LM3S102_GCC/ParTest/ParTest.c
index 5e5ea368..684a2e02 100644
--- a/Demo/CORTEX_LM3S102_GCC/ParTest/ParTest.c
+++ b/Demo/CORTEX_LM3S102_GCC/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_GCC/main.c b/Demo/CORTEX_LM3S102_GCC/main.c
index e4ddc3f3..868d05c2 100644
--- a/Demo/CORTEX_LM3S102_GCC/main.c
+++ b/Demo/CORTEX_LM3S102_GCC/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_KEIL/Demo1/FreeRTOSConfig.h b/Demo/CORTEX_LM3S102_KEIL/Demo1/FreeRTOSConfig.h
index cb188c7d..589c390e 100644
--- a/Demo/CORTEX_LM3S102_KEIL/Demo1/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S102_KEIL/Demo1/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_KEIL/Demo1/main.c b/Demo/CORTEX_LM3S102_KEIL/Demo1/main.c
index 0f3c7ed6..8d4a7680 100644
--- a/Demo/CORTEX_LM3S102_KEIL/Demo1/main.c
+++ b/Demo/CORTEX_LM3S102_KEIL/Demo1/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_KEIL/Demo2/FreeRTOSConfig.h b/Demo/CORTEX_LM3S102_KEIL/Demo2/FreeRTOSConfig.h
index 21934fd8..9a86d993 100644
--- a/Demo/CORTEX_LM3S102_KEIL/Demo2/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S102_KEIL/Demo2/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_KEIL/Demo2/main.c b/Demo/CORTEX_LM3S102_KEIL/Demo2/main.c
index 6247dbe4..e9107c9e 100644
--- a/Demo/CORTEX_LM3S102_KEIL/Demo2/main.c
+++ b/Demo/CORTEX_LM3S102_KEIL/Demo2/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_KEIL/FreeRTOSConfig.h b/Demo/CORTEX_LM3S102_KEIL/FreeRTOSConfig.h
index 25a2688e..5faf5cc3 100644
--- a/Demo/CORTEX_LM3S102_KEIL/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S102_KEIL/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_KEIL/ParTest/ParTest.c b/Demo/CORTEX_LM3S102_KEIL/ParTest/ParTest.c
index 5e5ea368..684a2e02 100644
--- a/Demo/CORTEX_LM3S102_KEIL/ParTest/ParTest.c
+++ b/Demo/CORTEX_LM3S102_KEIL/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_KEIL/main.c b/Demo/CORTEX_LM3S102_KEIL/main.c
index 0f3c7ed6..8d4a7680 100644
--- a/Demo/CORTEX_LM3S102_KEIL/main.c
+++ b/Demo/CORTEX_LM3S102_KEIL/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_Rowley/Demo1/FreeRTOSConfig.h b/Demo/CORTEX_LM3S102_Rowley/Demo1/FreeRTOSConfig.h
index cb188c7d..589c390e 100644
--- a/Demo/CORTEX_LM3S102_Rowley/Demo1/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S102_Rowley/Demo1/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_Rowley/Demo1/ParTest.c b/Demo/CORTEX_LM3S102_Rowley/Demo1/ParTest.c
index 5e5ea368..684a2e02 100644
--- a/Demo/CORTEX_LM3S102_Rowley/Demo1/ParTest.c
+++ b/Demo/CORTEX_LM3S102_Rowley/Demo1/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_Rowley/Demo1/main.c b/Demo/CORTEX_LM3S102_Rowley/Demo1/main.c
index e46aa70b..9ba10770 100644
--- a/Demo/CORTEX_LM3S102_Rowley/Demo1/main.c
+++ b/Demo/CORTEX_LM3S102_Rowley/Demo1/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_Rowley/Demo2/FreeRTOSConfig.h b/Demo/CORTEX_LM3S102_Rowley/Demo2/FreeRTOSConfig.h
index 21934fd8..9a86d993 100644
--- a/Demo/CORTEX_LM3S102_Rowley/Demo2/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S102_Rowley/Demo2/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_Rowley/Demo2/ParTest.c b/Demo/CORTEX_LM3S102_Rowley/Demo2/ParTest.c
index 5e5ea368..684a2e02 100644
--- a/Demo/CORTEX_LM3S102_Rowley/Demo2/ParTest.c
+++ b/Demo/CORTEX_LM3S102_Rowley/Demo2/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_Rowley/Demo2/main.c b/Demo/CORTEX_LM3S102_Rowley/Demo2/main.c
index e2f20288..4039e249 100644
--- a/Demo/CORTEX_LM3S102_Rowley/Demo2/main.c
+++ b/Demo/CORTEX_LM3S102_Rowley/Demo2/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_Rowley/Demo3/FreeRTOSConfig.h b/Demo/CORTEX_LM3S102_Rowley/Demo3/FreeRTOSConfig.h
index fe24d4fa..837b9e8d 100644
--- a/Demo/CORTEX_LM3S102_Rowley/Demo3/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S102_Rowley/Demo3/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_Rowley/Demo3/ParTest.c b/Demo/CORTEX_LM3S102_Rowley/Demo3/ParTest.c
index 4bc5c10c..a6716bbe 100644
--- a/Demo/CORTEX_LM3S102_Rowley/Demo3/ParTest.c
+++ b/Demo/CORTEX_LM3S102_Rowley/Demo3/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S102_Rowley/Demo3/main.c b/Demo/CORTEX_LM3S102_Rowley/Demo3/main.c
index bd8adc11..9658cfde 100644
--- a/Demo/CORTEX_LM3S102_Rowley/Demo3/main.c
+++ b/Demo/CORTEX_LM3S102_Rowley/Demo3/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h b/Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h
index b8f0283d..17fbce53 100644
--- a/Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S316_IAR/ParTest/ParTest.c b/Demo/CORTEX_LM3S316_IAR/ParTest/ParTest.c
index 5e5ea368..684a2e02 100644
--- a/Demo/CORTEX_LM3S316_IAR/ParTest/ParTest.c
+++ b/Demo/CORTEX_LM3S316_IAR/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S316_IAR/commstest.c b/Demo/CORTEX_LM3S316_IAR/commstest.c
index 4213be7d..e032a252 100644
--- a/Demo/CORTEX_LM3S316_IAR/commstest.c
+++ b/Demo/CORTEX_LM3S316_IAR/commstest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S316_IAR/commstest.h b/Demo/CORTEX_LM3S316_IAR/commstest.h
index 948463a9..c4cf0f28 100644
--- a/Demo/CORTEX_LM3S316_IAR/commstest.h
+++ b/Demo/CORTEX_LM3S316_IAR/commstest.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S316_IAR/main.c b/Demo/CORTEX_LM3S316_IAR/main.c
index 89f66790..6b72eefb 100644
--- a/Demo/CORTEX_LM3S316_IAR/main.c
+++ b/Demo/CORTEX_LM3S316_IAR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S811_GCC/FreeRTOSConfig.h b/Demo/CORTEX_LM3S811_GCC/FreeRTOSConfig.h
index e580cda2..290a2c3b 100644
--- a/Demo/CORTEX_LM3S811_GCC/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S811_GCC/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S811_GCC/main.c b/Demo/CORTEX_LM3S811_GCC/main.c
index 5c581039..ef7ec8a4 100644
--- a/Demo/CORTEX_LM3S811_GCC/main.c
+++ b/Demo/CORTEX_LM3S811_GCC/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h b/Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h
index ea05ad52..bd41b125 100644
--- a/Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S811_IAR/main.c b/Demo/CORTEX_LM3S811_IAR/main.c
index 4441aa06..27bb1ef6 100644
--- a/Demo/CORTEX_LM3S811_IAR/main.c
+++ b/Demo/CORTEX_LM3S811_IAR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S811_KEIL/FreeRTOSConfig.h b/Demo/CORTEX_LM3S811_KEIL/FreeRTOSConfig.h
index 9c2c1742..0a2a9327 100644
--- a/Demo/CORTEX_LM3S811_KEIL/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3S811_KEIL/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S811_KEIL/heap/heap_1.c b/Demo/CORTEX_LM3S811_KEIL/heap/heap_1.c
index 59c23f5a..9c340590 100644
--- a/Demo/CORTEX_LM3S811_KEIL/heap/heap_1.c
+++ b/Demo/CORTEX_LM3S811_KEIL/heap/heap_1.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3S811_KEIL/main.c b/Demo/CORTEX_LM3S811_KEIL/main.c
index 0233d951..77a489fa 100644
--- a/Demo/CORTEX_LM3S811_KEIL/main.c
+++ b/Demo/CORTEX_LM3S811_KEIL/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/FreeRTOSConfig.h b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/FreeRTOSConfig.h
index c81bcfda..f3d93dfa 100644
--- a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@@ -61,7 +61,7 @@
*----------------------------------------------------------*/
#define configUSE_PREEMPTION 1
-#define configUSE_IDLE_HOOK 1
+#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 1
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 50000000 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/Makefile b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/Makefile
index 0ba1464c..832beab2 100644
--- a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/Makefile
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/Makefile
@@ -1,4 +1,4 @@
-# FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+# FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
#
# This file is part of the FreeRTOS.org distribution.
#
@@ -29,6 +29,12 @@
# ***************************************************************************
+#/*************************************************************************
+# * Please ensure to read http://www.freertos.org/portLM3Sxxxx_Eclipse.html
+# * which provides information on configuring and running this demo for the
+# * various Luminary Micro EKs.
+# *************************************************************************/
+
RTOS_SOURCE_DIR=../../../Source
DEMO_COMMON_DIR=../../Common/Minimal
DEMO_INCLUDE_DIR=../../Common/include
@@ -56,6 +62,7 @@ SOURCE= main.c \
./ParTest/ParTest.c \
rit128x96x4.c \
osram128x64x4.c \
+ formike128x128x16.c \
$(LUMINARY_DRIVER_DIR)/ustdlib.c \
$(DEMO_COMMON_DIR)/BlockQ.c \
$(DEMO_COMMON_DIR)/blocktim.c \
@@ -82,7 +89,7 @@ SOURCE= main.c \
$(RTOS_SOURCE_DIR)/portable/GCC/ARM_CM3/port.c \
$(RTOS_SOURCE_DIR)/portable/MemMang/heap_2.c
-LIBS= $(LUMINARY_DRIVER_DIR)/arm-none-eabi-gcc/libdriver.a
+LIBS= $(LUMINARY_DRIVER_DIR)/arm-none-eabi-gcc/libdriver.a $(LUMINARY_DRIVER_DIR)/arm-none-eabi-gcc/libgr.a
OBJS = $(SOURCE:.c=.o)
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/ParTest/ParTest.c b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/ParTest/ParTest.c
index df167ab7..84324a04 100644
--- a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/ParTest/ParTest.c
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/bitmap.h b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/bitmap.h
index 02ce0b36..29f813fd 100644
--- a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/bitmap.h
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/bitmap.h
@@ -1,7 +1,10 @@
#ifndef BITMAP_H
#define BITMAP_H
-const unsigned char pucImage[] =
+#define bmpBITMAP_HEIGHT 50
+#define bmpBITMAP_WIDTH 128
+
+const unsigned char pucBasicBitmap[] =
{
0x00, 0x0a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
@@ -165,7 +168,169 @@ const unsigned char pucImage[] =
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00,
0x00 };
-#define bmpBITMAP_HEIGHT 50
-#define bmpBITMAP_WIDTH 128
+const unsigned char pucGrLibBitmap[] =
+{
+ IMAGE_FMT_4BPP_COMP,
+ 124, 0,
+ 49, 0,
+
+ 15,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x0c, 0x00,
+ 0x20, 0x44, 0x20,
+ 0x00, 0x75, 0x00,
+ 0x69, 0x69, 0x69,
+ 0x00, 0xc2, 0x00,
+ 0x00, 0xd2, 0x00,
+ 0x38, 0xb6, 0x38,
+ 0x00, 0xea, 0x00,
+ 0x00, 0xf2, 0x00,
+ 0xaa, 0xb2, 0xaa,
+ 0x65, 0xff, 0x65,
+ 0x69, 0xff, 0x69,
+ 0x6d, 0xff, 0x6d,
+ 0x71, 0xff, 0x71,
+ 0xff, 0xff, 0xff,
+
+ 0x03, 0x21, 0x33, 0x53, 0x33, 0x33, 0x33, 0xe9, 0xd4, 0xf8, 0xa7, 0x5f,
+ 0x17, 0x07, 0x06, 0x35, 0x33, 0x12, 0x03, 0x23, 0x96, 0x68, 0x88, 0x88,
+ 0x88, 0xe9, 0xd4, 0xf8, 0xa7, 0x5f, 0x17, 0x07, 0x06, 0x86, 0x69, 0x32,
+ 0x03, 0x29, 0x66, 0x65, 0x66, 0x66, 0x66, 0xe9, 0xd4, 0xf8, 0xa7, 0x5f,
+ 0x17, 0x07, 0x06, 0x56, 0x66, 0x92, 0x07, 0x78, 0x63, 0x11, 0x11, 0x11,
+ 0xe9, 0xd4, 0xa7, 0xf0, 0x5f, 0x17, 0x07, 0x07, 0x11, 0x36, 0x87, 0x78,
+ 0x0f, 0x63, 0x00, 0x00, 0x00, 0xe9, 0xd4, 0xa7, 0x5f, 0xe0, 0x17, 0x07,
+ 0x07, 0x00, 0x36, 0x87, 0x78, 0x63, 0xfe, 0x07, 0x07, 0x77, 0x2f, 0x07,
+ 0x07, 0x02, 0x36, 0x1e, 0x87, 0x78, 0x63, 0x07, 0x07, 0x77, 0x2f, 0x00,
+ 0x10, 0x01, 0x22, 0x20, 0x07, 0x00, 0x00, 0x22, 0x21, 0x84, 0x03, 0x36,
+ 0x87, 0x78, 0x63, 0x02, 0x02, 0xaa, 0x01, 0xa2, 0x22, 0x20, 0x02, 0x77,
+ 0x77, 0x77, 0xe9, 0x3a, 0x22, 0x22, 0x7a, 0xa4, 0x71, 0x20, 0x0a, 0x27,
+ 0xb8, 0x29, 0x72, 0xb2, 0x9e, 0x93, 0x36, 0x87, 0x78, 0x40, 0x63, 0x62,
+ 0x2a, 0xff, 0xf2, 0xaa, 0x40, 0x07, 0x08, 0xad, 0xdd, 0xdd, 0xdd, 0xe9,
+ 0xd7, 0x72, 0x00, 0x40, 0x00, 0xa6, 0xdd, 0xda, 0x70, 0x00, 0x00, 0x02,
+ 0x00, 0x77, 0xdd, 0xdc, 0xcc, 0xcd, 0xde, 0xc7, 0x20, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x27, 0xde, 0xdc, 0x08, 0xcc, 0xcc, 0xdd, 0xea, 0x99,
+ 0x36, 0x87, 0x78, 0x40, 0x63, 0x69, 0x02, 0xaf, 0xaa, 0xf2, 0x2f, 0xa0,
+ 0x04, 0x02, 0xdb, 0xbb, 0xbb, 0xbb, 0xe9, 0xbc, 0xe7, 0x10, 0x20, 0x00,
+ 0x07, 0xa5, 0xbb, 0xbd, 0x70, 0x00, 0x10, 0x00, 0x27, 0xec, 0x3b, 0xcd,
+ 0xd7, 0x00, 0x00, 0x80, 0x9f, 0xbd, 0x20, 0x00, 0x00, 0x36, 0x87, 0x78,
+ 0x40, 0x63, 0x69, 0x02, 0xfa, 0x2a, 0xf2, 0x2f, 0xa0, 0x31, 0x02, 0xdb,
+ 0x43, 0x31, 0x42, 0x00, 0x07, 0xa7, 0x0a, 0x70, 0x00, 0x02, 0xdd, 0x41,
+ 0xcc, 0x21, 0xce, 0x04, 0x70, 0x00, 0x00, 0x02, 0x7d, 0x39, 0xbc, 0xcb,
+ 0x00, 0xbb, 0xbd, 0x20, 0x00, 0x00, 0x36, 0x87, 0x78, 0x20, 0x63, 0x00,
+ 0x69, 0xfa, 0x0a, 0xf2, 0x2f, 0xa0, 0x01, 0x02, 0xdb, 0xbb, 0xbb, 0xdd,
+ 0xdd, 0xdc, 0x11, 0x08, 0xe7, 0x00, 0x07, 0xad, 0xbb, 0xcd, 0xdd, 0xda,
+ 0x09, 0x70, 0x00, 0x2d, 0xcb, 0x41, 0xcc, 0xdd, 0xd1, 0x04, 0xe7, 0x00,
+ 0x00, 0x07, 0xeb, 0x51, 0xdc, 0xcd, 0x00, 0xdd, 0xdd, 0x20, 0x00, 0x00,
+ 0x36, 0x87, 0x78, 0x00, 0x63, 0x00, 0x00, 0x00, 0x02, 0xfa, 0x2a, 0xf2,
+ 0x00, 0xaf, 0xa0, 0x02, 0xdb, 0xbb, 0xbd, 0x72, 0x22, 0x00, 0x77, 0xdc,
+ 0xbb, 0xbb, 0xc7, 0x20, 0x07, 0x77, 0x04, 0x77, 0x77, 0xcb, 0xbb, 0xbc,
+ 0xd1, 0x20, 0x01, 0x28, 0x7d, 0xbb, 0x42, 0x27, 0x41, 0xcd, 0x20, 0x00,
+ 0x40, 0x27, 0x51, 0x72, 0x22, 0x22, 0x27, 0x7c, 0x20, 0x00, 0x00, 0x00,
+ 0x36, 0x87, 0x78, 0x63, 0x00, 0x00, 0x00, 0x00, 0x02, 0xaf, 0xaa, 0xfa,
+ 0xff, 0x20, 0x02, 0x10, 0xdb, 0xbb, 0xbe, 0x61, 0x2d, 0xbb, 0xbb, 0xcc,
+ 0xa8, 0x29, 0x00, 0x89, 0xbd, 0xc3, 0xeb, 0xbb, 0xbb, 0x00, 0xd7, 0x10,
+ 0x00, 0x00, 0x2c, 0xcb, 0xbb, 0xbd, 0x58, 0x70, 0x12, 0xc7, 0x13, 0x29,
+ 0x36, 0x87, 0x78, 0x40, 0x63, 0xa9, 0x00, 0xaf, 0xff, 0xff, 0xfa, 0x20,
+ 0x08, 0x02, 0xdb, 0xbb, 0xbd, 0x39, 0x07, 0xdb, 0xbb, 0x72, 0xcc, 0x03,
+ 0x8c, 0x82, 0xbd, 0x70, 0x84, 0xbc, 0x03, 0xd2, 0x00, 0x2d, 0xbb, 0xbb,
+ 0xd7, 0x19, 0x01, 0x02, 0x00, 0x00, 0x36, 0x87, 0x78, 0x63, 0xa2, 0x0a,
+ 0x10, 0xaf, 0xff, 0xa2, 0x0a, 0xbd, 0x20, 0x00, 0x00, 0x0c, 0x07, 0xdb,
+ 0xbb, 0xc7, 0xc9, 0x8e, 0x00, 0x2c, 0x40, 0xcb, 0xc4, 0x00, 0x7c, 0xbb,
+ 0xbb, 0xe7, 0x00, 0x06, 0x2d, 0xbb, 0xbb, 0xc7, 0x10, 0x92, 0x31, 0x36,
+ 0x10, 0x87, 0x78, 0x63, 0xab, 0x22, 0x22, 0x00, 0x00, 0x00, 0x02, 0xdb,
+ 0xbb, 0xbd, 0x20, 0x00, 0x00, 0x07, 0x18, 0xcb, 0xbb, 0xd7, 0x0a, 0x8d,
+ 0x00, 0x2d, 0xbb, 0x23, 0xbb, 0xc7, 0x82, 0x00, 0x2e, 0xbb, 0x39, 0x91,
+ 0x20, 0xbd, 0x72, 0x8b, 0x00, 0x00, 0x36, 0x87, 0x78, 0x48, 0x63, 0x33,
+ 0x02, 0x20, 0xe1, 0xdb, 0xbb, 0xbd, 0x01, 0x20, 0x00, 0x02, 0x7d, 0xbb,
+ 0xbb, 0xe2, 0x6b, 0x94, 0x8b, 0x00, 0x00, 0x81, 0xd7, 0x82, 0x00, 0x2d,
+ 0x00, 0xbb, 0xbb, 0xc7, 0x20, 0x2c, 0xcb, 0xbb, 0xbb, 0x10, 0xdd, 0x77,
+ 0x22, 0x7b, 0x36, 0x87, 0x78, 0x63, 0x80, 0x32, 0x02, 0xaa, 0xf2, 0x22,
+ 0x20, 0x02, 0xdb, 0x00, 0xbb, 0xbc, 0x77, 0x77, 0x77, 0xdb, 0xbb, 0xce,
+ 0x42, 0x71, 0x63, 0xdb, 0xbb, 0xbd, 0x20, 0x19, 0x7d, 0x10, 0xbb, 0xbb,
+ 0xd2, 0x82, 0x00, 0x27, 0xcb, 0xbb, 0x00, 0xc7, 0x20, 0x07, 0xeb, 0xbb,
+ 0xbb, 0xbb, 0xcd, 0x21, 0xd7, 0x72, 0x72, 0x36, 0x87, 0x78, 0x63, 0x32,
+ 0x01, 0x4f, 0xff, 0xf2, 0xaf, 0xa0, 0x02, 0xdb, 0x41, 0x03, 0xdd, 0xdc,
+ 0xbb, 0xbc, 0xd7, 0x20, 0x22, 0x89, 0x42, 0xbd, 0xba, 0x7d, 0xbb, 0xbb,
+ 0xd2, 0x82, 0x00, 0x02, 0x27, 0xcb, 0xbb, 0xcc, 0x20, 0x02, 0x89, 0xbb,
+ 0x08, 0xbb, 0xbc, 0xdd, 0x72, 0x31, 0x36, 0x87, 0x78, 0x40, 0x63, 0x31,
+ 0x02, 0xaf, 0xaa, 0xf2, 0x2f, 0xa0, 0x21, 0x02, 0xdb, 0x3a, 0xbb, 0xbb,
+ 0xc7, 0x20, 0x31, 0x88, 0x59, 0xdb, 0xbb, 0xbd, 0xb2, 0x7d, 0xbb, 0xbb,
+ 0x40, 0xd2, 0x7b, 0x27, 0xcb, 0xbb, 0xcc, 0x20, 0x00, 0x00, 0x27, 0xec,
+ 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xe7, 0x84, 0x29, 0x36, 0x87, 0x78, 0x63,
+ 0x31, 0x02, 0xfa, 0x02, 0x0a, 0xf2, 0x2f, 0xa0, 0x02, 0xdb, 0x42, 0xbb,
+ 0x31, 0xbb, 0xc7, 0x39, 0x5a, 0xdb, 0xbb, 0xbd, 0xb2, 0x08, 0x7d, 0xbb,
+ 0xbb, 0xd2, 0x7b, 0x27, 0xcb, 0xbb, 0x00, 0xcc, 0x20, 0x00, 0x02, 0x77,
+ 0xed, 0xcb, 0xbb, 0x00, 0xbb, 0xbb, 0xbd, 0x71, 0x00, 0x00, 0x36, 0x87,
+ 0x20, 0x78, 0x63, 0x31, 0x02, 0xfa, 0x0a, 0xf2, 0x2f, 0x00, 0xa0, 0x02,
+ 0xdb, 0xbb, 0xbb, 0xcd, 0xdd, 0xcb, 0x18, 0xbb, 0xbc, 0xe2, 0x69, 0x59,
+ 0xdb, 0xbb, 0xbd, 0x42, 0x20, 0x19, 0x7d, 0xbb, 0xbb, 0xd2, 0x7b, 0x27,
+ 0x10, 0xcb, 0xbb, 0xcb, 0x79, 0x02, 0x27, 0x7d, 0xdc, 0x00, 0xbb, 0xbb,
+ 0xbb, 0xe2, 0x00, 0x00, 0x36, 0x87, 0x20, 0x78, 0x63, 0x31, 0x02, 0xfa,
+ 0x2a, 0xf2, 0xaf, 0x00, 0xa0, 0x02, 0xdb, 0xbb, 0xbd, 0x72, 0x27, 0x4c,
+ 0x1d, 0xbb, 0xbb, 0xd7, 0x69, 0x59, 0x89, 0x20, 0x19, 0x42, 0x7d, 0x7e,
+ 0x2c, 0xbb, 0xbb, 0xc7, 0x7a, 0x00, 0x10, 0x22, 0x7c, 0xcb, 0x63, 0x36,
+ 0x87, 0x78, 0x63, 0x80, 0x31, 0x02, 0xaf, 0xfa, 0xff, 0xff, 0x20, 0x02,
+ 0x00, 0xdb, 0xbb, 0xbd, 0x20, 0x00, 0x2c, 0xcb, 0xbb, 0x28, 0xcb, 0x20,
+ 0x61, 0x00, 0x8c, 0x00, 0x00, 0x2d, 0x12, 0xbb, 0xbb, 0xd7, 0x82, 0x00,
+ 0x2e, 0xbe, 0x00, 0x21, 0x02, 0x7c, 0x63, 0x36, 0x87, 0x78, 0x63, 0x32,
+ 0x00, 0x2f, 0xff, 0xff, 0xfa, 0x00, 0x02, 0xdb, 0xbb, 0x00, 0xbd, 0x20,
+ 0x00, 0x07, 0xdb, 0xbb, 0xbe, 0x20, 0xc2, 0x62, 0x8c, 0x00, 0x00, 0x2c,
+ 0xcb, 0xc4, 0x00, 0x0c, 0x7d, 0xbb, 0xbb, 0xe7, 0x3a, 0x19, 0x2d, 0xbb,
+ 0x00, 0xbb, 0xc7, 0x00, 0x00, 0x36, 0x87, 0x78, 0x63, 0x80, 0x3a, 0x02,
+ 0xaa, 0xaa, 0x40, 0x00, 0x02, 0xdb, 0x00, 0xbb, 0xbd, 0x20, 0x00, 0x02,
+ 0xcc, 0xbb, 0xbd, 0x63, 0x70, 0x63, 0x8b, 0x00, 0x00, 0x07, 0x49, 0x7a,
+ 0x98, 0x09, 0xbb, 0xd2, 0x3a, 0x19, 0x2d, 0xbb, 0xbb, 0x01, 0xd7, 0x00,
+ 0x00, 0x36, 0x87, 0x78, 0x63, 0x3a, 0x14, 0xaa, 0x22, 0x20, 0x0b, 0xbd,
+ 0xc9, 0x7d, 0xbb, 0x30, 0xbb, 0xd2, 0x61, 0x8e, 0x00, 0x02, 0xeb, 0xbb,
+ 0x20, 0xbb, 0xd7, 0x79, 0x27, 0xcb, 0xbb, 0xbd, 0x70, 0x24, 0x00, 0x02,
+ 0x6a, 0x00, 0x7d, 0x6b, 0x36, 0x87, 0x24, 0x78, 0x63, 0x39, 0x02, 0xff,
+ 0x62, 0x02, 0xdb, 0x21, 0xbb, 0xbd, 0x21, 0x2e, 0xbb, 0xbb, 0xe7, 0x61,
+ 0x80, 0x8e, 0x00, 0x02, 0x7d, 0xbb, 0xbb, 0xbd, 0x72, 0x00, 0x22, 0x27,
+ 0xcc, 0xbb, 0xbb, 0xcd, 0x20, 0x00, 0x08, 0x07, 0xe7, 0x72, 0x22, 0xa3,
+ 0xe2, 0x00, 0x00, 0x00, 0x36, 0x87, 0x78, 0x63, 0x00, 0x00, 0x00, 0x02,
+ 0x20, 0xaf, 0xa0, 0xd2, 0xdb, 0xbb, 0xbd, 0x20, 0x00, 0x03, 0x00, 0x2b,
+ 0xcb, 0xbb, 0xc7, 0x10, 0x8f, 0x11, 0x01, 0x2d, 0xcb, 0xbb, 0xbb, 0xdd,
+ 0xb7, 0xcd, 0xd1, 0x00, 0xe7, 0x00, 0x00, 0x07, 0xdc, 0xdd, 0xcb, 0x7b,
+ 0x00, 0xdd, 0xcb, 0xbb, 0xbc, 0x72, 0x00, 0x00, 0x36, 0x10, 0x87, 0x78,
+ 0x63, 0x01, 0x00, 0x2a, 0xfa, 0x42, 0x01, 0x22, 0x20, 0x02, 0xdb, 0xbb,
+ 0xbd, 0x20, 0x01, 0xb0, 0xcc, 0x00, 0x8d, 0xb9, 0xec, 0xbb, 0xbb, 0xbb,
+ 0x00, 0xcc, 0xcb, 0xbb, 0xbb, 0xbe, 0x71, 0x00, 0x00, 0x05, 0x27, 0xcb,
+ 0xbb, 0xcc, 0xcc, 0x81, 0xce, 0x29, 0x08, 0x36, 0x87, 0x78, 0x63, 0x02,
+ 0xaa, 0xff, 0xff, 0x02, 0xff, 0xa0, 0x02, 0xdb, 0xbb, 0xbd, 0x61, 0x02,
+ 0x0e, 0xeb, 0xbb, 0xbd, 0x70, 0x5a, 0x8c, 0x09, 0x27, 0x00, 0xec, 0xbb,
+ 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xd7, 0x54, 0x10, 0xa1, 0xcb, 0xa4, 0xd2,
+ 0x31, 0x36, 0x87, 0x20, 0x78, 0x63, 0x01, 0x02, 0xff, 0xff, 0xff, 0xff,
+ 0x02, 0xa0, 0x07, 0xad, 0xdd, 0xda, 0x20, 0x99, 0xde, 0x1c, 0xdd, 0xde,
+ 0xc2, 0x21, 0x8d, 0x0a, 0x7c, 0xed, 0x04, 0xcc, 0xcc, 0xcc, 0xde, 0xd7,
+ 0x92, 0x2c, 0xed, 0x40, 0xdc, 0xa7, 0x36, 0x87, 0x78, 0x63, 0x00, 0x02,
+ 0x00, 0x22, 0x02, 0xaa, 0xaa, 0xaa, 0xaa, 0x20, 0x02, 0x1b, 0x77, 0x77,
+ 0x77, 0x5a, 0xc9, 0x72, 0x21, 0x8e, 0x88, 0xaa, 0x27, 0x77, 0x7b, 0x9d,
+ 0x12, 0x27, 0x77, 0x20, 0x77, 0xb7, 0x3d, 0x36, 0x87, 0x78, 0x63, 0x00,
+ 0x3e, 0x02, 0xaa, 0x43, 0x22, 0xc6, 0x87, 0x3e, 0x12, 0x21, 0x22, 0x22,
+ 0x06, 0x01, 0x22, 0x22, 0x21, 0x04, 0x00, 0x36, 0x87, 0x78, 0x63, 0x00,
+ 0x02, 0xfa, 0x22, 0x3f, 0xaa, 0x20, 0x26, 0xc6, 0x87, 0x3f, 0x07, 0x07,
+ 0x00, 0x36, 0x87, 0x78, 0x63, 0x00, 0x02, 0xfa, 0x02, 0x7e, 0xff, 0x07,
+ 0x07, 0x77, 0x2f, 0x07, 0x06, 0x36, 0x00, 0x87, 0x78, 0x63, 0x00, 0x02,
+ 0xff, 0xaa, 0xfa, 0x07, 0x44, 0x44, 0x44, 0x20, 0x02, 0xd9, 0xc1, 0xd4,
+ 0xf0, 0xa7, 0x5f, 0x17, 0x04, 0x42, 0x00, 0x00, 0x36, 0x00, 0x87, 0x78,
+ 0x63, 0x00, 0x02, 0xff, 0xff, 0xff, 0x9f, 0xe9, 0xa0, 0x0a, 0xc4, 0x94,
+ 0xa7, 0x5f, 0x17, 0x80, 0x04, 0xfa, 0x20, 0x00, 0x36, 0x87, 0x78, 0x63,
+ 0x13, 0x00, 0x00, 0xaf, 0x03, 0xa0, 0x0a, 0x07, 0xbf, 0xe0, 0x77, 0x2f,
+ 0x07, 0xfa, 0x20, 0x00, 0x36, 0x87, 0x00, 0x78, 0x63, 0x00, 0x00, 0x02,
+ 0xaa, 0xfa, 0xaa, 0x0f, 0xaa, 0xaa, 0x20, 0x02, 0xd9, 0xc1, 0xd4, 0xa7,
+ 0xe0, 0x5f, 0x17, 0x05, 0x00, 0x00, 0x36, 0x87, 0x78, 0x03, 0x63, 0x00,
+ 0x00, 0x00, 0x02, 0xff, 0xd9, 0xc1, 0xfc, 0xd4, 0xa7, 0x5f, 0x17, 0x07,
+ 0x03, 0x36, 0x87, 0x23, 0x78, 0x63, 0x01, 0x02, 0x44, 0x20, 0x07, 0x07,
+ 0xf0, 0x77, 0x2f, 0x07, 0x05, 0x36, 0x87, 0x78, 0x63, 0xfe, 0x07, 0x07,
+ 0x77, 0x2f, 0x07, 0x07, 0x02, 0x36, 0x1f, 0x87, 0x78, 0x63, 0x07, 0x07,
+ 0x77, 0x2f, 0x07, 0xc0, 0x07, 0x02, 0x36, 0x87, 0x78, 0x63, 0x11, 0x11,
+ 0x7f, 0x11, 0xe9, 0xd4, 0xa7, 0x5f, 0x17, 0x07, 0x07, 0x00, 0x11, 0x36,
+ 0x87, 0x29, 0x66, 0x55, 0x55, 0x55, 0xfe, 0xe9, 0xd4, 0xa7, 0x5f, 0x17,
+ 0x07, 0x07, 0x55, 0x00, 0x66, 0x92, 0x23, 0x96, 0x68, 0x88, 0x88, 0x88,
+ 0xfe, 0xe9, 0xd4, 0xa7, 0x5f, 0x17, 0x07, 0x06, 0x86, 0x01, 0x69, 0x32,
+ 0x21, 0x33, 0x55, 0x55, 0x55, 0xe9, 0xfc, 0xd4, 0xa7, 0x5f, 0x17, 0x07,
+ 0x07, 0x55, 0x33, 0x00, 0x12,
+};
+
#endif
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/formike128x128x16.c b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/formike128x128x16.c
new file mode 100644
index 00000000..87ff5feb
--- /dev/null
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/formike128x128x16.c
@@ -0,0 +1,902 @@
+//*****************************************************************************
+//
+// formike128x128x16.c - Display driver for the Formike Electronic
+// KWH015C04-F01 CSTN panel with an ST7637 controller.
+//
+// Copyright (c) 2008 Luminary Micro, Inc. All rights reserved.
+//
+// Software License Agreement
+//
+// Luminary Micro, Inc. (LMI) is supplying this software for use solely and
+// exclusively on LMI's microcontroller products.
+//
+// The software is owned by LMI and/or its suppliers, and is protected under
+// applicable copyright laws. All rights are reserved. You may not combine
+// this software with "viral" open-source software in order to form a larger
+// program. Any use in violation of the foregoing restrictions may subject
+// the user to criminal sanctions under applicable laws, as well as to civil
+// liability for the breach of the terms and conditions of this license.
+//
+// THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+//
+// This is part of revision 2523 of the Stellaris Peripheral Driver Library.
+//
+//*****************************************************************************
+
+//*****************************************************************************
+//
+//! \addtogroup ek_lm3s3748_api
+//! @{
+//
+//*****************************************************************************
+
+#include "hw_gpio.h"
+#include "hw_memmap.h"
+#include "hw_types.h"
+#include "gpio.h"
+#include "sysctl.h"
+#include "rom.h"
+#include "grlib.h"
+#include "formike128x128x16.h"
+#include <string.h>
+
+//*****************************************************************************
+//
+// Defines for the pins that are used to communicate with the ST7637.
+//
+//*****************************************************************************
+#define LCD_A0_BASE GPIO_PORTB_BASE
+#define LCD_A0_PIN GPIO_PIN_2
+#define LCD_WR_BASE GPIO_PORTC_BASE
+#define LCD_WR_PIN GPIO_PIN_4
+#define LCD_RD_BASE GPIO_PORTC_BASE
+#define LCD_RD_PIN GPIO_PIN_5
+#define LCD_BL_BASE GPIO_PORTF_BASE
+#define LCD_BL_PIN GPIO_PIN_1
+#define LCD_DATA_BASE GPIO_PORTG_BASE
+
+//*****************************************************************************
+//
+// Translates a 24-bit RGB color to a display driver-specific color.
+//
+// \param c is the 24-bit RGB color. The least-significant byte is the blue
+// channel, the next byte is the green channel, and the third byte is the red
+// channel.
+//
+// This macro translates a 24-bit RGB color into a value that can be written
+// into the display's frame buffer in order to reproduce that color, or the
+// closest possible approximation of that color.
+//
+// \return Returns the display-driver specific color.
+//
+//*****************************************************************************
+#define DPYCOLORTRANSLATE(c) ((((c) & 0x00ff0000) >> 19) | \
+ ((((c) & 0x0000ff00) >> 5) & 0x000007e0) | \
+ ((((c) & 0x000000ff) << 8) & 0x0000f800))
+
+//*****************************************************************************
+//
+// Writes a data word to the ST7637.
+//
+//*****************************************************************************
+static void
+WriteData(unsigned char ucData)
+{
+ //
+ // Write the data to the data bus.
+ //
+ HWREG(LCD_DATA_BASE + GPIO_O_DATA + (0xff << 2)) = ucData;
+
+ //
+ // Assert the write enable signal.
+ //
+ HWREG(LCD_WR_BASE + GPIO_O_DATA + (LCD_WR_PIN << 2)) = 0;
+
+ //
+ // Deassert the write enable signal.
+ //
+ HWREG(LCD_WR_BASE + GPIO_O_DATA + (LCD_WR_PIN << 2)) = LCD_WR_PIN;
+}
+
+//*****************************************************************************
+//
+// Writes a command to the ST7637.
+//
+//*****************************************************************************
+static void
+WriteCommand(unsigned char ucData)
+{
+ //
+ // Write the command to the data bus.
+ //
+ HWREG(LCD_DATA_BASE + GPIO_O_DATA + (0xff << 2)) = ucData;
+
+ //
+ // Set the A0 signal low, indicating a command.
+ //
+ HWREG(LCD_A0_BASE + GPIO_O_DATA + (LCD_A0_PIN << 2)) = 0;
+
+ //
+ // Assert the write enable signal.
+ //
+ HWREG(LCD_WR_BASE + GPIO_O_DATA + (LCD_WR_PIN << 2)) = 0;
+
+ //
+ // Deassert the write enable signal.
+ //
+ HWREG(LCD_WR_BASE + GPIO_O_DATA + (LCD_WR_PIN << 2)) = LCD_WR_PIN;
+
+ //
+ // Set the A0 signal high, indicating that following writes are data.
+ //
+ HWREG(LCD_A0_BASE + GPIO_O_DATA + (LCD_A0_PIN << 2)) = LCD_A0_PIN;
+}
+
+//*****************************************************************************
+//
+//! Initializes the display driver.
+//!
+//! This function initializes the ST7637 display controller on the panel,
+//! preparing it to display data.
+//!
+//! \return None.
+//
+//*****************************************************************************
+void
+Formike128x128x16Init(void)
+{
+ unsigned long ulClockMS, ulCount;
+
+ //
+ // Get the value to pass to SysCtlDelay() in order to delay for 1 ms.
+ //
+ ulClockMS = SysCtlClockGet() / (3 * 1000);
+
+ //
+ // Enable the GPIO peripherals used to interface to the ST7637.
+ //
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
+
+ //
+ // Configure the pins that connect to the LCD as GPIO outputs.
+ //
+ GPIOPinTypeGPIOOutput(LCD_A0_BASE, LCD_A0_PIN);
+ GPIOPinTypeGPIOOutput(LCD_WR_BASE, LCD_WR_PIN);
+ GPIOPinTypeGPIOOutput(LCD_RD_BASE, LCD_RD_PIN);
+ GPIOPinTypeGPIOOutput(LCD_BL_BASE, LCD_BL_PIN);
+ GPIOPinTypeGPIOOutput(LCD_DATA_BASE, 0xff);
+
+ //
+ // Set the LCD control pins to their default values.
+ //
+ GPIOPinWrite(LCD_A0_BASE, LCD_A0_PIN, LCD_A0_PIN);
+ GPIOPinWrite(LCD_WR_BASE, LCD_WR_PIN | LCD_RD_PIN,
+ LCD_WR_PIN | LCD_RD_PIN);
+ GPIOPinWrite(LCD_BL_BASE, LCD_BL_PIN, 0);
+ GPIOPinWrite(LCD_DATA_BASE, 0xff, 0x00);
+
+ //
+ // Perform a software reset of the ST7637.
+ //
+ WriteCommand(0x01);
+
+ //
+ // Delay for 120ms.
+ //
+ SysCtlDelay(ulClockMS * 120);
+
+ //
+ // Disable auto-load of mask rom data.
+ //
+ WriteCommand(0xD7);
+ WriteData(0xBF);
+
+ //
+ // Set the OTP control mode to read.
+ //
+ WriteCommand(0xE0);
+ WriteData(0x00);
+
+ //
+ // Delay for 10ms.
+ //
+ SysCtlDelay(ulClockMS * 10);
+
+ //
+ // Start the OTP read.
+ //
+ WriteCommand(0xE3);
+
+ //
+ // Delay for 20ms.
+ //
+ SysCtlDelay(ulClockMS * 20);
+
+ //
+ // Cancel the OTP read (it should have finished by now).
+ //
+ WriteCommand(0xE1);
+
+ //
+ // Turn off the display.
+ //
+ WriteCommand(0x28);
+
+ //
+ // Exit sleep mode.
+ //
+ WriteCommand(0x11);
+
+ //
+ // Delay for 50ms.
+ //
+ SysCtlDelay(ulClockMS * 50);
+
+ //
+ // Program the LCD supply voltage V0 to 14V.
+ //
+ WriteCommand(0xC0);
+ WriteData(0x04);
+ WriteData(0x01);
+
+ //
+ // Select an LCD bias voltage ratio of 1/12.
+ //
+ WriteCommand(0xC3);
+ WriteData(0x00);
+
+ //
+ // Enable the x8 booster circuit.
+ //
+ WriteCommand(0xC4);
+ WriteData(0x07);
+
+ //
+ // Invert the column scan direction for the panel.
+ //
+ WriteCommand(0xB7);
+ WriteData(0xC0);
+
+ //
+ // Select 16bpp, 5-6-5 data input mode.
+ //
+ WriteCommand(0x3A);
+ WriteData(0x05);
+
+ //
+ // Select the memory scanning direction. The scanning mode does not matter
+ // for this driver since the row/column selects will constrain the writes
+ // to the desired area of the display.
+ //
+ WriteCommand(0x36);
+ WriteData(0x00);
+
+ //
+ // Turn on the display.
+ //
+ WriteCommand(0x29);
+
+ //
+ // Clear the contents of the display buffer.
+ //
+ WriteCommand(0x2A);
+ WriteData(0x00);
+ WriteData(0x7F);
+ WriteCommand(0x2B);
+ WriteData(0x01);
+ WriteData(0x80);
+ WriteCommand(0x2c);
+ for(ulCount = 0; ulCount < (128 * 128); ulCount++)
+ {
+ WriteData(0x00);
+ WriteData(0x00);
+ }
+
+ //
+ // Enable normal operation of the LCD.
+ //
+ WriteCommand(0x13);
+}
+
+//*****************************************************************************
+//
+//! Turns on the backlight.
+//!
+//! This function turns on the backlight on the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+void
+Formike128x128x16BacklightOn(void)
+{
+ //
+ // Assert the signal that turns on the backlight.
+ //
+ HWREG(LCD_BL_BASE + GPIO_O_DATA + (LCD_BL_PIN << 2)) = LCD_BL_PIN;
+}
+
+//*****************************************************************************
+//
+//! Turns off the backlight.
+//!
+//! This function turns off the backlight on the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+void
+Formike128x128x16BacklightOff(void)
+{
+ //
+ // Deassert the signal that turns on the backlight.
+ //
+ HWREG(LCD_BL_BASE + GPIO_O_DATA + (LCD_BL_PIN << 2)) = 0;
+}
+
+//*****************************************************************************
+//
+//! Draws a pixel on the screen.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param lX is the X coordinate of the pixel.
+//! \param lY is the Y coordinate of the pixel.
+//! \param ulValue is the color of the pixel.
+//!
+//! This function sets the given pixel to a particular color. The coordinates
+//! of the pixel are assumed to be within the extents of the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16PixelDraw(void *pvDisplayData, long lX, long lY,
+ unsigned long ulValue)
+{
+ //
+ // Set the X address of the display cursor.
+ //
+ WriteCommand(0x2a);
+ WriteData(lX);
+ WriteData(lX);
+
+ //
+ // Set the Y address of the display cursor.
+ //
+ WriteCommand(0x2b);
+ WriteData(lY + 1);
+ WriteData(lY + 1);
+
+ //
+ // Write the pixel value.
+ //
+ WriteCommand(0x2c);
+ WriteData(ulValue >> 8);
+ WriteData(ulValue);
+}
+
+//*****************************************************************************
+//
+//! Draws a horizontal sequence of pixels on the screen.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param lX is the X coordinate of the first pixel.
+//! \param lY is the Y coordinate of the first pixel.
+//! \param lX0 is sub-pixel offset within the pixel data, which is valid for 1
+//! or 4 bit per pixel formats.
+//! \param lCount is the number of pixels to draw.
+//! \param lBPP is the number of bits per pixel; must be 1, 4, or 8.
+//! \param pucData is a pointer to the pixel data. For 1 and 4 bit per pixel
+//! formats, the most significant bit(s) represent the left-most pixel.
+//! \param pucPalette is a pointer to the palette used to draw the pixels.
+//!
+//! This function draws a horizontal sequence of pixels on the screen, using
+//! the supplied palette. For 1 bit per pixel format, the palette contains
+//! pre-translated colors; for 4 and 8 bit per pixel formats, the palette
+//! contains 24-bit RGB values that must be translated before being written to
+//! the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16PixelDrawMultiple(void *pvDisplayData, long lX, long lY,
+ long lX0, long lCount, long lBPP,
+ const unsigned char *pucData,
+ const unsigned char *pucPalette)
+{
+ unsigned long ulByte;
+
+ //
+ // Set the extent of the line along the X axis.
+ //
+ WriteCommand(0x2a);
+ WriteData(lX);
+ WriteData(lX + lCount - 1);
+
+ //
+ // Set the Y address of the display cursor.
+ //
+ WriteCommand(0x2b);
+ WriteData(lY + 1);
+ WriteData(lY + 1);
+
+ //
+ // Write the data RAM write command.
+ //
+ WriteCommand(0x2c);
+
+ //
+ // Determine how to interpret the pixel data based on the number of bits
+ // per pixel.
+ //
+ switch(lBPP)
+ {
+ //
+ // The pixel data is in 1 bit per pixel format.
+ //
+ case 1:
+ {
+ //
+ // Loop while there are more pixels to draw.
+ //
+ while(lCount)
+ {
+ //
+ // Get the next byte of image data.
+ //
+ ulByte = *pucData++;
+
+ //
+ // Loop through the pixels in this byte of image data.
+ //
+ for(; (lX0 < 8) && lCount; lX0++, lCount--)
+ {
+ //
+ // Draw this pixel in the appropriate color.
+ //
+ lBPP = ((unsigned long *)pucPalette)[(ulByte >>
+ (7 - lX0)) & 1];
+ WriteData(lBPP >> 8);
+ WriteData(lBPP);
+ }
+
+ //
+ // Start at the beginning of the next byte of image data.
+ //
+ lX0 = 0;
+ }
+
+ //
+ // The image data has been drawn.
+ //
+ break;
+ }
+
+ //
+ // The pixel data is in 4 bit per pixel format.
+ //
+ case 4:
+ {
+ //
+ // Loop while there are more pixels to draw. "Duff's device" is
+ // used to jump into the middle of the loop if the first nibble of
+ // the pixel data should not be used. Duff's device makes use of
+ // the fact that a case statement is legal anywhere within a
+ // sub-block of a switch statement. See
+ // http://en.wikipedia.org/wiki/Duff's_device for detailed
+ // information about Duff's device.
+ //
+ switch(lX0 & 1)
+ {
+ case 0:
+ while(lCount)
+ {
+ //
+ // Get the upper nibble of the next byte of pixel data
+ // and extract the corresponding entry from the
+ // palette.
+ //
+ ulByte = (*pucData >> 4) * 3;
+ ulByte = (*(unsigned long *)(pucPalette + ulByte) &
+ 0x00ffffff);
+
+ //
+ // Translate this palette entry and write it to the
+ // screen.
+ //
+ ulByte = DPYCOLORTRANSLATE(ulByte);
+ WriteData(ulByte >> 8);
+ WriteData(ulByte);
+
+ //
+ // Decrement the count of pixels to draw.
+ //
+ lCount--;
+
+ //
+ // See if there is another pixel to draw.
+ //
+ if(lCount)
+ {
+ case 1:
+ //
+ // Get the lower nibble of the next byte of pixel
+ // data and extract the corresponding entry from
+ // the palette.
+ //
+ ulByte = (*pucData++ & 15) * 3;
+ ulByte = (*(unsigned long *)(pucPalette + ulByte) &
+ 0x00ffffff);
+
+ //
+ // Translate this palette entry and write it to the
+ // screen.
+ //
+ ulByte = DPYCOLORTRANSLATE(ulByte);
+ WriteData(ulByte >> 8);
+ WriteData(ulByte);
+
+ //
+ // Decrement the count of pixels to draw.
+ //
+ lCount--;
+ }
+ }
+ }
+
+ //
+ // The image data has been drawn.
+ //
+ break;
+ }
+
+ //
+ // The pixel data is in 8 bit per pixel format.
+ //
+ case 8:
+ {
+ //
+ // Loop while there are more pixels to draw.
+ //
+ while(lCount--)
+ {
+ //
+ // Get the next byte of pixel data and extract the
+ // corresponding entry from the palette.
+ //
+ ulByte = *pucData++ * 3;
+ ulByte = *(unsigned long *)(pucPalette + ulByte) & 0x00ffffff;
+
+ //
+ // Translate this palette entry and write it to the screen.
+ //
+ ulByte = DPYCOLORTRANSLATE(ulByte);
+ WriteData(ulByte >> 8);
+ WriteData(ulByte);
+ }
+
+ //
+ // The image data has been drawn.
+ //
+ break;
+ }
+ }
+}
+
+//*****************************************************************************
+//
+//! Flushes any cached drawing operations.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//!
+//! This functions flushes any cached drawing operations to the display. This
+//! is useful when a local frame buffer is used for drawing operations, and the
+//! flush would copy the local frame buffer to the display. For the ST7637
+//! driver, the flush is a no operation.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16Flush(void *pvDisplayData)
+{
+ //
+ // There is nothing to be done.
+ //
+}
+
+//*****************************************************************************
+//
+//! Draws a horizontal line.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param lX1 is the X coordinate of the start of the line.
+//! \param lX2 is the X coordinate of the end of the line.
+//! \param lY is the Y coordinate of the line.
+//! \param ulValue is the color of the line.
+//!
+//! This function draws a horizontal line on the display. The coordinates of
+//! the line are assumed to be within the extents of the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16LineDrawH(void *pvDisplayData, long lX1, long lX2, long lY,
+ unsigned long ulValue)
+{
+ //
+ // Set the extent of the line along the X axis.
+ //
+ WriteCommand(0x2a);
+ WriteData(lX1);
+ WriteData(lX2);
+
+ //
+ // Set the Y address of the display cursor.
+ //
+ WriteCommand(0x2b);
+ WriteData(lY + 1);
+ WriteData(lY + 1);
+
+ //
+ // Write the data RAM write command.
+ //
+ WriteCommand(0x2c);
+
+ //
+ // Loop through the pixels of this horizontal line.
+ //
+ while(lX1++ <= lX2)
+ {
+ //
+ // Write the pixel value.
+ //
+ WriteData(ulValue >> 8);
+ WriteData(ulValue);
+ }
+}
+
+//*****************************************************************************
+//
+//! Draws a vertical line.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param lX is the X coordinate of the line.
+//! \param lY1 is the Y coordinate of the start of the line.
+//! \param lY2 is the Y coordinate of the end of the line.
+//! \param ulValue is the color of the line.
+//!
+//! This function draws a vertical line on the display. The coordinates of the
+//! line are assumed to be within the extents of the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16LineDrawV(void *pvDisplayData, long lX, long lY1, long lY2,
+ unsigned long ulValue)
+{
+ //
+ // Set the X address of the display cursor.
+ //
+ WriteCommand(0x2a);
+ WriteData(lX);
+ WriteData(lX);
+
+ //
+ // Set the extent of the line along the Y axis.
+ //
+ WriteCommand(0x2b);
+ WriteData(lY1 + 1);
+ WriteData(lY2 + 1);
+
+ //
+ // Write the data RAM write command.
+ //
+ WriteCommand(0x2c);
+
+ //
+ // Loop through the pixels of this vertical line.
+ //
+ while(lY1++ <= lY2)
+ {
+ //
+ // Write the pixel value.
+ //
+ WriteData(ulValue >> 8);
+ WriteData(ulValue);
+ }
+}
+
+//*****************************************************************************
+//
+//! Fills a rectangle.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param pRect is a pointer to the structure describing the rectangle.
+//! \param ulValue is the color of the rectangle.
+//!
+//! This function fills a rectangle on the display. The coordinates of the
+//! rectangle are assumed to be within the extents of the display, and the
+//! rectangle specification is fully inclusive (i.e. both sXMin and sXMax are
+//! drawn, along with sYMin and sYMax).
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16RectFill(void *pvDisplayData, const tRectangle *pRect,
+ unsigned long ulValue)
+{
+ long lCount;
+
+ //
+ // Set the extent of the rectangle along the X axis.
+ //
+ WriteCommand(0x2a);
+ WriteData(pRect->sXMin);
+ WriteData(pRect->sXMax);
+
+ //
+ // Set the extent of the rectangle along the Y axis.
+ //
+ WriteCommand(0x2b);
+ WriteData(pRect->sYMin + 1);
+ WriteData(pRect->sYMax + 1);
+
+ //
+ // Write the data RAM write command.
+ //
+ WriteCommand(0x2c);
+
+ //
+ // Loop through the pixels in this rectangle.
+ //
+ for(lCount = ((pRect->sXMax - pRect->sXMin + 1) *
+ (pRect->sYMax - pRect->sYMin + 1)); lCount > 0; lCount--)
+ {
+ //
+ // Write the pixel value.
+ //
+ WriteData(ulValue >> 8);
+ WriteData(ulValue);
+ }
+}
+
+//*****************************************************************************
+//
+//! Translates a 24-bit RGB color to a display driver-specific color.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param ulValue is the 24-bit RGB color. The least-significant byte is the
+//! blue channel, the next byte is the green channel, and the third byte is the
+//! red channel.
+//!
+//! This function translates a 24-bit RGB color into a value that can be
+//! written into the display's frame buffer in order to reproduce that color,
+//! or the closest possible approximation of that color.
+//!
+//! \return Returns the display-driver specific color.
+//
+//*****************************************************************************
+static unsigned long
+Formike128x128x16ColorTranslate(void *pvDisplayData, unsigned long ulValue)
+{
+ //
+ // Translate from a 24-bit RGB color to a 5-6-5 RGB color.
+ //
+ return(DPYCOLORTRANSLATE(ulValue));
+}
+
+//*****************************************************************************
+//
+//! The display structure that describes the driver for the Formike Electronic
+//! KWH015C04-F01 CSTN panel with an ST7637 controller.
+//
+//*****************************************************************************
+const tDisplay g_sFormike128x128x16 =
+{
+ sizeof(tDisplay),
+ 0,
+ 128,
+ 128,
+ Formike128x128x16PixelDraw,
+ Formike128x128x16PixelDrawMultiple,
+ Formike128x128x16LineDrawH,
+ Formike128x128x16LineDrawV,
+ Formike128x128x16RectFill,
+ Formike128x128x16ColorTranslate,
+ Formike128x128x16Flush
+};
+
+//*****************************************************************************
+//
+// Close the Doxygen group.
+//! @}
+//
+//*****************************************************************************
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* FreeRTOS.org demo wrappers. These are required so the prototypes for the
+functions are the same as for the display drivers used by other evaluation
+kits. */
+
+static tContext sContext;
+
+void vFormike128x128x16Clear( void )
+{
+const tRectangle xRectangle = { 0, 0, 127, 127 };
+
+ GrContextForegroundSet( &sContext, ClrBlack );
+ GrRectFill( &sContext, &xRectangle );
+ GrContextForegroundSet(&sContext, ClrWhite);
+}
+/*-----------------------------------------------------------*/
+
+void vFormike128x128x16StringDraw( const char *pcString, unsigned long lX, unsigned long lY, unsigned char ucColor )
+{
+ GrContextForegroundSet(&sContext, ClrWhite);
+ GrStringDraw( &sContext, pcString, strlen( pcString ), lX, lY, false );
+}
+/*-----------------------------------------------------------*/
+
+void vFormike128x128x16Init( unsigned long ul )
+{
+tRectangle rectScreen;
+const unsigned char *pcAppName = "www.FreeRTOS.org";
+
+ ( void ) ul;
+
+ Formike128x128x16Init();
+ Formike128x128x16BacklightOn();
+ GrContextInit(&sContext, &g_sFormike128x128x16);
+ GrContextFontSet(&sContext, &g_sFontCmss12);
+ rectScreen.sXMin = 0;
+
+ /* Fill the screen with a black rectangle. */
+ rectScreen.sYMin = 0;
+ rectScreen.sXMax = g_sFormike128x128x16.usWidth - 1;
+ rectScreen.sYMax = g_sFormike128x128x16.usHeight - 1;
+ GrContextForegroundSet(&sContext, ClrBlack);
+ GrRectFill(&sContext, &rectScreen);
+}
+/*-----------------------------------------------------------*/
+
+void vFormike128x128x16ImageDraw( const unsigned char *pucImage, unsigned long ulX, unsigned long ulY, unsigned long ulWidth, unsigned long ulHeight )
+{
+ GrImageDraw( &sContext, pucImage, ( long ) ulX, ( long ) ulY);
+}
+
+
+
+
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/formike128x128x16.h b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/formike128x128x16.h
new file mode 100644
index 00000000..feaec758
--- /dev/null
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/formike128x128x16.h
@@ -0,0 +1,51 @@
+//*****************************************************************************
+//
+// formike128x128x16.h - Prototypes for the Formike Electronic KWH015C04-F01
+// display driver.
+//
+// Copyright (c) 2008 Luminary Micro, Inc. All rights reserved.
+//
+// Software License Agreement
+//
+// Luminary Micro, Inc. (LMI) is supplying this software for use solely and
+// exclusively on LMI's microcontroller products.
+//
+// The software is owned by LMI and/or its suppliers, and is protected under
+// applicable copyright laws. All rights are reserved. You may not combine
+// this software with "viral" open-source software in order to form a larger
+// program. Any use in violation of the foregoing restrictions may subject
+// the user to criminal sanctions under applicable laws, as well as to civil
+// liability for the breach of the terms and conditions of this license.
+//
+// THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+//
+// This is part of revision 2523 of the Stellaris Peripheral Driver Library.
+//
+//*****************************************************************************
+
+#ifndef __FORMIKE128X128X16_H__
+#define __FORMIKE128X128X16_H__
+
+//*****************************************************************************
+//
+// Prototypes for the globals exported by this driver.
+//
+//*****************************************************************************
+extern void Formike128x128x16Init(void);
+extern void Formike128x128x16BacklightOn(void);
+extern void Formike128x128x16BacklightOff(void);
+extern const tDisplay g_sFormike128x128x16;
+
+/* FreeRTOS.org demo wrappers. These are required so the prototypes for the
+functions are the same as for the display drivers used by other evaluation
+kits. */
+void vFormike128x128x16Clear( void );
+void vFormike128x128x16StringDraw( const char *pcString, unsigned long lX, unsigned long lY, unsigned char ucColor );
+void vFormike128x128x16Init( unsigned long ul );
+void vFormike128x128x16ImageDraw( const unsigned char *pucImage, unsigned long ulX, unsigned long ulY, unsigned long ulWidth, unsigned long ulHeight );
+
+#endif // __FORMIKE128X128X16_H__
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/main.c b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/main.c
index 0261ceca..20897f6e 100644
--- a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/main.c
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@@ -82,6 +82,16 @@
+
+/*************************************************************************
+ * Please ensure to read http://www.freertos.org/portLM3Sxxxx_Eclipse.html
+ * which provides information on configuring and running this demo for the
+ * various Luminary Micro EKs.
+ *************************************************************************/
+
+
+
+
/* Standard includes. */
#include <stdio.h>
@@ -91,6 +101,17 @@
#include "queue.h"
#include "semphr.h"
+/* Hardware library includes. */
+#include "hw_memmap.h"
+#include "hw_types.h"
+#include "hw_sysctl.h"
+#include "sysctl.h"
+#include "gpio.h"
+#include "grlib.h"
+#include "rit128x96x4.h"
+#include "osram128x64x4.h"
+#include "formike128x128x16.h"
+
/* Demo app includes. */
#include "BlockQ.h"
#include "death.h"
@@ -106,14 +127,6 @@
#include "QPeek.h"
#include "recmutex.h"
-/* Hardware library includes. */
-#include "hw_memmap.h"
-#include "hw_types.h"
-#include "hw_sysctl.h"
-#include "sysctl.h"
-#include "gpio.h"
-#include "rit128x96x4.h"
-#include "osram128x64x4.h"
/*-----------------------------------------------------------*/
@@ -149,6 +162,7 @@ the jitter time in nano seconds. */
/* Constants used when writing strings to the display. */
#define mainCHARACTER_HEIGHT ( 9 )
+#define mainMAX_ROWS_128 ( mainCHARACTER_HEIGHT * 14 )
#define mainMAX_ROWS_96 ( mainCHARACTER_HEIGHT * 10 )
#define mainMAX_ROWS_64 ( mainCHARACTER_HEIGHT * 7 )
#define mainFULL_SCALE ( 15 )
@@ -199,6 +213,11 @@ unsigned portLONG ulIdleError = pdFALSE;
/*-----------------------------------------------------------*/
+/*************************************************************************
+ * Please ensure to read http://www.freertos.org/portLM3Sxxxx_Eclipse.html
+ * which provides information on configuring and running this demo for the
+ * various Luminary Micro EKs.
+ *************************************************************************/
int main( void )
{
prvSetupHardware();
@@ -272,6 +291,7 @@ void vApplicationTickHook( void )
{
static xOLEDMessage xMessage = { "PASS" };
static unsigned portLONG ulTicksSinceLastDisplay = 0;
+static portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* Called from every tick interrupt. Have enough ticks passed to make it
time to perform our health status check again? */
@@ -323,7 +343,8 @@ static unsigned portLONG ulTicksSinceLastDisplay = 0;
}
/* Send the message to the OLED gatekeeper for display. */
- xQueueSendFromISR( xOLEDQueue, &xMessage, pdFALSE );
+ xHigherPriorityTaskWoken = pdFALSE;
+ xQueueSendFromISR( xOLEDQueue, &xMessage, &xHigherPriorityTaskWoken );
}
}
/*-----------------------------------------------------------*/
@@ -335,13 +356,14 @@ unsigned portLONG ulY, ulMaxY;
static portCHAR cMessage[ mainMAX_MSG_LEN ];
extern unsigned portLONG ulMaxJitter;
unsigned portBASE_TYPE uxUnusedStackOnEntry, uxUnusedStackNow;
+const unsigned portCHAR *pucImage;
/* Functions to access the OLED. The one used depends on the dev kit
being used. */
-void ( *vOLEDInit )( unsigned portLONG );
-void ( *vOLEDStringDraw )( const portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portCHAR );
-void ( *vOLEDImageDraw )( const unsigned portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portLONG, unsigned portLONG );
-void ( *vOLEDClear )( void );
+void ( *vOLEDInit )( unsigned portLONG ) = NULL;
+void ( *vOLEDStringDraw )( const portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portCHAR ) = NULL;
+void ( *vOLEDImageDraw )( const unsigned portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portLONG, unsigned portLONG ) = NULL;
+void ( *vOLEDClear )( void ) = NULL;
/* Just for demo purposes. */
uxUnusedStackOnEntry = uxTaskGetStackHighWaterMark( NULL );
@@ -356,13 +378,24 @@ void ( *vOLEDClear )( void );
vOLEDImageDraw = OSRAM128x64x4ImageDraw;
vOLEDClear = OSRAM128x64x4Clear;
ulMaxY = mainMAX_ROWS_64;
+ pucImage = pucBasicBitmap;
break;
- default : vOLEDInit = RIT128x96x4Init;
+ case SYSCTL_DID1_PRTNO_1968 :
+ case SYSCTL_DID1_PRTNO_8962 : vOLEDInit = RIT128x96x4Init;
vOLEDStringDraw = RIT128x96x4StringDraw;
vOLEDImageDraw = RIT128x96x4ImageDraw;
vOLEDClear = RIT128x96x4Clear;
- ulMaxY = mainMAX_ROWS_96;
+ ulMaxY = mainMAX_ROWS_96;
+ pucImage = pucBasicBitmap;
+ break;
+
+ default : vOLEDInit = vFormike128x128x16Init;
+ vOLEDStringDraw = vFormike128x128x16StringDraw;
+ vOLEDImageDraw = vFormike128x128x16ImageDraw;
+ vOLEDClear = vFormike128x128x16Clear;
+ ulMaxY = mainMAX_ROWS_128;
+ pucImage = pucGrLibBitmap;
break;
}
@@ -370,11 +403,9 @@ void ( *vOLEDClear )( void );
/* Initialise the OLED and display a startup message. */
vOLEDInit( ulSSI_FREQUENCY );
- vOLEDStringDraw( " POWERED BY FreeRTOS", 0, 0, mainFULL_SCALE );
+ vOLEDStringDraw( "POWERED BY FreeRTOS", 0, 0, mainFULL_SCALE );
vOLEDImageDraw( pucImage, 0, mainCHARACTER_HEIGHT + 1, bmpBITMAP_WIDTH, bmpBITMAP_HEIGHT );
- uxUnusedStackNow = uxTaskGetStackHighWaterMark( NULL );
-
for( ;; )
{
/* Wait for a message to arrive that requires displaying. */
@@ -397,69 +428,9 @@ void ( *vOLEDClear )( void );
}
/*-----------------------------------------------------------*/
-void vApplicationIdleHook( void )
-{
- /* This is just a sanity check function to test the port is
- functioning correctly. It can be removed from real applications.
-
- Fill the general purpose registers with known values. */
- __asm volatile( " mov r11, #10 \n"
- " add r0, r11, #1 \n"
- " add r1, r11, #2 \n"
- " add r2, r11, #3 \n"
- " add r3, r11, #4 \n"
- " add r4, r11, #5 \n"
- " add r5, r11, #6 \n"
- " add r6, r11, #7 \n"
- " add r7, r11, #8 \n"
- " add r8, r11, #9 \n"
- " add r9, r11, #10 \n"
- " add r10, r11, #11 \n"
- " add r12, r11, #12" );
-
- /* Check the values are as expected. A context switch might
- have occurred since setting the register values. */
- __asm volatile( " cmp r11, #10 \n"
- " bne set_error_flag \n"
- " cmp r0, #11 \n"
- " bne set_error_flag \n"
- " cmp r1, #12 \n"
- " bne set_error_flag \n"
- " cmp r2, #13 \n"
- " bne set_error_flag \n"
- " cmp r3, #14 \n"
- " bne set_error_flag \n"
- " cmp r4, #15 \n"
- " bne set_error_flag \n"
- " cmp r5, #16 \n"
- " bne set_error_flag \n"
- " cmp r6, #17 \n"
- " bne set_error_flag \n"
- " cmp r7, #18 \n"
- " bne set_error_flag \n"
- " cmp r8, #19 \n"
- " bne set_error_flag \n"
- " cmp r9, #20 \n"
- " bne set_error_flag \n"
- " cmp r10, #21 \n"
- " bne set_error_flag \n"
- " cmp r12, #22 \n"
- " bne set_error_flag \n"
- " bx r14 \n"
- " \n" /* If an error is detected in the */
- "set_error_flag: \n" /* value of a register then the error */
- " ldr r1, ulIdleErrorConst\n" /* variable will be set to true. This */
- " mov r0, #1 \n" /* will cause an error message to be */
- " str r0, [r1] \n" /* written to the OLED. */
- " bx r14 \n"
- " \n"
- " .align 2 \n"
- "ulIdleErrorConst: .word ulIdleError" );
-}
-/*-----------------------------------------------------------*/
-
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed portCHAR *pcTaskName )
{
for( ;; );
}
+
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/timertest.c b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/timertest.c
index c17c9fe4..994efcdb 100644
--- a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/timertest.c
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/timertest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@@ -81,7 +81,7 @@ zero. */
void Timer0IntHandler( void );
/* Stores the value of the maximum recorded jitter between interrupts. */
-unsigned portLONG ulMaxJitter = 0;
+volatile unsigned portLONG ulMaxJitter = 0;
/*-----------------------------------------------------------*/
@@ -102,6 +102,9 @@ unsigned long ulFrequency;
/* Just used to measure time. */
TimerLoadSet(TIMER1_BASE, TIMER_A, timerMAX_32BIT_VALUE );
+ /* Ensure interrupts do not start until the scheduler is running. */
+ portDISABLE_INTERRUPTS();
+
/* The rate at which the timer will interrupt. */
ulFrequency = configCPU_CLOCK_HZ / timerINTERRUPT_FREQUENCY;
TimerLoadSet( TIMER0_BASE, TIMER_A, ulFrequency );
@@ -116,7 +119,8 @@ unsigned long ulFrequency;
void Timer0IntHandler( void )
{
-unsigned portLONG ulDifference, ulCurrentCount;
+unsigned portLONG ulDifference;
+volatile unsigned portLONG ulCurrentCount;
static portLONG ulMaxDifference = 0, ulLastCount = 0;
/* We use the timer 1 counter value to measure the clock cycles between
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/emac.c b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/emac.c
index fd7b8c6e..3829a7d2 100644
--- a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/emac.c
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/emac.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/uIP_Task.c b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/uIP_Task.c
index 166be852..b3321ad9 100644
--- a/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/uIP_Task.c
+++ b/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/uIP_Task.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h
index 7b03dada..ff938743 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@@ -60,19 +60,20 @@
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*----------------------------------------------------------*/
-#define configUSE_PREEMPTION 1
-#define configUSE_IDLE_HOOK 0
-#define configUSE_TICK_HOOK 1
-#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 50000000 )
-#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
-#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 70 )
-#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 24000 ) )
-#define configMAX_TASK_NAME_LEN ( 12 )
-#define configUSE_TRACE_FACILITY 1
-#define configUSE_16_BIT_TICKS 0
-#define configIDLE_SHOULD_YIELD 0
-#define configUSE_CO_ROUTINES 0
-#define configUSE_MUTEXES 1
+#define configUSE_PREEMPTION 1
+#define configUSE_IDLE_HOOK 0
+#define configUSE_TICK_HOOK 1
+#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 50000000 )
+#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
+#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 70 )
+#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 24000 ) )
+#define configMAX_TASK_NAME_LEN ( 12 )
+#define configUSE_TRACE_FACILITY 1
+#define configUSE_16_BIT_TICKS 0
+#define configIDLE_SHOULD_YIELD 0
+#define configUSE_CO_ROUTINES 0
+#define configUSE_MUTEXES 1
+#define configCHECK_FOR_STACK_OVERFLOW 2
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/ParTest/ParTest.c b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/ParTest/ParTest.c
index df167ab7..84324a04 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/ParTest/ParTest.c
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Opt b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Opt
index 10aef9fd..985175e9 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Opt
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Opt
@@ -20,37 +20,39 @@ OPTFFF 1,1,1,0,0,0,0,0,<..\Common\Minimal\BlockQ.c><BlockQ.c>
OPTFFF 1,2,1,0,0,0,0,0,<..\Common\Minimal\blocktim.c><blocktim.c>
OPTFFF 1,3,1,0,0,0,0,0,<..\Common\Minimal\death.c><death.c>
OPTFFF 1,4,1,0,0,0,0,0,<..\Common\Minimal\integer.c><integer.c>
-OPTFFF 1,5,1,0,0,0,0,0,<.\main.c><main.c>
+OPTFFF 1,5,1,2,0,1,1,0,<.\main.c><main.c> { 44,0,0,0,2,0,0,0,3,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,232,255,255,255,110,0,0,0,115,0,0,0,248,3,0,0,22,2,0,0 }
OPTFFF 1,6,1,0,0,0,0,0,<.\ParTest\ParTest.c><ParTest.c>
OPTFFF 1,7,1,0,0,0,0,0,<..\Common\Minimal\PollQ.c><PollQ.c>
OPTFFF 1,8,1,0,0,0,0,0,<..\Common\Minimal\semtest.c><semtest.c>
OPTFFF 1,9,2,0,0,0,0,0,<.\startup_rvmdk.S><startup_rvmdk.S>
OPTFFF 1,10,1,0,0,0,0,0,<.\timertest.c><timertest.c>
-OPTFFF 1,11,5,822083584,0,0,0,0,<.\FreeRTOSConfig.h><FreeRTOSConfig.h>
+OPTFFF 1,11,5,922746880,0,0,0,0,<.\FreeRTOSConfig.h><FreeRTOSConfig.h>
OPTFFF 1,12,1,0,0,0,0,0,<..\Common\Minimal\GenQTest.c><GenQTest.c>
OPTFFF 1,13,1,0,0,0,0,0,<..\Common\Minimal\QPeek.c><QPeek.c>
OPTFFF 2,14,1,0,0,0,0,0,<.\rit128x96x4.c><rit128x96x4.c>
OPTFFF 2,15,1,0,0,0,0,0,<.\osram128x64x4.c><osram128x64x4.c>
OPTFFF 2,16,4,0,0,0,0,0,<..\Common\drivers\LuminaryMicro\Keil\driverlib.lib><driverlib.lib>
-OPTFFF 3,17,1,0,0,0,0,0,<..\..\Source\tasks.c><tasks.c>
-OPTFFF 3,18,1,0,0,0,0,0,<..\..\Source\list.c><list.c>
-OPTFFF 3,19,1,0,0,0,0,0,<..\..\Source\queue.c><queue.c>
-OPTFFF 3,20,1,335544320,0,0,0,0,<..\..\Source\portable\RVDS\ARM_CM3\port.c><port.c>
-OPTFFF 3,21,1,0,0,0,0,0,<..\..\Source\portable\MemMang\heap_2.c><heap_2.c>
-OPTFFF 4,22,1,822083584,0,0,0,0,<.\webserver\uIP_Task.c><uIP_Task.c>
-OPTFFF 4,23,1,754974720,0,0,0,0,<.\webserver\emac.c><emac.c>
-OPTFFF 4,24,1,0,0,0,0,0,<.\webserver\httpd.c><httpd.c>
-OPTFFF 4,25,1,0,0,0,0,0,<.\webserver\httpd-cgi.c><httpd-cgi.c>
-OPTFFF 4,26,1,0,0,0,0,0,<.\webserver\httpd-fs.c><httpd-fs.c>
-OPTFFF 4,27,1,0,0,0,0,0,<.\webserver\http-strings.c><http-strings.c>
-OPTFFF 4,28,1,0,0,0,0,0,<..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c><uip_arp.c>
-OPTFFF 4,29,1,0,0,0,0,0,<..\Common\ethernet\uIP\uip-1.0\uip\psock.c><psock.c>
-OPTFFF 4,30,1,0,0,0,0,0,<..\Common\ethernet\uIP\uip-1.0\uip\timer.c><timer.c>
-OPTFFF 4,31,1,0,0,0,0,0,<..\Common\ethernet\uIP\uip-1.0\uip\uip.c><uip.c>
+OPTFFF 2,17,1,0,0,0,0,0,<.\formike128x128x16.c><formike128x128x16.c>
+OPTFFF 2,18,4,0,0,0,0,0,<..\Common\drivers\LuminaryMicro\Keil\grlib.lib><grlib.lib>
+OPTFFF 3,19,1,0,0,0,0,0,<..\..\Source\tasks.c><tasks.c>
+OPTFFF 3,20,1,0,0,0,0,0,<..\..\Source\list.c><list.c>
+OPTFFF 3,21,1,0,0,0,0,0,<..\..\Source\queue.c><queue.c>
+OPTFFF 3,22,1,402653184,0,0,0,0,<..\..\Source\portable\RVDS\ARM_CM3\port.c><port.c>
+OPTFFF 3,23,1,0,0,0,0,0,<..\..\Source\portable\MemMang\heap_2.c><heap_2.c>
+OPTFFF 4,24,1,822083584,0,0,0,0,<.\webserver\uIP_Task.c><uIP_Task.c>
+OPTFFF 4,25,1,0,0,0,0,0,<.\webserver\emac.c><emac.c>
+OPTFFF 4,26,1,0,0,0,0,0,<.\webserver\httpd.c><httpd.c>
+OPTFFF 4,27,1,0,0,0,0,0,<.\webserver\httpd-cgi.c><httpd-cgi.c>
+OPTFFF 4,28,1,0,0,0,0,0,<.\webserver\httpd-fs.c><httpd-fs.c>
+OPTFFF 4,29,1,0,0,0,0,0,<.\webserver\http-strings.c><http-strings.c>
+OPTFFF 4,30,1,0,0,0,0,0,<..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c><uip_arp.c>
+OPTFFF 4,31,1,0,0,0,0,0,<..\Common\ethernet\uIP\uip-1.0\uip\psock.c><psock.c>
+OPTFFF 4,32,1,0,0,0,0,0,<..\Common\ethernet\uIP\uip-1.0\uip\timer.c><timer.c>
+OPTFFF 4,33,1,0,0,0,0,0,<..\Common\ethernet\uIP\uip-1.0\uip\uip.c><uip.c>
TARGOPT 1, (FreeRTOS_Demo)
- ADSCLK=8000000
+ ADSCLK=6000000
OPTTT 1,1,1,0
OPTHX 1,65535,0,0,0
OPTLX 79,66,8,<.\rvmdk\>
@@ -59,10 +61,10 @@ TARGOPT 1, (FreeRTOS_Demo)
OPTXL 1,1,1,1,1,1,1,0,0
OPTFL 1,0,1
OPTAX 255
- OPTBL 0,(Data Sheet)<DATASHTS\Luminary\LM3S6965.PDF>
- OPTDL (SARMCM3.DLL)()(DLM.DLL)(-pLM3S6965)(SARMCM3.DLL)()(TLM.DLL)(-pLM3S6965)
+ OPTBL 0,(Data Sheet)<DATASHTS\Luminary\LM3S2965.PDF>
+ OPTDL (SARMCM3.DLL)()(DLM.DLL)(-pLM3S2965)(SARMCM3.DLL)()(TLM.DLL)(-pLM3S2965)
OPTDBG 48126,4,()()()()()()()()()() (BIN\lmidk-agdi.dll)()()()
- OPTKEY 0,(DLGTARM)((1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(101=-1,-1,-1,-1,0)(102=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)(1014=-1,-1,-1,-1,0)(1016=-1,-1,-1,-1,0))
+ OPTKEY 0,(DLGTARM)((1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(101=-1,-1,-1,-1,0)(102=-1,-1,-1,-1,0)(103=-1,-1,-1,-1,0)(104=-1,-1,-1,-1,0)(105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(163=-1,-1,-1,-1,0)(164=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)(152=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)(1014=-1,-1,-1,-1,0)(1016=-1,-1,-1,-1,0)(136=-1,-1,-1,-1,0))
OPTKEY 0,(ARMDBGFLAGS)()
OPTKEY 0,(lmidk-agdi)(-B0 -O1792)
OPTMM 1,2,(0)
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Uv2 b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Uv2
index 01a8ed6c..d429c4e5 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Uv2
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.Uv2
@@ -24,6 +24,8 @@ File 1,1,<..\Common\Minimal\QPeek.c><QPeek.c>
File 2,1,<.\rit128x96x4.c><rit128x96x4.c>
File 2,1,<.\osram128x64x4.c><osram128x64x4.c>
File 2,4,<..\Common\drivers\LuminaryMicro\Keil\driverlib.lib><driverlib.lib>
+File 2,1,<.\formike128x128x16.c><formike128x128x16.c>
+File 2,4,<..\Common\drivers\LuminaryMicro\Keil\grlib.lib><grlib.lib>
File 3,1,<..\..\Source\tasks.c><tasks.c>
File 3,1,<..\..\Source\list.c><list.c>
File 3,1,<..\..\Source\queue.c><queue.c>
@@ -42,13 +44,13 @@ File 4,1,<..\Common\ethernet\uIP\uip-1.0\uip\uip.c><uip.c>
Options 1,0,0 // Target 'FreeRTOS_Demo'
- Device (LM3S6965)
+ Device (LM3S2965)
Vendor (Luminary Micro)
Cpu (IRAM(0x20000000-0x2000FFFF) IROM(0-0x3FFFF) CLOCK(6000000) CPUTYPE("Cortex-M3"))
FlashUt ()
StupF ("STARTUP\Luminary\Startup.s" ("Luminary Startup Code"))
FlashDR (UL2CM3(-UU0101L5E -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0LM3S_256 -FS00 -FL040000))
- DevID (4337)
+ DevID (4322)
Rgf (LM3Sxxxx.H)
Mem ()
C ()
@@ -123,33 +125,11 @@ Options 1,0,0 // Target 'FreeRTOS_Demo'
ADSLDMC (--entry Reset_Handler)
ADSLDIF ()
ADSLDDW ()
- OPTDL (SARMCM3.DLL)()(DLM.DLL)(-pLM3S6965)(SARMCM3.DLL)()(TLM.DLL)(-pLM3S6965)
+ OPTDL (SARMCM3.DLL)()(DLM.DLL)(-pLM3S2965)(SARMCM3.DLL)()(TLM.DLL)(-pLM3S2965)
OPTDBG 48126,4,()()()()()()()()()() (BIN\lmidk-agdi.dll)()()()
FLASH1 { 1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0 }
FLASH2 (BIN\lmidk-agdi.dll)
- FLASH3 ("" ())
+ FLASH3 ()
FLASH4 ()
EndOpt
-Options 1,4,0 // Group 'uIP_Source'
- PropFld { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
- IncBld=1
- AlwaysBuild=2
- GenAsm=2
- AsmAsm=2
- PublicsOnly=2
- StopCode=11
- CustArgs ()
- LibMods ()
- ADSCCFLG { 2,84,85,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
- ADSCMISC ()
- ADSCDEFN ()
- ADSCUDEF ()
- ADSCINCD ()
- ADSASFLG { 170,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
- ADSAMISC ()
- ADSADEFN ()
- ADSAUDEF ()
- ADSAINCD ()
-EndOpt
-
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp
index 1f0f615c..d72b28a5 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp
@@ -665,6 +665,7 @@
<option>
<name>IlinkAdditionalLibs</name>
<state>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\IAR\driverlib.a</state>
+ <state>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\IAR\grlib.a</state>
</option>
<option>
<name>IlinkOverrideProgramEntryLabel</name>
@@ -812,7 +813,13 @@
<group>
<name>Library files</name>
<file>
- <name>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\IAR\driverlib.r79</name>
+ <name>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\IAR\driverlib.a</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\formike128x128x16.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\IAR\grlib.a</name>
</file>
<file>
<name>$PROJ_DIR$\osram128x64x4.c</name>
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/bitmap.h b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/bitmap.h
index 02ce0b36..29f813fd 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/bitmap.h
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/bitmap.h
@@ -1,7 +1,10 @@
#ifndef BITMAP_H
#define BITMAP_H
-const unsigned char pucImage[] =
+#define bmpBITMAP_HEIGHT 50
+#define bmpBITMAP_WIDTH 128
+
+const unsigned char pucBasicBitmap[] =
{
0x00, 0x0a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
@@ -165,7 +168,169 @@ const unsigned char pucImage[] =
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00,
0x00 };
-#define bmpBITMAP_HEIGHT 50
-#define bmpBITMAP_WIDTH 128
+const unsigned char pucGrLibBitmap[] =
+{
+ IMAGE_FMT_4BPP_COMP,
+ 124, 0,
+ 49, 0,
+
+ 15,
+ 0x00, 0x00, 0x00,
+ 0x00, 0x0c, 0x00,
+ 0x20, 0x44, 0x20,
+ 0x00, 0x75, 0x00,
+ 0x69, 0x69, 0x69,
+ 0x00, 0xc2, 0x00,
+ 0x00, 0xd2, 0x00,
+ 0x38, 0xb6, 0x38,
+ 0x00, 0xea, 0x00,
+ 0x00, 0xf2, 0x00,
+ 0xaa, 0xb2, 0xaa,
+ 0x65, 0xff, 0x65,
+ 0x69, 0xff, 0x69,
+ 0x6d, 0xff, 0x6d,
+ 0x71, 0xff, 0x71,
+ 0xff, 0xff, 0xff,
+
+ 0x03, 0x21, 0x33, 0x53, 0x33, 0x33, 0x33, 0xe9, 0xd4, 0xf8, 0xa7, 0x5f,
+ 0x17, 0x07, 0x06, 0x35, 0x33, 0x12, 0x03, 0x23, 0x96, 0x68, 0x88, 0x88,
+ 0x88, 0xe9, 0xd4, 0xf8, 0xa7, 0x5f, 0x17, 0x07, 0x06, 0x86, 0x69, 0x32,
+ 0x03, 0x29, 0x66, 0x65, 0x66, 0x66, 0x66, 0xe9, 0xd4, 0xf8, 0xa7, 0x5f,
+ 0x17, 0x07, 0x06, 0x56, 0x66, 0x92, 0x07, 0x78, 0x63, 0x11, 0x11, 0x11,
+ 0xe9, 0xd4, 0xa7, 0xf0, 0x5f, 0x17, 0x07, 0x07, 0x11, 0x36, 0x87, 0x78,
+ 0x0f, 0x63, 0x00, 0x00, 0x00, 0xe9, 0xd4, 0xa7, 0x5f, 0xe0, 0x17, 0x07,
+ 0x07, 0x00, 0x36, 0x87, 0x78, 0x63, 0xfe, 0x07, 0x07, 0x77, 0x2f, 0x07,
+ 0x07, 0x02, 0x36, 0x1e, 0x87, 0x78, 0x63, 0x07, 0x07, 0x77, 0x2f, 0x00,
+ 0x10, 0x01, 0x22, 0x20, 0x07, 0x00, 0x00, 0x22, 0x21, 0x84, 0x03, 0x36,
+ 0x87, 0x78, 0x63, 0x02, 0x02, 0xaa, 0x01, 0xa2, 0x22, 0x20, 0x02, 0x77,
+ 0x77, 0x77, 0xe9, 0x3a, 0x22, 0x22, 0x7a, 0xa4, 0x71, 0x20, 0x0a, 0x27,
+ 0xb8, 0x29, 0x72, 0xb2, 0x9e, 0x93, 0x36, 0x87, 0x78, 0x40, 0x63, 0x62,
+ 0x2a, 0xff, 0xf2, 0xaa, 0x40, 0x07, 0x08, 0xad, 0xdd, 0xdd, 0xdd, 0xe9,
+ 0xd7, 0x72, 0x00, 0x40, 0x00, 0xa6, 0xdd, 0xda, 0x70, 0x00, 0x00, 0x02,
+ 0x00, 0x77, 0xdd, 0xdc, 0xcc, 0xcd, 0xde, 0xc7, 0x20, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x27, 0xde, 0xdc, 0x08, 0xcc, 0xcc, 0xdd, 0xea, 0x99,
+ 0x36, 0x87, 0x78, 0x40, 0x63, 0x69, 0x02, 0xaf, 0xaa, 0xf2, 0x2f, 0xa0,
+ 0x04, 0x02, 0xdb, 0xbb, 0xbb, 0xbb, 0xe9, 0xbc, 0xe7, 0x10, 0x20, 0x00,
+ 0x07, 0xa5, 0xbb, 0xbd, 0x70, 0x00, 0x10, 0x00, 0x27, 0xec, 0x3b, 0xcd,
+ 0xd7, 0x00, 0x00, 0x80, 0x9f, 0xbd, 0x20, 0x00, 0x00, 0x36, 0x87, 0x78,
+ 0x40, 0x63, 0x69, 0x02, 0xfa, 0x2a, 0xf2, 0x2f, 0xa0, 0x31, 0x02, 0xdb,
+ 0x43, 0x31, 0x42, 0x00, 0x07, 0xa7, 0x0a, 0x70, 0x00, 0x02, 0xdd, 0x41,
+ 0xcc, 0x21, 0xce, 0x04, 0x70, 0x00, 0x00, 0x02, 0x7d, 0x39, 0xbc, 0xcb,
+ 0x00, 0xbb, 0xbd, 0x20, 0x00, 0x00, 0x36, 0x87, 0x78, 0x20, 0x63, 0x00,
+ 0x69, 0xfa, 0x0a, 0xf2, 0x2f, 0xa0, 0x01, 0x02, 0xdb, 0xbb, 0xbb, 0xdd,
+ 0xdd, 0xdc, 0x11, 0x08, 0xe7, 0x00, 0x07, 0xad, 0xbb, 0xcd, 0xdd, 0xda,
+ 0x09, 0x70, 0x00, 0x2d, 0xcb, 0x41, 0xcc, 0xdd, 0xd1, 0x04, 0xe7, 0x00,
+ 0x00, 0x07, 0xeb, 0x51, 0xdc, 0xcd, 0x00, 0xdd, 0xdd, 0x20, 0x00, 0x00,
+ 0x36, 0x87, 0x78, 0x00, 0x63, 0x00, 0x00, 0x00, 0x02, 0xfa, 0x2a, 0xf2,
+ 0x00, 0xaf, 0xa0, 0x02, 0xdb, 0xbb, 0xbd, 0x72, 0x22, 0x00, 0x77, 0xdc,
+ 0xbb, 0xbb, 0xc7, 0x20, 0x07, 0x77, 0x04, 0x77, 0x77, 0xcb, 0xbb, 0xbc,
+ 0xd1, 0x20, 0x01, 0x28, 0x7d, 0xbb, 0x42, 0x27, 0x41, 0xcd, 0x20, 0x00,
+ 0x40, 0x27, 0x51, 0x72, 0x22, 0x22, 0x27, 0x7c, 0x20, 0x00, 0x00, 0x00,
+ 0x36, 0x87, 0x78, 0x63, 0x00, 0x00, 0x00, 0x00, 0x02, 0xaf, 0xaa, 0xfa,
+ 0xff, 0x20, 0x02, 0x10, 0xdb, 0xbb, 0xbe, 0x61, 0x2d, 0xbb, 0xbb, 0xcc,
+ 0xa8, 0x29, 0x00, 0x89, 0xbd, 0xc3, 0xeb, 0xbb, 0xbb, 0x00, 0xd7, 0x10,
+ 0x00, 0x00, 0x2c, 0xcb, 0xbb, 0xbd, 0x58, 0x70, 0x12, 0xc7, 0x13, 0x29,
+ 0x36, 0x87, 0x78, 0x40, 0x63, 0xa9, 0x00, 0xaf, 0xff, 0xff, 0xfa, 0x20,
+ 0x08, 0x02, 0xdb, 0xbb, 0xbd, 0x39, 0x07, 0xdb, 0xbb, 0x72, 0xcc, 0x03,
+ 0x8c, 0x82, 0xbd, 0x70, 0x84, 0xbc, 0x03, 0xd2, 0x00, 0x2d, 0xbb, 0xbb,
+ 0xd7, 0x19, 0x01, 0x02, 0x00, 0x00, 0x36, 0x87, 0x78, 0x63, 0xa2, 0x0a,
+ 0x10, 0xaf, 0xff, 0xa2, 0x0a, 0xbd, 0x20, 0x00, 0x00, 0x0c, 0x07, 0xdb,
+ 0xbb, 0xc7, 0xc9, 0x8e, 0x00, 0x2c, 0x40, 0xcb, 0xc4, 0x00, 0x7c, 0xbb,
+ 0xbb, 0xe7, 0x00, 0x06, 0x2d, 0xbb, 0xbb, 0xc7, 0x10, 0x92, 0x31, 0x36,
+ 0x10, 0x87, 0x78, 0x63, 0xab, 0x22, 0x22, 0x00, 0x00, 0x00, 0x02, 0xdb,
+ 0xbb, 0xbd, 0x20, 0x00, 0x00, 0x07, 0x18, 0xcb, 0xbb, 0xd7, 0x0a, 0x8d,
+ 0x00, 0x2d, 0xbb, 0x23, 0xbb, 0xc7, 0x82, 0x00, 0x2e, 0xbb, 0x39, 0x91,
+ 0x20, 0xbd, 0x72, 0x8b, 0x00, 0x00, 0x36, 0x87, 0x78, 0x48, 0x63, 0x33,
+ 0x02, 0x20, 0xe1, 0xdb, 0xbb, 0xbd, 0x01, 0x20, 0x00, 0x02, 0x7d, 0xbb,
+ 0xbb, 0xe2, 0x6b, 0x94, 0x8b, 0x00, 0x00, 0x81, 0xd7, 0x82, 0x00, 0x2d,
+ 0x00, 0xbb, 0xbb, 0xc7, 0x20, 0x2c, 0xcb, 0xbb, 0xbb, 0x10, 0xdd, 0x77,
+ 0x22, 0x7b, 0x36, 0x87, 0x78, 0x63, 0x80, 0x32, 0x02, 0xaa, 0xf2, 0x22,
+ 0x20, 0x02, 0xdb, 0x00, 0xbb, 0xbc, 0x77, 0x77, 0x77, 0xdb, 0xbb, 0xce,
+ 0x42, 0x71, 0x63, 0xdb, 0xbb, 0xbd, 0x20, 0x19, 0x7d, 0x10, 0xbb, 0xbb,
+ 0xd2, 0x82, 0x00, 0x27, 0xcb, 0xbb, 0x00, 0xc7, 0x20, 0x07, 0xeb, 0xbb,
+ 0xbb, 0xbb, 0xcd, 0x21, 0xd7, 0x72, 0x72, 0x36, 0x87, 0x78, 0x63, 0x32,
+ 0x01, 0x4f, 0xff, 0xf2, 0xaf, 0xa0, 0x02, 0xdb, 0x41, 0x03, 0xdd, 0xdc,
+ 0xbb, 0xbc, 0xd7, 0x20, 0x22, 0x89, 0x42, 0xbd, 0xba, 0x7d, 0xbb, 0xbb,
+ 0xd2, 0x82, 0x00, 0x02, 0x27, 0xcb, 0xbb, 0xcc, 0x20, 0x02, 0x89, 0xbb,
+ 0x08, 0xbb, 0xbc, 0xdd, 0x72, 0x31, 0x36, 0x87, 0x78, 0x40, 0x63, 0x31,
+ 0x02, 0xaf, 0xaa, 0xf2, 0x2f, 0xa0, 0x21, 0x02, 0xdb, 0x3a, 0xbb, 0xbb,
+ 0xc7, 0x20, 0x31, 0x88, 0x59, 0xdb, 0xbb, 0xbd, 0xb2, 0x7d, 0xbb, 0xbb,
+ 0x40, 0xd2, 0x7b, 0x27, 0xcb, 0xbb, 0xcc, 0x20, 0x00, 0x00, 0x27, 0xec,
+ 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xe7, 0x84, 0x29, 0x36, 0x87, 0x78, 0x63,
+ 0x31, 0x02, 0xfa, 0x02, 0x0a, 0xf2, 0x2f, 0xa0, 0x02, 0xdb, 0x42, 0xbb,
+ 0x31, 0xbb, 0xc7, 0x39, 0x5a, 0xdb, 0xbb, 0xbd, 0xb2, 0x08, 0x7d, 0xbb,
+ 0xbb, 0xd2, 0x7b, 0x27, 0xcb, 0xbb, 0x00, 0xcc, 0x20, 0x00, 0x02, 0x77,
+ 0xed, 0xcb, 0xbb, 0x00, 0xbb, 0xbb, 0xbd, 0x71, 0x00, 0x00, 0x36, 0x87,
+ 0x20, 0x78, 0x63, 0x31, 0x02, 0xfa, 0x0a, 0xf2, 0x2f, 0x00, 0xa0, 0x02,
+ 0xdb, 0xbb, 0xbb, 0xcd, 0xdd, 0xcb, 0x18, 0xbb, 0xbc, 0xe2, 0x69, 0x59,
+ 0xdb, 0xbb, 0xbd, 0x42, 0x20, 0x19, 0x7d, 0xbb, 0xbb, 0xd2, 0x7b, 0x27,
+ 0x10, 0xcb, 0xbb, 0xcb, 0x79, 0x02, 0x27, 0x7d, 0xdc, 0x00, 0xbb, 0xbb,
+ 0xbb, 0xe2, 0x00, 0x00, 0x36, 0x87, 0x20, 0x78, 0x63, 0x31, 0x02, 0xfa,
+ 0x2a, 0xf2, 0xaf, 0x00, 0xa0, 0x02, 0xdb, 0xbb, 0xbd, 0x72, 0x27, 0x4c,
+ 0x1d, 0xbb, 0xbb, 0xd7, 0x69, 0x59, 0x89, 0x20, 0x19, 0x42, 0x7d, 0x7e,
+ 0x2c, 0xbb, 0xbb, 0xc7, 0x7a, 0x00, 0x10, 0x22, 0x7c, 0xcb, 0x63, 0x36,
+ 0x87, 0x78, 0x63, 0x80, 0x31, 0x02, 0xaf, 0xfa, 0xff, 0xff, 0x20, 0x02,
+ 0x00, 0xdb, 0xbb, 0xbd, 0x20, 0x00, 0x2c, 0xcb, 0xbb, 0x28, 0xcb, 0x20,
+ 0x61, 0x00, 0x8c, 0x00, 0x00, 0x2d, 0x12, 0xbb, 0xbb, 0xd7, 0x82, 0x00,
+ 0x2e, 0xbe, 0x00, 0x21, 0x02, 0x7c, 0x63, 0x36, 0x87, 0x78, 0x63, 0x32,
+ 0x00, 0x2f, 0xff, 0xff, 0xfa, 0x00, 0x02, 0xdb, 0xbb, 0x00, 0xbd, 0x20,
+ 0x00, 0x07, 0xdb, 0xbb, 0xbe, 0x20, 0xc2, 0x62, 0x8c, 0x00, 0x00, 0x2c,
+ 0xcb, 0xc4, 0x00, 0x0c, 0x7d, 0xbb, 0xbb, 0xe7, 0x3a, 0x19, 0x2d, 0xbb,
+ 0x00, 0xbb, 0xc7, 0x00, 0x00, 0x36, 0x87, 0x78, 0x63, 0x80, 0x3a, 0x02,
+ 0xaa, 0xaa, 0x40, 0x00, 0x02, 0xdb, 0x00, 0xbb, 0xbd, 0x20, 0x00, 0x02,
+ 0xcc, 0xbb, 0xbd, 0x63, 0x70, 0x63, 0x8b, 0x00, 0x00, 0x07, 0x49, 0x7a,
+ 0x98, 0x09, 0xbb, 0xd2, 0x3a, 0x19, 0x2d, 0xbb, 0xbb, 0x01, 0xd7, 0x00,
+ 0x00, 0x36, 0x87, 0x78, 0x63, 0x3a, 0x14, 0xaa, 0x22, 0x20, 0x0b, 0xbd,
+ 0xc9, 0x7d, 0xbb, 0x30, 0xbb, 0xd2, 0x61, 0x8e, 0x00, 0x02, 0xeb, 0xbb,
+ 0x20, 0xbb, 0xd7, 0x79, 0x27, 0xcb, 0xbb, 0xbd, 0x70, 0x24, 0x00, 0x02,
+ 0x6a, 0x00, 0x7d, 0x6b, 0x36, 0x87, 0x24, 0x78, 0x63, 0x39, 0x02, 0xff,
+ 0x62, 0x02, 0xdb, 0x21, 0xbb, 0xbd, 0x21, 0x2e, 0xbb, 0xbb, 0xe7, 0x61,
+ 0x80, 0x8e, 0x00, 0x02, 0x7d, 0xbb, 0xbb, 0xbd, 0x72, 0x00, 0x22, 0x27,
+ 0xcc, 0xbb, 0xbb, 0xcd, 0x20, 0x00, 0x08, 0x07, 0xe7, 0x72, 0x22, 0xa3,
+ 0xe2, 0x00, 0x00, 0x00, 0x36, 0x87, 0x78, 0x63, 0x00, 0x00, 0x00, 0x02,
+ 0x20, 0xaf, 0xa0, 0xd2, 0xdb, 0xbb, 0xbd, 0x20, 0x00, 0x03, 0x00, 0x2b,
+ 0xcb, 0xbb, 0xc7, 0x10, 0x8f, 0x11, 0x01, 0x2d, 0xcb, 0xbb, 0xbb, 0xdd,
+ 0xb7, 0xcd, 0xd1, 0x00, 0xe7, 0x00, 0x00, 0x07, 0xdc, 0xdd, 0xcb, 0x7b,
+ 0x00, 0xdd, 0xcb, 0xbb, 0xbc, 0x72, 0x00, 0x00, 0x36, 0x10, 0x87, 0x78,
+ 0x63, 0x01, 0x00, 0x2a, 0xfa, 0x42, 0x01, 0x22, 0x20, 0x02, 0xdb, 0xbb,
+ 0xbd, 0x20, 0x01, 0xb0, 0xcc, 0x00, 0x8d, 0xb9, 0xec, 0xbb, 0xbb, 0xbb,
+ 0x00, 0xcc, 0xcb, 0xbb, 0xbb, 0xbe, 0x71, 0x00, 0x00, 0x05, 0x27, 0xcb,
+ 0xbb, 0xcc, 0xcc, 0x81, 0xce, 0x29, 0x08, 0x36, 0x87, 0x78, 0x63, 0x02,
+ 0xaa, 0xff, 0xff, 0x02, 0xff, 0xa0, 0x02, 0xdb, 0xbb, 0xbd, 0x61, 0x02,
+ 0x0e, 0xeb, 0xbb, 0xbd, 0x70, 0x5a, 0x8c, 0x09, 0x27, 0x00, 0xec, 0xbb,
+ 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xd7, 0x54, 0x10, 0xa1, 0xcb, 0xa4, 0xd2,
+ 0x31, 0x36, 0x87, 0x20, 0x78, 0x63, 0x01, 0x02, 0xff, 0xff, 0xff, 0xff,
+ 0x02, 0xa0, 0x07, 0xad, 0xdd, 0xda, 0x20, 0x99, 0xde, 0x1c, 0xdd, 0xde,
+ 0xc2, 0x21, 0x8d, 0x0a, 0x7c, 0xed, 0x04, 0xcc, 0xcc, 0xcc, 0xde, 0xd7,
+ 0x92, 0x2c, 0xed, 0x40, 0xdc, 0xa7, 0x36, 0x87, 0x78, 0x63, 0x00, 0x02,
+ 0x00, 0x22, 0x02, 0xaa, 0xaa, 0xaa, 0xaa, 0x20, 0x02, 0x1b, 0x77, 0x77,
+ 0x77, 0x5a, 0xc9, 0x72, 0x21, 0x8e, 0x88, 0xaa, 0x27, 0x77, 0x7b, 0x9d,
+ 0x12, 0x27, 0x77, 0x20, 0x77, 0xb7, 0x3d, 0x36, 0x87, 0x78, 0x63, 0x00,
+ 0x3e, 0x02, 0xaa, 0x43, 0x22, 0xc6, 0x87, 0x3e, 0x12, 0x21, 0x22, 0x22,
+ 0x06, 0x01, 0x22, 0x22, 0x21, 0x04, 0x00, 0x36, 0x87, 0x78, 0x63, 0x00,
+ 0x02, 0xfa, 0x22, 0x3f, 0xaa, 0x20, 0x26, 0xc6, 0x87, 0x3f, 0x07, 0x07,
+ 0x00, 0x36, 0x87, 0x78, 0x63, 0x00, 0x02, 0xfa, 0x02, 0x7e, 0xff, 0x07,
+ 0x07, 0x77, 0x2f, 0x07, 0x06, 0x36, 0x00, 0x87, 0x78, 0x63, 0x00, 0x02,
+ 0xff, 0xaa, 0xfa, 0x07, 0x44, 0x44, 0x44, 0x20, 0x02, 0xd9, 0xc1, 0xd4,
+ 0xf0, 0xa7, 0x5f, 0x17, 0x04, 0x42, 0x00, 0x00, 0x36, 0x00, 0x87, 0x78,
+ 0x63, 0x00, 0x02, 0xff, 0xff, 0xff, 0x9f, 0xe9, 0xa0, 0x0a, 0xc4, 0x94,
+ 0xa7, 0x5f, 0x17, 0x80, 0x04, 0xfa, 0x20, 0x00, 0x36, 0x87, 0x78, 0x63,
+ 0x13, 0x00, 0x00, 0xaf, 0x03, 0xa0, 0x0a, 0x07, 0xbf, 0xe0, 0x77, 0x2f,
+ 0x07, 0xfa, 0x20, 0x00, 0x36, 0x87, 0x00, 0x78, 0x63, 0x00, 0x00, 0x02,
+ 0xaa, 0xfa, 0xaa, 0x0f, 0xaa, 0xaa, 0x20, 0x02, 0xd9, 0xc1, 0xd4, 0xa7,
+ 0xe0, 0x5f, 0x17, 0x05, 0x00, 0x00, 0x36, 0x87, 0x78, 0x03, 0x63, 0x00,
+ 0x00, 0x00, 0x02, 0xff, 0xd9, 0xc1, 0xfc, 0xd4, 0xa7, 0x5f, 0x17, 0x07,
+ 0x03, 0x36, 0x87, 0x23, 0x78, 0x63, 0x01, 0x02, 0x44, 0x20, 0x07, 0x07,
+ 0xf0, 0x77, 0x2f, 0x07, 0x05, 0x36, 0x87, 0x78, 0x63, 0xfe, 0x07, 0x07,
+ 0x77, 0x2f, 0x07, 0x07, 0x02, 0x36, 0x1f, 0x87, 0x78, 0x63, 0x07, 0x07,
+ 0x77, 0x2f, 0x07, 0xc0, 0x07, 0x02, 0x36, 0x87, 0x78, 0x63, 0x11, 0x11,
+ 0x7f, 0x11, 0xe9, 0xd4, 0xa7, 0x5f, 0x17, 0x07, 0x07, 0x00, 0x11, 0x36,
+ 0x87, 0x29, 0x66, 0x55, 0x55, 0x55, 0xfe, 0xe9, 0xd4, 0xa7, 0x5f, 0x17,
+ 0x07, 0x07, 0x55, 0x00, 0x66, 0x92, 0x23, 0x96, 0x68, 0x88, 0x88, 0x88,
+ 0xfe, 0xe9, 0xd4, 0xa7, 0x5f, 0x17, 0x07, 0x06, 0x86, 0x01, 0x69, 0x32,
+ 0x21, 0x33, 0x55, 0x55, 0x55, 0xe9, 0xfc, 0xd4, 0xa7, 0x5f, 0x17, 0x07,
+ 0x07, 0x55, 0x33, 0x00, 0x12,
+};
+
#endif
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/formike128x128x16.c b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/formike128x128x16.c
new file mode 100644
index 00000000..188099a4
--- /dev/null
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/formike128x128x16.c
@@ -0,0 +1,902 @@
+//*****************************************************************************
+//
+// formike128x128x16.c - Display driver for the Formike Electronic
+// KWH015C04-F01 CSTN panel with an ST7637 controller.
+//
+// Copyright (c) 2008 Luminary Micro, Inc. All rights reserved.
+//
+// Software License Agreement
+//
+// Luminary Micro, Inc. (LMI) is supplying this software for use solely and
+// exclusively on LMI's microcontroller products.
+//
+// The software is owned by LMI and/or its suppliers, and is protected under
+// applicable copyright laws. All rights are reserved. You may not combine
+// this software with "viral" open-source software in order to form a larger
+// program. Any use in violation of the foregoing restrictions may subject
+// the user to criminal sanctions under applicable laws, as well as to civil
+// liability for the breach of the terms and conditions of this license.
+//
+// THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+//
+// This is part of revision 2523 of the Stellaris Peripheral Driver Library.
+//
+//*****************************************************************************
+
+//*****************************************************************************
+//
+//! \addtogroup ek_lm3s3748_api
+//! @{
+//
+//*****************************************************************************
+
+#include "hw_gpio.h"
+#include "hw_memmap.h"
+#include "hw_types.h"
+#include "gpio.h"
+#include "sysctl.h"
+#include "rom.h"
+#include "grlib.h"
+#include "formike128x128x16.h"
+#include <string.h>
+
+//*****************************************************************************
+//
+// Defines for the pins that are used to communicate with the ST7637.
+//
+//*****************************************************************************
+#define LCD_A0_BASE GPIO_PORTB_BASE
+#define LCD_A0_PIN GPIO_PIN_2
+#define LCD_WR_BASE GPIO_PORTC_BASE
+#define LCD_WR_PIN GPIO_PIN_4
+#define LCD_RD_BASE GPIO_PORTC_BASE
+#define LCD_RD_PIN GPIO_PIN_5
+#define LCD_BL_BASE GPIO_PORTF_BASE
+#define LCD_BL_PIN GPIO_PIN_1
+#define LCD_DATA_BASE GPIO_PORTG_BASE
+
+//*****************************************************************************
+//
+// Translates a 24-bit RGB color to a display driver-specific color.
+//
+// \param c is the 24-bit RGB color. The least-significant byte is the blue
+// channel, the next byte is the green channel, and the third byte is the red
+// channel.
+//
+// This macro translates a 24-bit RGB color into a value that can be written
+// into the display's frame buffer in order to reproduce that color, or the
+// closest possible approximation of that color.
+//
+// \return Returns the display-driver specific color.
+//
+//*****************************************************************************
+#define DPYCOLORTRANSLATE(c) ((((c) & 0x00ff0000) >> 19) | \
+ ((((c) & 0x0000ff00) >> 5) & 0x000007e0) | \
+ ((((c) & 0x000000ff) << 8) & 0x0000f800))
+
+//*****************************************************************************
+//
+// Writes a data word to the ST7637.
+//
+//*****************************************************************************
+static void
+WriteData(unsigned char ucData)
+{
+ //
+ // Write the data to the data bus.
+ //
+ HWREG(LCD_DATA_BASE + GPIO_O_DATA + (0xff << 2)) = ucData;
+
+ //
+ // Assert the write enable signal.
+ //
+ HWREG(LCD_WR_BASE + GPIO_O_DATA + (LCD_WR_PIN << 2)) = 0;
+
+ //
+ // Deassert the write enable signal.
+ //
+ HWREG(LCD_WR_BASE + GPIO_O_DATA + (LCD_WR_PIN << 2)) = LCD_WR_PIN;
+}
+
+//*****************************************************************************
+//
+// Writes a command to the ST7637.
+//
+//*****************************************************************************
+static void
+WriteCommand(unsigned char ucData)
+{
+ //
+ // Write the command to the data bus.
+ //
+ HWREG(LCD_DATA_BASE + GPIO_O_DATA + (0xff << 2)) = ucData;
+
+ //
+ // Set the A0 signal low, indicating a command.
+ //
+ HWREG(LCD_A0_BASE + GPIO_O_DATA + (LCD_A0_PIN << 2)) = 0;
+
+ //
+ // Assert the write enable signal.
+ //
+ HWREG(LCD_WR_BASE + GPIO_O_DATA + (LCD_WR_PIN << 2)) = 0;
+
+ //
+ // Deassert the write enable signal.
+ //
+ HWREG(LCD_WR_BASE + GPIO_O_DATA + (LCD_WR_PIN << 2)) = LCD_WR_PIN;
+
+ //
+ // Set the A0 signal high, indicating that following writes are data.
+ //
+ HWREG(LCD_A0_BASE + GPIO_O_DATA + (LCD_A0_PIN << 2)) = LCD_A0_PIN;
+}
+
+//*****************************************************************************
+//
+//! Initializes the display driver.
+//!
+//! This function initializes the ST7637 display controller on the panel,
+//! preparing it to display data.
+//!
+//! \return None.
+//
+//*****************************************************************************
+void
+Formike128x128x16Init(void)
+{
+ unsigned long ulClockMS, ulCount;
+
+ //
+ // Get the value to pass to SysCtlDelay() in order to delay for 1 ms.
+ //
+ ulClockMS = SysCtlClockGet() / (3 * 1000);
+
+ //
+ // Enable the GPIO peripherals used to interface to the ST7637.
+ //
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
+
+ //
+ // Configure the pins that connect to the LCD as GPIO outputs.
+ //
+ GPIOPinTypeGPIOOutput(LCD_A0_BASE, LCD_A0_PIN);
+ GPIOPinTypeGPIOOutput(LCD_WR_BASE, LCD_WR_PIN);
+ GPIOPinTypeGPIOOutput(LCD_RD_BASE, LCD_RD_PIN);
+ GPIOPinTypeGPIOOutput(LCD_BL_BASE, LCD_BL_PIN);
+ GPIOPinTypeGPIOOutput(LCD_DATA_BASE, 0xff);
+
+ //
+ // Set the LCD control pins to their default values.
+ //
+ GPIOPinWrite(LCD_A0_BASE, LCD_A0_PIN, LCD_A0_PIN);
+ GPIOPinWrite(LCD_WR_BASE, LCD_WR_PIN | LCD_RD_PIN,
+ LCD_WR_PIN | LCD_RD_PIN);
+ GPIOPinWrite(LCD_BL_BASE, LCD_BL_PIN, 0);
+ GPIOPinWrite(LCD_DATA_BASE, 0xff, 0x00);
+
+ //
+ // Perform a software reset of the ST7637.
+ //
+ WriteCommand(0x01);
+
+ //
+ // Delay for 120ms.
+ //
+ SysCtlDelay(ulClockMS * 120);
+
+ //
+ // Disable auto-load of mask rom data.
+ //
+ WriteCommand(0xD7);
+ WriteData(0xBF);
+
+ //
+ // Set the OTP control mode to read.
+ //
+ WriteCommand(0xE0);
+ WriteData(0x00);
+
+ //
+ // Delay for 10ms.
+ //
+ SysCtlDelay(ulClockMS * 10);
+
+ //
+ // Start the OTP read.
+ //
+ WriteCommand(0xE3);
+
+ //
+ // Delay for 20ms.
+ //
+ SysCtlDelay(ulClockMS * 20);
+
+ //
+ // Cancel the OTP read (it should have finished by now).
+ //
+ WriteCommand(0xE1);
+
+ //
+ // Turn off the display.
+ //
+ WriteCommand(0x28);
+
+ //
+ // Exit sleep mode.
+ //
+ WriteCommand(0x11);
+
+ //
+ // Delay for 50ms.
+ //
+ SysCtlDelay(ulClockMS * 50);
+
+ //
+ // Program the LCD supply voltage V0 to 14V.
+ //
+ WriteCommand(0xC0);
+ WriteData(0x04);
+ WriteData(0x01);
+
+ //
+ // Select an LCD bias voltage ratio of 1/12.
+ //
+ WriteCommand(0xC3);
+ WriteData(0x00);
+
+ //
+ // Enable the x8 booster circuit.
+ //
+ WriteCommand(0xC4);
+ WriteData(0x07);
+
+ //
+ // Invert the column scan direction for the panel.
+ //
+ WriteCommand(0xB7);
+ WriteData(0xC0);
+
+ //
+ // Select 16bpp, 5-6-5 data input mode.
+ //
+ WriteCommand(0x3A);
+ WriteData(0x05);
+
+ //
+ // Select the memory scanning direction. The scanning mode does not matter
+ // for this driver since the row/column selects will constrain the writes
+ // to the desired area of the display.
+ //
+ WriteCommand(0x36);
+ WriteData(0x00);
+
+ //
+ // Turn on the display.
+ //
+ WriteCommand(0x29);
+
+ //
+ // Clear the contents of the display buffer.
+ //
+ WriteCommand(0x2A);
+ WriteData(0x00);
+ WriteData(0x7F);
+ WriteCommand(0x2B);
+ WriteData(0x01);
+ WriteData(0x80);
+ WriteCommand(0x2c);
+ for(ulCount = 0; ulCount < (128 * 128); ulCount++)
+ {
+ WriteData(0x00);
+ WriteData(0x00);
+ }
+
+ //
+ // Enable normal operation of the LCD.
+ //
+ WriteCommand(0x13);
+}
+
+//*****************************************************************************
+//
+//! Turns on the backlight.
+//!
+//! This function turns on the backlight on the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+void
+Formike128x128x16BacklightOn(void)
+{
+ //
+ // Assert the signal that turns on the backlight.
+ //
+ HWREG(LCD_BL_BASE + GPIO_O_DATA + (LCD_BL_PIN << 2)) = LCD_BL_PIN;
+}
+
+//*****************************************************************************
+//
+//! Turns off the backlight.
+//!
+//! This function turns off the backlight on the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+void
+Formike128x128x16BacklightOff(void)
+{
+ //
+ // Deassert the signal that turns on the backlight.
+ //
+ HWREG(LCD_BL_BASE + GPIO_O_DATA + (LCD_BL_PIN << 2)) = 0;
+}
+
+//*****************************************************************************
+//
+//! Draws a pixel on the screen.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param lX is the X coordinate of the pixel.
+//! \param lY is the Y coordinate of the pixel.
+//! \param ulValue is the color of the pixel.
+//!
+//! This function sets the given pixel to a particular color. The coordinates
+//! of the pixel are assumed to be within the extents of the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16PixelDraw(void *pvDisplayData, long lX, long lY,
+ unsigned long ulValue)
+{
+ //
+ // Set the X address of the display cursor.
+ //
+ WriteCommand(0x2a);
+ WriteData(lX);
+ WriteData(lX);
+
+ //
+ // Set the Y address of the display cursor.
+ //
+ WriteCommand(0x2b);
+ WriteData(lY + 1);
+ WriteData(lY + 1);
+
+ //
+ // Write the pixel value.
+ //
+ WriteCommand(0x2c);
+ WriteData(ulValue >> 8);
+ WriteData(ulValue);
+}
+
+//*****************************************************************************
+//
+//! Draws a horizontal sequence of pixels on the screen.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param lX is the X coordinate of the first pixel.
+//! \param lY is the Y coordinate of the first pixel.
+//! \param lX0 is sub-pixel offset within the pixel data, which is valid for 1
+//! or 4 bit per pixel formats.
+//! \param lCount is the number of pixels to draw.
+//! \param lBPP is the number of bits per pixel; must be 1, 4, or 8.
+//! \param pucData is a pointer to the pixel data. For 1 and 4 bit per pixel
+//! formats, the most significant bit(s) represent the left-most pixel.
+//! \param pucPalette is a pointer to the palette used to draw the pixels.
+//!
+//! This function draws a horizontal sequence of pixels on the screen, using
+//! the supplied palette. For 1 bit per pixel format, the palette contains
+//! pre-translated colors; for 4 and 8 bit per pixel formats, the palette
+//! contains 24-bit RGB values that must be translated before being written to
+//! the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16PixelDrawMultiple(void *pvDisplayData, long lX, long lY,
+ long lX0, long lCount, long lBPP,
+ const unsigned char *pucData,
+ const unsigned char *pucPalette)
+{
+ unsigned long ulByte;
+
+ //
+ // Set the extent of the line along the X axis.
+ //
+ WriteCommand(0x2a);
+ WriteData(lX);
+ WriteData(lX + lCount - 1);
+
+ //
+ // Set the Y address of the display cursor.
+ //
+ WriteCommand(0x2b);
+ WriteData(lY + 1);
+ WriteData(lY + 1);
+
+ //
+ // Write the data RAM write command.
+ //
+ WriteCommand(0x2c);
+
+ //
+ // Determine how to interpret the pixel data based on the number of bits
+ // per pixel.
+ //
+ switch(lBPP)
+ {
+ //
+ // The pixel data is in 1 bit per pixel format.
+ //
+ case 1:
+ {
+ //
+ // Loop while there are more pixels to draw.
+ //
+ while(lCount)
+ {
+ //
+ // Get the next byte of image data.
+ //
+ ulByte = *pucData++;
+
+ //
+ // Loop through the pixels in this byte of image data.
+ //
+ for(; (lX0 < 8) && lCount; lX0++, lCount--)
+ {
+ //
+ // Draw this pixel in the appropriate color.
+ //
+ lBPP = ((unsigned long *)pucPalette)[(ulByte >>
+ (7 - lX0)) & 1];
+ WriteData(lBPP >> 8);
+ WriteData(lBPP);
+ }
+
+ //
+ // Start at the beginning of the next byte of image data.
+ //
+ lX0 = 0;
+ }
+
+ //
+ // The image data has been drawn.
+ //
+ break;
+ }
+
+ //
+ // The pixel data is in 4 bit per pixel format.
+ //
+ case 4:
+ {
+ //
+ // Loop while there are more pixels to draw. "Duff's device" is
+ // used to jump into the middle of the loop if the first nibble of
+ // the pixel data should not be used. Duff's device makes use of
+ // the fact that a case statement is legal anywhere within a
+ // sub-block of a switch statement. See
+ // http://en.wikipedia.org/wiki/Duff's_device for detailed
+ // information about Duff's device.
+ //
+ switch(lX0 & 1)
+ {
+ case 0:
+ while(lCount)
+ {
+ //
+ // Get the upper nibble of the next byte of pixel data
+ // and extract the corresponding entry from the
+ // palette.
+ //
+ ulByte = (*pucData >> 4) * 3;
+ ulByte = (*(unsigned long *)(pucPalette + ulByte) &
+ 0x00ffffff);
+
+ //
+ // Translate this palette entry and write it to the
+ // screen.
+ //
+ ulByte = DPYCOLORTRANSLATE(ulByte);
+ WriteData(ulByte >> 8);
+ WriteData(ulByte);
+
+ //
+ // Decrement the count of pixels to draw.
+ //
+ lCount--;
+
+ //
+ // See if there is another pixel to draw.
+ //
+ if(lCount)
+ {
+ case 1:
+ //
+ // Get the lower nibble of the next byte of pixel
+ // data and extract the corresponding entry from
+ // the palette.
+ //
+ ulByte = (*pucData++ & 15) * 3;
+ ulByte = (*(unsigned long *)(pucPalette + ulByte) &
+ 0x00ffffff);
+
+ //
+ // Translate this palette entry and write it to the
+ // screen.
+ //
+ ulByte = DPYCOLORTRANSLATE(ulByte);
+ WriteData(ulByte >> 8);
+ WriteData(ulByte);
+
+ //
+ // Decrement the count of pixels to draw.
+ //
+ lCount--;
+ }
+ }
+ }
+
+ //
+ // The image data has been drawn.
+ //
+ break;
+ }
+
+ //
+ // The pixel data is in 8 bit per pixel format.
+ //
+ case 8:
+ {
+ //
+ // Loop while there are more pixels to draw.
+ //
+ while(lCount--)
+ {
+ //
+ // Get the next byte of pixel data and extract the
+ // corresponding entry from the palette.
+ //
+ ulByte = *pucData++ * 3;
+ ulByte = *(unsigned long *)(pucPalette + ulByte) & 0x00ffffff;
+
+ //
+ // Translate this palette entry and write it to the screen.
+ //
+ ulByte = DPYCOLORTRANSLATE(ulByte);
+ WriteData(ulByte >> 8);
+ WriteData(ulByte);
+ }
+
+ //
+ // The image data has been drawn.
+ //
+ break;
+ }
+ }
+}
+
+//*****************************************************************************
+//
+//! Flushes any cached drawing operations.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//!
+//! This functions flushes any cached drawing operations to the display. This
+//! is useful when a local frame buffer is used for drawing operations, and the
+//! flush would copy the local frame buffer to the display. For the ST7637
+//! driver, the flush is a no operation.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16Flush(void *pvDisplayData)
+{
+ //
+ // There is nothing to be done.
+ //
+}
+
+//*****************************************************************************
+//
+//! Draws a horizontal line.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param lX1 is the X coordinate of the start of the line.
+//! \param lX2 is the X coordinate of the end of the line.
+//! \param lY is the Y coordinate of the line.
+//! \param ulValue is the color of the line.
+//!
+//! This function draws a horizontal line on the display. The coordinates of
+//! the line are assumed to be within the extents of the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16LineDrawH(void *pvDisplayData, long lX1, long lX2, long lY,
+ unsigned long ulValue)
+{
+ //
+ // Set the extent of the line along the X axis.
+ //
+ WriteCommand(0x2a);
+ WriteData(lX1);
+ WriteData(lX2);
+
+ //
+ // Set the Y address of the display cursor.
+ //
+ WriteCommand(0x2b);
+ WriteData(lY + 1);
+ WriteData(lY + 1);
+
+ //
+ // Write the data RAM write command.
+ //
+ WriteCommand(0x2c);
+
+ //
+ // Loop through the pixels of this horizontal line.
+ //
+ while(lX1++ <= lX2)
+ {
+ //
+ // Write the pixel value.
+ //
+ WriteData(ulValue >> 8);
+ WriteData(ulValue);
+ }
+}
+
+//*****************************************************************************
+//
+//! Draws a vertical line.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param lX is the X coordinate of the line.
+//! \param lY1 is the Y coordinate of the start of the line.
+//! \param lY2 is the Y coordinate of the end of the line.
+//! \param ulValue is the color of the line.
+//!
+//! This function draws a vertical line on the display. The coordinates of the
+//! line are assumed to be within the extents of the display.
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16LineDrawV(void *pvDisplayData, long lX, long lY1, long lY2,
+ unsigned long ulValue)
+{
+ //
+ // Set the X address of the display cursor.
+ //
+ WriteCommand(0x2a);
+ WriteData(lX);
+ WriteData(lX);
+
+ //
+ // Set the extent of the line along the Y axis.
+ //
+ WriteCommand(0x2b);
+ WriteData(lY1 + 1);
+ WriteData(lY2 + 1);
+
+ //
+ // Write the data RAM write command.
+ //
+ WriteCommand(0x2c);
+
+ //
+ // Loop through the pixels of this vertical line.
+ //
+ while(lY1++ <= lY2)
+ {
+ //
+ // Write the pixel value.
+ //
+ WriteData(ulValue >> 8);
+ WriteData(ulValue);
+ }
+}
+
+//*****************************************************************************
+//
+//! Fills a rectangle.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param pRect is a pointer to the structure describing the rectangle.
+//! \param ulValue is the color of the rectangle.
+//!
+//! This function fills a rectangle on the display. The coordinates of the
+//! rectangle are assumed to be within the extents of the display, and the
+//! rectangle specification is fully inclusive (i.e. both sXMin and sXMax are
+//! drawn, along with sYMin and sYMax).
+//!
+//! \return None.
+//
+//*****************************************************************************
+static void
+Formike128x128x16RectFill(void *pvDisplayData, const tRectangle *pRect,
+ unsigned long ulValue)
+{
+ long lCount;
+
+ //
+ // Set the extent of the rectangle along the X axis.
+ //
+ WriteCommand(0x2a);
+ WriteData(pRect->sXMin);
+ WriteData(pRect->sXMax);
+
+ //
+ // Set the extent of the rectangle along the Y axis.
+ //
+ WriteCommand(0x2b);
+ WriteData(pRect->sYMin + 1);
+ WriteData(pRect->sYMax + 1);
+
+ //
+ // Write the data RAM write command.
+ //
+ WriteCommand(0x2c);
+
+ //
+ // Loop through the pixels in this rectangle.
+ //
+ for(lCount = ((pRect->sXMax - pRect->sXMin + 1) *
+ (pRect->sYMax - pRect->sYMin + 1)); lCount > 0; lCount--)
+ {
+ //
+ // Write the pixel value.
+ //
+ WriteData(ulValue >> 8);
+ WriteData(ulValue);
+ }
+}
+
+//*****************************************************************************
+//
+//! Translates a 24-bit RGB color to a display driver-specific color.
+//!
+//! \param pvDisplayData is a pointer to the driver-specific data for this
+//! display driver.
+//! \param ulValue is the 24-bit RGB color. The least-significant byte is the
+//! blue channel, the next byte is the green channel, and the third byte is the
+//! red channel.
+//!
+//! This function translates a 24-bit RGB color into a value that can be
+//! written into the display's frame buffer in order to reproduce that color,
+//! or the closest possible approximation of that color.
+//!
+//! \return Returns the display-driver specific color.
+//
+//*****************************************************************************
+static unsigned long
+Formike128x128x16ColorTranslate(void *pvDisplayData, unsigned long ulValue)
+{
+ //
+ // Translate from a 24-bit RGB color to a 5-6-5 RGB color.
+ //
+ return(DPYCOLORTRANSLATE(ulValue));
+}
+
+//*****************************************************************************
+//
+//! The display structure that describes the driver for the Formike Electronic
+//! KWH015C04-F01 CSTN panel with an ST7637 controller.
+//
+//*****************************************************************************
+const tDisplay g_sFormike128x128x16 =
+{
+ sizeof(tDisplay),
+ 0,
+ 128,
+ 128,
+ Formike128x128x16PixelDraw,
+ Formike128x128x16PixelDrawMultiple,
+ Formike128x128x16LineDrawH,
+ Formike128x128x16LineDrawV,
+ Formike128x128x16RectFill,
+ Formike128x128x16ColorTranslate,
+ Formike128x128x16Flush
+};
+
+//*****************************************************************************
+//
+// Close the Doxygen group.
+//! @}
+//
+//*****************************************************************************
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* FreeRTOS.org demo wrappers. These are required so the prototypes for the
+functions are the same as for the display drivers used by other evaluation
+kits. */
+
+static tContext sContext;
+
+void vFormike128x128x16Clear( void )
+{
+const tRectangle xRectangle = { 0, 0, 127, 127 };
+
+ GrContextForegroundSet( &sContext, ClrBlack );
+ GrRectFill( &sContext, &xRectangle );
+ GrContextForegroundSet(&sContext, ClrWhite);
+}
+/*-----------------------------------------------------------*/
+
+void vFormike128x128x16StringDraw( const char *pcString, unsigned long lX, unsigned long lY, unsigned char ucColor )
+{
+ GrContextForegroundSet(&sContext, ClrWhite);
+ GrStringDraw( &sContext, pcString, strlen( pcString ), lX, lY, false );
+}
+/*-----------------------------------------------------------*/
+
+void vFormike128x128x16Init( unsigned long ul )
+{
+tRectangle rectScreen;
+
+ ( void ) ul;
+
+ Formike128x128x16Init();
+ Formike128x128x16BacklightOn();
+ GrContextInit(&sContext, &g_sFormike128x128x16);
+ GrContextFontSet(&sContext, &g_sFontCmss12);
+ rectScreen.sXMin = 0;
+
+ /* Fill the screen with a black rectangle. */
+ rectScreen.sYMin = 0;
+ rectScreen.sXMax = g_sFormike128x128x16.usWidth - 1;
+ rectScreen.sYMax = g_sFormike128x128x16.usHeight - 1;
+ GrContextForegroundSet(&sContext, ClrBlack);
+ GrRectFill(&sContext, &rectScreen);
+}
+/*-----------------------------------------------------------*/
+
+void vFormike128x128x16ImageDraw( const unsigned char *pucImage, unsigned long ulX, unsigned long ulY, unsigned long ulWidth, unsigned long ulHeight )
+{
+ GrImageDraw( &sContext, pucImage, ( long ) ulX, ( long ) ulY);
+
+}
+
+
+
+
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/formike128x128x16.h b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/formike128x128x16.h
new file mode 100644
index 00000000..feaec758
--- /dev/null
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/formike128x128x16.h
@@ -0,0 +1,51 @@
+//*****************************************************************************
+//
+// formike128x128x16.h - Prototypes for the Formike Electronic KWH015C04-F01
+// display driver.
+//
+// Copyright (c) 2008 Luminary Micro, Inc. All rights reserved.
+//
+// Software License Agreement
+//
+// Luminary Micro, Inc. (LMI) is supplying this software for use solely and
+// exclusively on LMI's microcontroller products.
+//
+// The software is owned by LMI and/or its suppliers, and is protected under
+// applicable copyright laws. All rights are reserved. You may not combine
+// this software with "viral" open-source software in order to form a larger
+// program. Any use in violation of the foregoing restrictions may subject
+// the user to criminal sanctions under applicable laws, as well as to civil
+// liability for the breach of the terms and conditions of this license.
+//
+// THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+//
+// This is part of revision 2523 of the Stellaris Peripheral Driver Library.
+//
+//*****************************************************************************
+
+#ifndef __FORMIKE128X128X16_H__
+#define __FORMIKE128X128X16_H__
+
+//*****************************************************************************
+//
+// Prototypes for the globals exported by this driver.
+//
+//*****************************************************************************
+extern void Formike128x128x16Init(void);
+extern void Formike128x128x16BacklightOn(void);
+extern void Formike128x128x16BacklightOff(void);
+extern const tDisplay g_sFormike128x128x16;
+
+/* FreeRTOS.org demo wrappers. These are required so the prototypes for the
+functions are the same as for the display drivers used by other evaluation
+kits. */
+void vFormike128x128x16Clear( void );
+void vFormike128x128x16StringDraw( const char *pcString, unsigned long lX, unsigned long lY, unsigned char ucColor );
+void vFormike128x128x16Init( unsigned long ul );
+void vFormike128x128x16ImageDraw( const unsigned char *pucImage, unsigned long ulX, unsigned long ulY, unsigned long ulWidth, unsigned long ulHeight );
+
+#endif // __FORMIKE128X128X16_H__
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/main.c b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/main.c
index 0b8795cc..f4ac88a4 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/main.c
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@@ -82,6 +82,16 @@
+
+/*************************************************************************
+ * Please ensure to read http://www.freertos.org/portlm3sx965.html
+ * which provides information on configuring and running this demo for the
+ * various Luminary Micro EKs.
+ *************************************************************************/
+
+
+
+
/* Standard includes. */
#include <stdio.h>
@@ -91,6 +101,17 @@
#include "queue.h"
#include "semphr.h"
+/* Hardware library includes. */
+#include "hw_memmap.h"
+#include "hw_types.h"
+#include "hw_sysctl.h"
+#include "sysctl.h"
+#include "gpio.h"
+#include "grlib.h"
+#include "rit128x96x4.h"
+#include "osram128x64x4.h"
+#include "formike128x128x16.h"
+
/* Demo app includes. */
#include "BlockQ.h"
#include "death.h"
@@ -105,15 +126,6 @@
#include "GenQTest.h"
#include "QPeek.h"
-/* Hardware library includes. */
-#include "hw_memmap.h"
-#include "hw_types.h"
-#include "hw_sysctl.h"
-#include "sysctl.h"
-#include "gpio.h"
-#include "rit128x96x4.h"
-#include "osram128x64x4.h"
-
/*-----------------------------------------------------------*/
/* The time between cycles of the 'check' functionality (defined within the
@@ -148,6 +160,7 @@ the jitter time in nano seconds. */
/* Constants used when writing strings to the display. */
#define mainCHARACTER_HEIGHT ( 9 )
+#define mainMAX_ROWS_128 ( mainCHARACTER_HEIGHT * 14 )
#define mainMAX_ROWS_96 ( mainCHARACTER_HEIGHT * 10 )
#define mainMAX_ROWS_64 ( mainCHARACTER_HEIGHT * 7 )
#define mainFULL_SCALE ( 15 )
@@ -180,6 +193,13 @@ static void prvSetupHardware( void );
*/
extern void vSetupTimer( void );
+/*
+ * Hook functions that can get called by the kernel.
+ */
+void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed portCHAR *pcTaskName );
+void vApplicationTickHook( void );
+
+
/*-----------------------------------------------------------*/
/* The queue used to send messages to the OLED task. */
@@ -190,6 +210,12 @@ const portCHAR * const pcWelcomeMessage = " www.FreeRTOS.org";
/*-----------------------------------------------------------*/
+
+/*************************************************************************
+ * Please ensure to read http://www.freertos.org/portlm3sx965.html
+ * which provides information on configuring and running this demo for the
+ * various Luminary Micro EKs.
+ *************************************************************************/
int main( void )
{
prvSetupHardware();
@@ -263,6 +289,7 @@ void vApplicationTickHook( void )
{
static xOLEDMessage xMessage = { "PASS" };
static unsigned portLONG ulTicksSinceLastDisplay = 0;
+portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* Called from every tick interrupt. Have enough ticks passed to make it
time to perform our health status check again? */
@@ -306,7 +333,8 @@ static unsigned portLONG ulTicksSinceLastDisplay = 0;
}
/* Send the message to the OLED gatekeeper for display. */
- xQueueSendFromISR( xOLEDQueue, &xMessage, pdFALSE );
+ xHigherPriorityTaskWoken = pdFALSE;
+ xQueueSendFromISR( xOLEDQueue, &xMessage, &xHigherPriorityTaskWoken );
}
}
/*-----------------------------------------------------------*/
@@ -316,14 +344,15 @@ void vOLEDTask( void *pvParameters )
xOLEDMessage xMessage;
unsigned portLONG ulY, ulMaxY;
static portCHAR cMessage[ mainMAX_MSG_LEN ];
-extern unsigned portLONG ulMaxJitter;
+extern volatile unsigned portLONG ulMaxJitter;
+const unsigned portCHAR *pucImage;
/* Functions to access the OLED. The one used depends on the dev kit
being used. */
-void ( *vOLEDInit )( unsigned portLONG );
-void ( *vOLEDStringDraw )( const portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portCHAR );
-void ( *vOLEDImageDraw )( const unsigned portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portLONG, unsigned portLONG );
-void ( *vOLEDClear )( void );
+void ( *vOLEDInit )( unsigned portLONG ) = NULL;
+void ( *vOLEDStringDraw )( const portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portCHAR ) = NULL;
+void ( *vOLEDImageDraw )( const unsigned portCHAR *, unsigned portLONG, unsigned portLONG, unsigned portLONG, unsigned portLONG ) = NULL;
+void ( *vOLEDClear )( void ) = NULL;
/* Map the OLED access functions to the driver functions that are appropriate
for the evaluation kit being used. */
@@ -335,21 +364,33 @@ void ( *vOLEDClear )( void );
vOLEDImageDraw = OSRAM128x64x4ImageDraw;
vOLEDClear = OSRAM128x64x4Clear;
ulMaxY = mainMAX_ROWS_64;
+ pucImage = pucBasicBitmap;
break;
- default : vOLEDInit = RIT128x96x4Init;
+ case SYSCTL_DID1_PRTNO_1968 :
+ case SYSCTL_DID1_PRTNO_8962 : vOLEDInit = RIT128x96x4Init;
vOLEDStringDraw = RIT128x96x4StringDraw;
vOLEDImageDraw = RIT128x96x4ImageDraw;
vOLEDClear = RIT128x96x4Clear;
- ulMaxY = mainMAX_ROWS_96;
+ ulMaxY = mainMAX_ROWS_96;
+ pucImage = pucBasicBitmap;
break;
+
+ default : vOLEDInit = vFormike128x128x16Init;
+ vOLEDStringDraw = vFormike128x128x16StringDraw;
+ vOLEDImageDraw = vFormike128x128x16ImageDraw;
+ vOLEDClear = vFormike128x128x16Clear;
+ ulMaxY = mainMAX_ROWS_128;
+ pucImage = pucGrLibBitmap;
+ break;
+
}
ulY = ulMaxY;
/* Initialise the OLED and display a startup message. */
vOLEDInit( ulSSI_FREQUENCY );
- vOLEDStringDraw( " POWERED BY FreeRTOS", 0, 0, mainFULL_SCALE );
+ vOLEDStringDraw( "POWERED BY FreeRTOS", 0, 0, mainFULL_SCALE );
vOLEDImageDraw( pucImage, 0, mainCHARACTER_HEIGHT + 1, bmpBITMAP_WIDTH, bmpBITMAP_HEIGHT );
for( ;; )
@@ -372,3 +413,12 @@ void ( *vOLEDClear )( void );
vOLEDStringDraw( cMessage, 0, ulY, mainFULL_SCALE );
}
}
+/*-----------------------------------------------------------*/
+
+void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed portCHAR *pcTaskName )
+{
+ ( void ) pxTask;
+ ( void ) pcTaskName;
+
+ for( ;; );
+}
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dbgdt b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dbgdt
index 463f3cff..85755348 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dbgdt
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dbgdt
@@ -20,19 +20,19 @@
</Workspace>
<Disassembly>
<PreferedWindows>
- <Position>2</Position>
- <ScreenPosX>0</ScreenPosX>
- <ScreenPosY>0</ScreenPosY>
- <Windows/>
- </PreferedWindows>
+
+
+
+
+ <Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows>
<MixedMode>1</MixedMode><CodeCovShow>0</CodeCovShow></Disassembly>
- </Static>
+ <Watch><Format><struct_types/><watch_formats/></Format></Watch><QuickWatch><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><Column0>100</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></QuickWatch></Static>
<Windows>
- <Wnd2>
+ <Wnd1>
<Tabs>
<Tab>
<Identity>TabID-10465-12018</Identity>
@@ -48,7 +48,7 @@
</Tab>
</Tabs>
- <SelectedTab>0</SelectedTab></Wnd2><Wnd3>
+ <SelectedTab>0</SelectedTab></Wnd1><Wnd3>
<Tabs>
<Tab>
<Identity>TabID-21213-12021</Identity>
@@ -60,20 +60,20 @@
</Tab>
</Tabs>
- <SelectedTab>0</SelectedTab></Wnd3><Wnd0><Tabs><Tab><Identity>TabID-2037-3837</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd0></Windows>
+ <SelectedTab>0</SelectedTab></Wnd3><Wnd0><Tabs><Tab><Identity>TabID-4412-20270</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd0></Windows>
<Editor>
- <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\CORTEX_LM3Sxxxx_IAR_Keil\main.c</Filename><XPos>0</XPos><YPos>167</YPos><SelStart>7004</SelStart><SelEnd>7004</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
+ <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\CORTEX_LM3Sxxxx_IAR_Keil\main.c</Filename><XPos>0</XPos><YPos>193</YPos><SelStart>8396</SelStart><SelEnd>8396</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\CORTEX_LM3Sxxxx_IAR_Keil\timertest.c</Filename><XPos>0</XPos><YPos>120</YPos><SelStart>5377</SelStart><SelEnd>5377</SelEnd></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
- <Top><Row0><Sizes><Toolbar-012825f0><key>iaridepm.enu1</key></Toolbar-012825f0><Toolbar-055365a8><key>debuggergui.enu1</key></Toolbar-055365a8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd0></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>200</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+ <Top><Row0><Sizes><Toolbar-01282438><key>iaridepm.enu1</key></Toolbar-01282438><Toolbar-05fc2d28><key>debuggergui.enu1</key></Toolbar-05fc2d28></Sizes></Row0></Top><Left><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>488</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>350000</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd0></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>200</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.wsdt b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.wsdt
index 6b3c233c..83d84be7 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.wsdt
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.wsdt
@@ -14,10 +14,10 @@
<Column0>241</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
- <Find-in-Files><ColumnWidth0>482</ColumnWidth0><ColumnWidth1>68</ColumnWidth1><ColumnWidth2>826</ColumnWidth2></Find-in-Files><Build><ColumnWidth0>19</ColumnWidth0><ColumnWidth1>1007</ColumnWidth1><ColumnWidth2>268</ColumnWidth2><ColumnWidth3>67</ColumnWidth3></Build><TerminalIO/></Static>
+ <Find-in-Files><ColumnWidth0>482</ColumnWidth0><ColumnWidth1>68</ColumnWidth1><ColumnWidth2>826</ColumnWidth2></Find-in-Files><Build><ColumnWidth0>19</ColumnWidth0><ColumnWidth1>1007</ColumnWidth1><ColumnWidth2>268</ColumnWidth2><ColumnWidth3>67</ColumnWidth3></Build><TerminalIO/><Debug-Log/></Static>
<Windows>
- <Wnd0>
+ <Wnd2>
<Tabs>
<Tab>
<Identity>TabID-18883-22024</Identity>
@@ -29,20 +29,20 @@
</Tab>
</Tabs>
- <SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-29040-7360</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-19024-10413</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd1></Windows>
+ <SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-29040-7360</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-19024-10413</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd3></Windows>
<Editor>
- <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\CORTEX_LM3Sxxxx_IAR_Keil\main.c</Filename><XPos>0</XPos><YPos>167</YPos><SelStart>7004</SelStart><SelEnd>7004</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
+ <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\CORTEX_LM3Sxxxx_IAR_Keil\main.c</Filename><XPos>0</XPos><YPos>193</YPos><SelStart>8396</SelStart><SelEnd>8396</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
- <Top><Row0><Sizes><Toolbar-012825f0><key>iaridepm.enu1</key></Toolbar-012825f0></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>613</Bottom><Right>315</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>226429</sizeVertCX><sizeVertCY>626273</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>325</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>327</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>332994</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+ <Top><Row0><Sizes><Toolbar-01282288><key>iaridepm.enu1</key></Toolbar-01282288></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>613</Bottom><Right>315</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>226429</sizeVertCX><sizeVertCY>626273</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>325</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>327</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>332994</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c
index 3279be44..e99ae922 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c
@@ -57,6 +57,7 @@ static void IntDefaultHandler(void);
extern void __iar_program_start(void);
extern void xPortPendSVHandler(void);
extern void xPortSysTickHandler(void);
+extern void vPortSVCHandler(void);
extern void vEMAC_ISR( void );
extern Timer0IntHandler( void );
@@ -105,7 +106,7 @@ __root const uVectorEntry __vector_table[] @ ".intvec" =
0, // Reserved
0, // Reserved
0, // Reserved
- IntDefaultHandler, // SVCall handler
+ vPortSVCHandler, // SVCall handler
IntDefaultHandler, // Debug monitor handler
0, // Reserved
xPortPendSVHandler, // The PendSV handler
@@ -153,7 +154,11 @@ __root const uVectorEntry __vector_table[] @ ".intvec" =
IntDefaultHandler, // CAN1
IntDefaultHandler, // CAN2
vEMAC_ISR, // Ethernet
- IntDefaultHandler // Power Island
+ IntDefaultHandler, // Hibernate
+ IntDefaultHandler, // USB0
+ IntDefaultHandler, // PWM Generator 3
+ IntDefaultHandler, // uDMA Software Transfer
+ IntDefaultHandler // uDMA Error
};
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c
index e4f14bd4..ff08689c 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@@ -59,6 +59,7 @@
#include "interrupt.h"
#include "sysctl.h"
#include "lmi_timer.h"
+#include "hw_timer.h"
/* The set frequency of the interrupt. Deviations from this are measured as
the jitter. */
@@ -73,7 +74,7 @@ zero. */
/* Misc defines. */
#define timerMAX_32BIT_VALUE ( 0xffffffffUL )
-#define timerTIMER_1_COUNT_VALUE ( * ( ( unsigned long * ) ( TIMER1_BASE + 0x48 ) ) )
+#define timerTIMER_1_COUNT_VALUE ( * ( ( volatile unsigned long * ) ( ( unsigned portLONG ) TIMER1_BASE + 0x48UL ) ) )
/*-----------------------------------------------------------*/
@@ -119,14 +120,15 @@ unsigned long ulFrequency;
void Timer0IntHandler( void )
{
-unsigned portLONG ulDifference;
-volatile unsigned portLONG ulCurrentCount;
-static portLONG ulMaxDifference = 0, ulLastCount = 0;
+unsigned portLONG ulDifference, ulCurrentCount;
+static unsigned portLONG ulMaxDifference = 0, ulLastCount = 0;
/* We use the timer 1 counter value to measure the clock cycles between
the timer 0 interrupts. */
ulCurrentCount = timerTIMER_1_COUNT_VALUE;
+ TimerIntClear( TIMER0_BASE, TIMER_TIMA_TIMEOUT );
+
if( ulCurrentCount < ulLastCount )
{
/* How many times has timer 1 counted since the last interrupt? */
@@ -141,11 +143,11 @@ static portLONG ulMaxDifference = 0, ulLastCount = 0;
}
ulLastCount = ulCurrentCount;
-
- TimerIntClear( TIMER0_BASE, TIMER_TIMA_TIMEOUT );
}
+
+
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/emac.c b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/emac.c
index fd7b8c6e..3829a7d2 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/emac.c
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/emac.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/uIP_Task.c b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/uIP_Task.c
index 3c189f86..b7350d1a 100644
--- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/uIP_Task.c
+++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/uIP_Task.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_STM32F103_IAR/FreeRTOSConfig.h b/Demo/CORTEX_STM32F103_IAR/FreeRTOSConfig.h
index 8404f417..f7d0160b 100644
--- a/Demo/CORTEX_STM32F103_IAR/FreeRTOSConfig.h
+++ b/Demo/CORTEX_STM32F103_IAR/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_STM32F103_IAR/ParTest/ParTest.c b/Demo/CORTEX_STM32F103_IAR/ParTest/ParTest.c
index ab2d9859..aaa24c78 100644
--- a/Demo/CORTEX_STM32F103_IAR/ParTest/ParTest.c
+++ b/Demo/CORTEX_STM32F103_IAR/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_STM32F103_IAR/main.c b/Demo/CORTEX_STM32F103_IAR/main.c
index 5ee8dcf0..dfbf6ba6 100644
--- a/Demo/CORTEX_STM32F103_IAR/main.c
+++ b/Demo/CORTEX_STM32F103_IAR/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_STM32F103_IAR/serial/serial.c b/Demo/CORTEX_STM32F103_IAR/serial/serial.c
index 07d838d2..af6100ef 100644
--- a/Demo/CORTEX_STM32F103_IAR/serial/serial.c
+++ b/Demo/CORTEX_STM32F103_IAR/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS distribution.
diff --git a/Demo/CORTEX_STM32F103_IAR/timertest.c b/Demo/CORTEX_STM32F103_IAR/timertest.c
index 7ecedc90..fcc8fefe 100644
--- a/Demo/CORTEX_STM32F103_IAR/timertest.c
+++ b/Demo/CORTEX_STM32F103_IAR/timertest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_STM32F103_Primer_GCC/FreeRTOSConfig.h b/Demo/CORTEX_STM32F103_Primer_GCC/FreeRTOSConfig.h
index 6f754f49..07e9326c 100644
--- a/Demo/CORTEX_STM32F103_Primer_GCC/FreeRTOSConfig.h
+++ b/Demo/CORTEX_STM32F103_Primer_GCC/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_STM32F103_Primer_GCC/ParTest/ParTest.c b/Demo/CORTEX_STM32F103_Primer_GCC/ParTest/ParTest.c
index 498fc760..1b911a9a 100644
--- a/Demo/CORTEX_STM32F103_Primer_GCC/ParTest/ParTest.c
+++ b/Demo/CORTEX_STM32F103_Primer_GCC/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_STM32F103_Primer_GCC/bitmap.h b/Demo/CORTEX_STM32F103_Primer_GCC/bitmap.h
index 9293471f..ff62f1cd 100644
--- a/Demo/CORTEX_STM32F103_Primer_GCC/bitmap.h
+++ b/Demo/CORTEX_STM32F103_Primer_GCC/bitmap.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_STM32F103_Primer_GCC/main.c b/Demo/CORTEX_STM32F103_Primer_GCC/main.c
index 27dd74db..d098fe56 100644
--- a/Demo/CORTEX_STM32F103_Primer_GCC/main.c
+++ b/Demo/CORTEX_STM32F103_Primer_GCC/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/CORTEX_STM32F103_Primer_GCC/timertest.c b/Demo/CORTEX_STM32F103_Primer_GCC/timertest.c
index 7ecedc90..fcc8fefe 100644
--- a/Demo/CORTEX_STM32F103_Primer_GCC/timertest.c
+++ b/Demo/CORTEX_STM32F103_Primer_GCC/timertest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Cygnal/FreeRTOSConfig.h b/Demo/Cygnal/FreeRTOSConfig.h
index 8ab79ec3..0b0b6825 100644
--- a/Demo/Cygnal/FreeRTOSConfig.h
+++ b/Demo/Cygnal/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Cygnal/Makefile b/Demo/Cygnal/Makefile
index 74df724f..0bdafba6 100644
--- a/Demo/Cygnal/Makefile
+++ b/Demo/Cygnal/Makefile
@@ -1,4 +1,4 @@
-# FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+# FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
#
# This file is part of the FreeRTOS.org distribution.
#
diff --git a/Demo/Cygnal/ParTest/ParTest.c b/Demo/Cygnal/ParTest/ParTest.c
index 33e19834..7904b7b5 100644
--- a/Demo/Cygnal/ParTest/ParTest.c
+++ b/Demo/Cygnal/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Cygnal/main.c b/Demo/Cygnal/main.c
index 1e3fc0c2..3d8cb32e 100644
--- a/Demo/Cygnal/main.c
+++ b/Demo/Cygnal/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Cygnal/serial/serial.c b/Demo/Cygnal/serial/serial.c
index 0c9a4da1..c3db6bfc 100644
--- a/Demo/Cygnal/serial/serial.c
+++ b/Demo/Cygnal/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Flshlite/FRConfig.h b/Demo/Flshlite/FRConfig.h
index 44d8e00c..b45cb3e9 100644
--- a/Demo/Flshlite/FRConfig.h
+++ b/Demo/Flshlite/FRConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Flshlite/FileIO/fileIO.c b/Demo/Flshlite/FileIO/fileIO.c
index 90418ef2..11702791 100644
--- a/Demo/Flshlite/FileIO/fileIO.c
+++ b/Demo/Flshlite/FileIO/fileIO.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Flshlite/FreeRTOSConfig.h b/Demo/Flshlite/FreeRTOSConfig.h
index 24d1dfd7..c41f0c2f 100644
--- a/Demo/Flshlite/FreeRTOSConfig.h
+++ b/Demo/Flshlite/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Flshlite/ParTest/ParTest.c b/Demo/Flshlite/ParTest/ParTest.c
index a6f3a4ca..8d585675 100644
--- a/Demo/Flshlite/ParTest/ParTest.c
+++ b/Demo/Flshlite/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Flshlite/main.c b/Demo/Flshlite/main.c
index 34fd3741..0a908e33 100644
--- a/Demo/Flshlite/main.c
+++ b/Demo/Flshlite/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/Flshlite/serial/serial.c b/Demo/Flshlite/serial/serial.c
index 948bf1b5..ce38effb 100644
--- a/Demo/Flshlite/serial/serial.c
+++ b/Demo/Flshlite/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/HCS12_CodeWarrior_small/FreeRTOSConfig.h b/Demo/HCS12_CodeWarrior_small/FreeRTOSConfig.h
index be88d4e6..b83178b2 100644
--- a/Demo/HCS12_CodeWarrior_small/FreeRTOSConfig.h
+++ b/Demo/HCS12_CodeWarrior_small/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/HCS12_CodeWarrior_small/ParTest/ParTest.c b/Demo/HCS12_CodeWarrior_small/ParTest/ParTest.c
index c6af8238..7e308acb 100644
--- a/Demo/HCS12_CodeWarrior_small/ParTest/ParTest.c
+++ b/Demo/HCS12_CodeWarrior_small/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/HCS12_CodeWarrior_small/main.c b/Demo/HCS12_CodeWarrior_small/main.c
index 7d91b1f0..e200a4f3 100644
--- a/Demo/HCS12_CodeWarrior_small/main.c
+++ b/Demo/HCS12_CodeWarrior_small/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/HCS12_CodeWarrior_small/serial/serial.c b/Demo/HCS12_CodeWarrior_small/serial/serial.c
index 1366bb0f..79eec053 100644
--- a/Demo/HCS12_CodeWarrior_small/serial/serial.c
+++ b/Demo/HCS12_CodeWarrior_small/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/HCS12_GCC_banked/FreeRTOSConfig.h b/Demo/HCS12_GCC_banked/FreeRTOSConfig.h
index c9061516..e5f67bf8 100644
--- a/Demo/HCS12_GCC_banked/FreeRTOSConfig.h
+++ b/Demo/HCS12_GCC_banked/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/HCS12_GCC_banked/ParTest.c b/Demo/HCS12_GCC_banked/ParTest.c
index 9007e7f6..5ba0d088 100644
--- a/Demo/HCS12_GCC_banked/ParTest.c
+++ b/Demo/HCS12_GCC_banked/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/HCS12_GCC_banked/main.c b/Demo/HCS12_GCC_banked/main.c
index 8a3c6a45..24c7ef46 100644
--- a/Demo/HCS12_GCC_banked/main.c
+++ b/Demo/HCS12_GCC_banked/main.c
@@ -1,6 +1,6 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/HCS12_GCC_banked/startup.c b/Demo/HCS12_GCC_banked/startup.c
index c068ff47..2d0b0dad 100644
--- a/Demo/HCS12_GCC_banked/startup.c
+++ b/Demo/HCS12_GCC_banked/startup.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/MB91460_Softune/SRC/crflash_modified.c b/Demo/MB91460_Softune/SRC/crflash_modified.c
index 72959a1f..aa16f2c4 100644
--- a/Demo/MB91460_Softune/SRC/crflash_modified.c
+++ b/Demo/MB91460_Softune/SRC/crflash_modified.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/MB91460_Softune/SRC/main.c b/Demo/MB91460_Softune/SRC/main.c
index d1490ffd..4cfbdc9e 100644
--- a/Demo/MB91460_Softune/SRC/main.c
+++ b/Demo/MB91460_Softune/SRC/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/MB91460_Softune/SRC/partest/partest.c b/Demo/MB91460_Softune/SRC/partest/partest.c
index c8ab310b..f67b0839 100644
--- a/Demo/MB91460_Softune/SRC/partest/partest.c
+++ b/Demo/MB91460_Softune/SRC/partest/partest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/MB91460_Softune/SRC/serial/serial.c b/Demo/MB91460_Softune/SRC/serial/serial.c
index 3e772600..75e5c8fe 100644
--- a/Demo/MB91460_Softune/SRC/serial/serial.c
+++ b/Demo/MB91460_Softune/SRC/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/FreeRTOSConfig.h b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/FreeRTOSConfig.h
index e3030b59..1d5b5263 100644
--- a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/FreeRTOSConfig.h
+++ b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/crflash_sk16fx100mpc.c b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/crflash_sk16fx100mpc.c
index 72959a1f..aa16f2c4 100644
--- a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/crflash_sk16fx100mpc.c
+++ b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/crflash_sk16fx100mpc.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/main.c b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/main.c
index 345811f0..8c3c079c 100644
--- a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/main.c
+++ b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/partest/partest.c b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/partest/partest.c
index 93a2ea76..a243488d 100644
--- a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/partest/partest.c
+++ b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/partest/partest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/serial/serial.c b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/serial/serial.c
index 21d6049e..085d9e59 100644
--- a/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/serial/serial.c
+++ b/Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PC/FRConfig.h b/Demo/PC/FRConfig.h
index c0a71781..afeca8af 100644
--- a/Demo/PC/FRConfig.h
+++ b/Demo/PC/FRConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PC/FileIO/fileIO.c b/Demo/PC/FileIO/fileIO.c
index 183ed8ba..e17b5d8e 100644
--- a/Demo/PC/FileIO/fileIO.c
+++ b/Demo/PC/FileIO/fileIO.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PC/FreeRTOSConfig.h b/Demo/PC/FreeRTOSConfig.h
index e150a3ba..9111768b 100644
--- a/Demo/PC/FreeRTOSConfig.h
+++ b/Demo/PC/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@@ -79,7 +79,7 @@
#define configUSE_ALTERNATIVE_API 1
#define configUSE_RECURSIVE_MUTEXES 1
#define configCHECK_FOR_STACK_OVERFLOW 0 /* Do not use this option on the PC port. */
-#define configUSE_APPLICATION_TASK_HOOK 1
+#define configUSE_APPLICATION_TASK_TAG 1
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 10 )
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
@@ -97,4 +97,10 @@ to exclude the API function. */
#define INCLUDE_uxTaskGetStackHighWaterMark 0 /* Do not use this option on the PC port. */
+/* An example "task switched in" hook macro definition. */
+#define traceTASK_SWITCHED_IN() xTaskCallApplicationTaskHook( NULL, ( void * ) 0xabcd )
+
+extern void vMainQueueSendPassed( void );
+#define traceQUEUE_SEND( pxQueue ) vMainQueueSendPassed()
+
#endif /* FREERTOS_CONFIG_H */
diff --git a/Demo/PC/ParTest/ParTest.c b/Demo/PC/ParTest/ParTest.c
index dcde2be4..1e575c32 100644
--- a/Demo/PC/ParTest/ParTest.c
+++ b/Demo/PC/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PC/main.c b/Demo/PC/main.c
index ffc2c1a8..86ce9581 100644
--- a/Demo/PC/main.c
+++ b/Demo/PC/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
@@ -153,6 +153,14 @@ static void prvStartMathTasks( void );
/* Check which ever tasks are relevant to this build. */
static portBASE_TYPE prvCheckMathTasksAreStillRunning( void );
+/* Used to demonstrate the "task switched in" callback function. */
+static portBASE_TYPE prvExampleTaskHook( void * pvParameter );
+
+/* Just used to count the number of times the example task callback function is
+called, and the number of times a queue send passes. */
+static unsigned portLONG portLONG uxCheckTaskHookCallCount = 0;
+static unsigned portLONG portLONG uxQueueSendPassedCount = 0;
+
/*-----------------------------------------------------------*/
portSHORT main( void )
@@ -200,6 +208,31 @@ portSHORT main( void )
}
/*-----------------------------------------------------------*/
+static portBASE_TYPE prvExampleTaskHook( void * pvParameter )
+{
+ if( pvParameter != ( void * ) 0xabcd )
+ {
+ /* The parameter did not contain the value we expected, so cause an
+ error to be detected by setting the call count back to zero. */
+ uxCheckTaskHookCallCount = 0;
+ }
+ else
+ {
+ /* Simply increment a number so we know the callback has been executed. */
+ uxCheckTaskHookCallCount++;
+ }
+
+ return 0;
+}
+/*-----------------------------------------------------------*/
+
+void vMainQueueSendPassed( void )
+{
+ /* This is just an example implementation of the "queue send" trace hook. */
+ uxQueueSendPassedCount++;
+}
+/*-----------------------------------------------------------*/
+
static void vErrorChecks( void *pvParameters )
{
portTickType xExpectedWakeTime;
@@ -212,6 +245,9 @@ const portCHAR * const pcTaskBlockedTooLongMsg = "Print task blocked too long!\r
( void ) pvParameters;
+ /* Register our callback function. */
+ vTaskSetApplicationTaskTag( NULL, prvExampleTaskHook );
+
/* Loop continuously, blocking, then checking all the other tasks are still
running, before blocking once again. This task blocks on the queue of
messages that require displaying so will wake either by its time out expiring,
@@ -322,6 +358,7 @@ portSHORT sIn;
static void prvCheckOtherTasksAreStillRunning( void )
{
static portSHORT sErrorHasOccurred = pdFALSE;
+static unsigned portLONG portLONG uxLastHookCallCount = 0, uxLastQueueSendCount = 0;
if( prvCheckMathTasksAreStillRunning() != pdTRUE )
{
@@ -437,6 +474,32 @@ static portSHORT sErrorHasOccurred = pdFALSE;
sErrorHasOccurred = pdTRUE;
}
+ /* The hook function associated with this task is called each time the task
+ is switched in. We therefore expect the number of times the callback
+ function has been executed to have increrment since the last time this
+ function executed. */
+ if( uxCheckTaskHookCallCount <= uxLastHookCallCount )
+ {
+ vDisplayMessage( "Error in task hook call count!\r\n" );
+ sErrorHasOccurred = pdTRUE;
+ }
+ else
+ {
+ uxLastHookCallCount = uxCheckTaskHookCallCount;
+ }
+
+ /* We would expect some queue sending to occur between calls of this
+ function. */
+ if( uxQueueSendPassedCount <= uxLastQueueSendCount )
+ {
+ vDisplayMessage( "Error in queue send hook call count!\r\n" );
+ sErrorHasOccurred = pdTRUE;
+ }
+ else
+ {
+ uxLastQueueSendCount = uxQueueSendPassedCount;
+ }
+
if( sErrorHasOccurred == pdFALSE )
{
vDisplayMessage( "OK " );
diff --git a/Demo/PC/serial/serial.c b/Demo/PC/serial/serial.c
index f4b8afb8..91bedfa6 100644
--- a/Demo/PC/serial/serial.c
+++ b/Demo/PC/serial/serial.c
@@ -5,7 +5,7 @@
http://dzcomm.sourceforge.net
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC18_MPLAB/FreeRTOSConfig.h b/Demo/PIC18_MPLAB/FreeRTOSConfig.h
index a8cd9355..5ccb09b4 100644
--- a/Demo/PIC18_MPLAB/FreeRTOSConfig.h
+++ b/Demo/PIC18_MPLAB/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC18_MPLAB/ParTest/ParTest.c b/Demo/PIC18_MPLAB/ParTest/ParTest.c
index b126a112..9275a367 100644
--- a/Demo/PIC18_MPLAB/ParTest/ParTest.c
+++ b/Demo/PIC18_MPLAB/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC18_MPLAB/main1.c b/Demo/PIC18_MPLAB/main1.c
index 9ee65038..c9299700 100644
--- a/Demo/PIC18_MPLAB/main1.c
+++ b/Demo/PIC18_MPLAB/main1.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC18_MPLAB/main2.c b/Demo/PIC18_MPLAB/main2.c
index 0da20888..f01168a8 100644
--- a/Demo/PIC18_MPLAB/main2.c
+++ b/Demo/PIC18_MPLAB/main2.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC18_MPLAB/main3.c b/Demo/PIC18_MPLAB/main3.c
index ed675ef9..10d04ce8 100644
--- a/Demo/PIC18_MPLAB/main3.c
+++ b/Demo/PIC18_MPLAB/main3.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC18_MPLAB/serial/serial.c b/Demo/PIC18_MPLAB/serial/serial.c
index 82f9d6e9..6795eab1 100644
--- a/Demo/PIC18_MPLAB/serial/serial.c
+++ b/Demo/PIC18_MPLAB/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC24_MPLAB/FreeRTOSConfig.h b/Demo/PIC24_MPLAB/FreeRTOSConfig.h
index c743fe26..8857eb79 100644
--- a/Demo/PIC24_MPLAB/FreeRTOSConfig.h
+++ b/Demo/PIC24_MPLAB/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC24_MPLAB/ParTest/ParTest.c b/Demo/PIC24_MPLAB/ParTest/ParTest.c
index c43ba62d..53213969 100644
--- a/Demo/PIC24_MPLAB/ParTest/ParTest.c
+++ b/Demo/PIC24_MPLAB/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC24_MPLAB/lcd.c b/Demo/PIC24_MPLAB/lcd.c
index 89986193..06a06530 100644
--- a/Demo/PIC24_MPLAB/lcd.c
+++ b/Demo/PIC24_MPLAB/lcd.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC24_MPLAB/lcd.h b/Demo/PIC24_MPLAB/lcd.h
index 32892717..171d7138 100644
--- a/Demo/PIC24_MPLAB/lcd.h
+++ b/Demo/PIC24_MPLAB/lcd.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC24_MPLAB/main.c b/Demo/PIC24_MPLAB/main.c
index 0cc09ac7..67e3327c 100644
--- a/Demo/PIC24_MPLAB/main.c
+++ b/Demo/PIC24_MPLAB/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC24_MPLAB/serial/serial.c b/Demo/PIC24_MPLAB/serial/serial.c
index 0924485d..87d01ba4 100644
--- a/Demo/PIC24_MPLAB/serial/serial.c
+++ b/Demo/PIC24_MPLAB/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC24_MPLAB/timertest.c b/Demo/PIC24_MPLAB/timertest.c
index b6e72d36..d0a46f1e 100644
--- a/Demo/PIC24_MPLAB/timertest.c
+++ b/Demo/PIC24_MPLAB/timertest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC24_MPLAB/timertest.h b/Demo/PIC24_MPLAB/timertest.h
index f36b267b..a439b31c 100644
--- a/Demo/PIC24_MPLAB/timertest.h
+++ b/Demo/PIC24_MPLAB/timertest.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC32MX_MPLAB/FreeRTOSConfig.h b/Demo/PIC32MX_MPLAB/FreeRTOSConfig.h
index b08de43f..107f6b7c 100644
--- a/Demo/PIC32MX_MPLAB/FreeRTOSConfig.h
+++ b/Demo/PIC32MX_MPLAB/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC32MX_MPLAB/ParTest/ParTest.c b/Demo/PIC32MX_MPLAB/ParTest/ParTest.c
index 00b2c9fd..321153cd 100644
--- a/Demo/PIC32MX_MPLAB/ParTest/ParTest.c
+++ b/Demo/PIC32MX_MPLAB/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC32MX_MPLAB/RegisterTestTasks.s b/Demo/PIC32MX_MPLAB/RegisterTestTasks.s
index 7300d7e0..c5004230 100644
--- a/Demo/PIC32MX_MPLAB/RegisterTestTasks.s
+++ b/Demo/PIC32MX_MPLAB/RegisterTestTasks.s
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC32MX_MPLAB/lcd.c b/Demo/PIC32MX_MPLAB/lcd.c
index e3674974..b555f90e 100644
--- a/Demo/PIC32MX_MPLAB/lcd.c
+++ b/Demo/PIC32MX_MPLAB/lcd.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC32MX_MPLAB/lcd.h b/Demo/PIC32MX_MPLAB/lcd.h
index 32892717..171d7138 100644
--- a/Demo/PIC32MX_MPLAB/lcd.h
+++ b/Demo/PIC32MX_MPLAB/lcd.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC32MX_MPLAB/main.c b/Demo/PIC32MX_MPLAB/main.c
index d123947c..5e4075af 100644
--- a/Demo/PIC32MX_MPLAB/main.c
+++ b/Demo/PIC32MX_MPLAB/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC32MX_MPLAB/serial/serial.c b/Demo/PIC32MX_MPLAB/serial/serial.c
index 4fd9f0bb..81c3fa74 100644
--- a/Demo/PIC32MX_MPLAB/serial/serial.c
+++ b/Demo/PIC32MX_MPLAB/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC32MX_MPLAB/timertest.c b/Demo/PIC32MX_MPLAB/timertest.c
index f983f236..94047857 100644
--- a/Demo/PIC32MX_MPLAB/timertest.c
+++ b/Demo/PIC32MX_MPLAB/timertest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PIC32MX_MPLAB/timertest.h b/Demo/PIC32MX_MPLAB/timertest.h
index f36b267b..a439b31c 100644
--- a/Demo/PIC32MX_MPLAB/timertest.h
+++ b/Demo/PIC32MX_MPLAB/timertest.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h
index 47e55678..42fc96bd 100644
--- a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h
+++ b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c
index 5033e1c7..3e6b8eaa 100644
--- a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c
+++ b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c
@@ -1,670 +1,663 @@
-/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
-
- This file is part of the FreeRTOS.org distribution.
-
- FreeRTOS.org is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- FreeRTOS.org is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with FreeRTOS.org; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- A special exception to the GPL can be applied should you wish to distribute
- a combined work that includes FreeRTOS.org, without being obliged to provide
- the source code for any proprietary components. See the licensing section
- of http://www.FreeRTOS.org for full details of how and when the exception
- can be applied.
-
- ***************************************************************************
- ***************************************************************************
- * *
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
- * and even write all or part of your application on your behalf. *
- * See http://www.OpenRTOS.com for details of the services we provide to *
- * expedite your project. *
- * *
- ***************************************************************************
- ***************************************************************************
-
- Please ensure to read the configuration and relevant port sections of the
- online documentation.
-
- http://www.FreeRTOS.org - Documentation, latest information, license and
- contact details.
-
- http://www.SafeRTOS.com - A version that is certified for use in safety
- critical systems.
-
- http://www.OpenRTOS.com - Commercial support, development, porting,
- licensing and training services.
-*/
-
-/*
- * Creates all the demo application tasks, then starts the scheduler. The WEB
- * documentation provides more details of the demo application tasks.
- *
- * In addition to the standard demo tasks, the follow demo specific tasks are
- * create:
- *
- * The "Check" task. This only executes every three seconds but has the highest
- * priority so is guaranteed to get processor time. Its main function is to
- * check that all the other tasks are still operational. Most tasks maintain
- * a unique count that is incremented each time the task successfully completes
- * its function. Should any error occur within such a task the count is
- * permanently halted. The check task inspects the count of each task to ensure
- * it has changed since the last time the check task executed. If all the count
- * variables have changed all the tasks are still executing error free, and the
- * check task toggles the onboard LED. Should any task contain an error at any time
- * the LED toggle rate will change from 3 seconds to 500ms.
- *
- * The "Register Check" tasks. These tasks fill the CPU registers with known
- * values, then check that each register still contains the expected value, the
- * discovery of an unexpected value being indicative of an error in the RTOS
- * context switch mechanism. The register check tasks operate at low priority
- * so are switched in and out frequently.
- *
- */
-
-/* Scheduler includes. */
-#include "FreeRTOS.h"
-#include "task.h"
-
-/* Xilinx library includes. */
-#include "xcache_l.h"
-#include "xintc.h"
-
-/* Demo application includes. */
-#include "flash.h"
-#include "integer.h"
-#include "comtest2.h"
-#include "semtest.h"
-#include "BlockQ.h"
-#include "dynamic.h"
-#include "flop.h"
-#include "GenQTest.h"
-#include "QPeek.h"
-#include "blocktim.h"
-#include "death.h"
-#include "partest.h"
-#include "countsem.h"
-#include "recmutex.h"
-
-/* Priorities assigned to the demo tasks. */
-#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 4 )
-#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 2 )
-#define mainCOM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 )
-#define mainQUEUE_BLOCK_PRIORITY ( tskIDLE_PRIORITY + 1 )
-#define mainDEATH_PRIORITY ( tskIDLE_PRIORITY + 1 )
-#define mainLED_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
-#define mainGENERIC_QUEUE_PRIORITY ( tskIDLE_PRIORITY )
-#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )
-
-/* The first LED used by the COM test and check tasks respectively. */
-#define mainCOM_TEST_LED ( 4 )
-#define mainCHECK_TEST_LED ( 3 )
-
-/* The baud rate used by the comtest tasks is set by the hardware, so the
-baud rate parameters passed into the comtest initialisation has no effect. */
-#define mainBAUD_SET_IN_HARDWARE ( 0 )
-
-/* Delay periods used by the check task. If no errors have been found then
-the check LED will toggle every mainNO_ERROR_CHECK_DELAY milliseconds. If an
-error has been found at any time then the toggle rate will increase to
-mainERROR_CHECK_DELAY milliseconds. */
-#define mainNO_ERROR_CHECK_DELAY ( ( portTickType ) 3000 / portTICK_RATE_MS )
-#define mainERROR_CHECK_DELAY ( ( portTickType ) 500 / portTICK_RATE_MS )
-
-
-/*
- * The tasks defined within this file - described within the comments at the
- * head of this page.
- */
-static void prvRegTestTask1( void *pvParameters );
-static void prvRegTestTask2( void *pvParameters );
-static void prvErrorChecks( void *pvParameters );
-
-/*
- * Called by the 'check' task to inspect all the standard demo tasks within
- * the system, as described within the comments at the head of this page.
- */
-static portSHORT prvCheckOtherTasksAreStillRunning( void );
-
-/*
- * Perform any hardware initialisation required by the demo application.
- */
-static void prvSetupHardware( void );
-
-/*-----------------------------------------------------------*/
-
-/* xRegTestStatus will get set to pdFAIL by the regtest tasks if they
-discover an unexpected value. */
-static unsigned portBASE_TYPE xRegTestStatus = pdPASS;
-
-/* Counters used to ensure the regtest tasks are still running. */
-static volatile unsigned portLONG ulRegTest1Counter = 0UL, ulRegTest2Counter = 0UL;
-
-/*-----------------------------------------------------------*/
-
-int main( void )
-{
- /* Must be called prior to installing any interrupt handlers! */
- vPortSetupInterruptController();
-
- /* In this case prvSetupHardware() just enables the caches and and
- configures the IO ports for the LED outputs. */
- prvSetupHardware();
-
- /* Start the standard demo application tasks. Note that the baud rate used
- by the comtest tasks is set by the hardware, so the baud rate parameter
- passed has no effect. */
- vStartLEDFlashTasks( mainLED_TASK_PRIORITY );
- vStartIntegerMathTasks( tskIDLE_PRIORITY );
- vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainBAUD_SET_IN_HARDWARE, mainCOM_TEST_LED );
- vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );
- vStartBlockingQueueTasks ( mainQUEUE_BLOCK_PRIORITY );
- vStartDynamicPriorityTasks();
- vStartMathTasks( tskIDLE_PRIORITY );
- vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY );
- vStartQueuePeekTasks();
- vCreateBlockTimeTasks();
- vStartCountingSemaphoreTasks();
- vStartRecursiveMutexTasks();
-
- /* Create the tasks defined within this file. */
- xTaskCreate( prvRegTestTask1, "Regtest1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
- xTaskCreate( prvRegTestTask2, "Regtest2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
- xTaskCreate( prvErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
-
- /* The suicide tasks must be started last as they record the number of other
- tasks that exist within the system. The value is then used to ensure at run
- time the number of tasks that exists is within expected bounds. */
- vCreateSuicidalTasks( mainDEATH_PRIORITY );
-
- /* Now start the scheduler. Following this call the created tasks should
- be executing. */
- vTaskStartScheduler( );
-
- /* vTaskStartScheduler() will only return if an error occurs while the
- idle task is being created. */
- for( ;; );
-
- return 0;
-}
-/*-----------------------------------------------------------*/
-
-static portSHORT prvCheckOtherTasksAreStillRunning( void )
-{
-portBASE_TYPE lReturn = pdPASS;
-static unsigned portLONG ulLastRegTest1Counter= 0UL, ulLastRegTest2Counter = 0UL;
-
- /* The demo tasks maintain a count that increments every cycle of the task
- provided that the task has never encountered an error. This function
- checks the counts maintained by the tasks to ensure they are still being
- incremented. A count remaining at the same value between calls therefore
- indicates that an error has been detected. */
-
- if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreComTestTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreSemaphoreTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreBlockingQueuesStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreMathsTaskStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xIsCreateTaskStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreGenericQueueTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreQueuePeekTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- /* Have the register test tasks found any errors? */
- if( xRegTestStatus != pdPASS )
- {
- lReturn = pdFAIL;
- }
-
- /* Are the register test tasks still looping? */
- if( ulLastRegTest1Counter == ulRegTest1Counter )
- {
- lReturn = pdFAIL;
- }
- else
- {
- ulLastRegTest1Counter = ulRegTest1Counter;
- }
-
- if( ulLastRegTest2Counter == ulRegTest2Counter )
- {
- lReturn = pdFAIL;
- }
- else
- {
- ulLastRegTest2Counter = ulRegTest2Counter;
- }
-
- return lReturn;
-}
-/*-----------------------------------------------------------*/
-
-
-static void prvErrorChecks( void *pvParameters )
-{
-portTickType xDelayPeriod = mainNO_ERROR_CHECK_DELAY, xLastExecutionTime;
-volatile unsigned portBASE_TYPE uxFreeStack;
-
- /* This call is just to demonstrate the use of the function - nothing is
- done with the value. You would expect the stack high water mark to be
- lower (the function to return a larger value) here at function entry than
- later following calls to other functions. */
- uxFreeStack = uxTaskGetStackHighWaterMark( NULL );
-
- /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil()
- works correctly. */
- xLastExecutionTime = xTaskGetTickCount();
-
- /* Cycle for ever, delaying then checking all the other tasks are still
- operating without error. */
- for( ;; )
- {
- /* Again just for demo purposes - uxFreeStack should have a lower value
- here than following the call to uxTaskGetStackHighWaterMark() on the
- task entry. */
- uxFreeStack = uxTaskGetStackHighWaterMark( NULL );
-
- /* Wait until it is time to check again. The time we wait here depends
- on whether an error has been detected or not. When an error is
- detected the time is shortened resulting in a faster LED flash rate. */
- vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod );
-
- /* See if the other tasks are all ok. */
- if( prvCheckOtherTasksAreStillRunning() != pdPASS )
- {
- /* An error occurred in one of the tasks so shorten the delay
- period - which has the effect of increasing the frequency of the
- LED toggle. */
- xDelayPeriod = mainERROR_CHECK_DELAY;
- }
-
- /* Flash! */
- vParTestToggleLED( mainCHECK_TEST_LED );
- }
-}
-/*-----------------------------------------------------------*/
-
-static void prvSetupHardware( void )
-{
- XCache_EnableICache( 0x80000000 );
- XCache_EnableDCache( 0x80000000 );
-
- /* Setup the IO port for use with the LED outputs. */
- vParTestInitialise();
-}
-/*-----------------------------------------------------------*/
-
-void prvRegTest1Pass( void )
-{
- /* Called from the inline assembler - this cannot be static
- otherwise it can get optimised away. */
- ulRegTest1Counter++;
-}
-/*-----------------------------------------------------------*/
-
-void prvRegTest2Pass( void )
-{
- /* Called from the inline assembler - this cannot be static
- otherwise it can get optimised away. */
- ulRegTest2Counter++;
-}
-/*-----------------------------------------------------------*/
-
-void prvRegTestFail( void )
-{
- /* Called from the inline assembler - this cannot be static
- otherwise it can get optimised away. */
- xRegTestStatus = pdFAIL;
-}
-/*-----------------------------------------------------------*/
-
-static void prvRegTestTask1( void *pvParameters )
-{
- /* The first register test task as described at the top of this file. The
- values used in the registers are different to those use in the second
- register test task. Also, unlike the second register test task, this task
- yields between setting the register values and subsequently checking the
- register values. */
- asm volatile
- (
- "RegTest1Start: \n\t" \
- " \n\t" \
- " li 0, 301 \n\t" \
- " mtspr 256, 0 #USPRG0 \n\t" \
- " li 0, 501 \n\t" \
- " mtspr 8, 0 #LR \n\t" \
- " li 0, 4 \n\t" \
- " mtspr 1, 0 #XER \n\t" \
- " \n\t" \
- " li 0, 1 \n\t" \
- " li 2, 2 \n\t" \
- " li 3, 3 \n\t" \
- " li 4, 4 \n\t" \
- " li 5, 5 \n\t" \
- " li 6, 6 \n\t" \
- " li 7, 7 \n\t" \
- " li 8, 8 \n\t" \
- " li 9, 9 \n\t" \
- " li 10, 10 \n\t" \
- " li 11, 11 \n\t" \
- " li 12, 12 \n\t" \
- " li 13, 13 \n\t" \
- " li 14, 14 \n\t" \
- " li 15, 15 \n\t" \
- " li 16, 16 \n\t" \
- " li 17, 17 \n\t" \
- " li 18, 18 \n\t" \
- " li 19, 19 \n\t" \
- " li 20, 20 \n\t" \
- " li 21, 21 \n\t" \
- " li 22, 22 \n\t" \
- " li 23, 23 \n\t" \
- " li 24, 24 \n\t" \
- " li 25, 25 \n\t" \
- " li 26, 26 \n\t" \
- " li 27, 27 \n\t" \
- " li 28, 28 \n\t" \
- " li 29, 29 \n\t" \
- " li 30, 30 \n\t" \
- " li 31, 31 \n\t" \
- " \n\t" \
- " sc \n\t" \
- " nop \n\t" \
- " \n\t" \
- " cmpwi 0, 1 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 2, 2 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 3, 3 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 4, 4 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 5, 5 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 6, 6 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 7, 7 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 8, 8 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 9, 9 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 10, 10 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 11, 11 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 12, 12 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 13, 13 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 14, 14 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 15, 15 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 16, 16 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 17, 17 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 18, 18 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 19, 19 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 20, 20 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 21, 21 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 22, 22 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 23, 23 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 24, 24 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 25, 25 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 26, 26 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 27, 27 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 28, 28 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 29, 29 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 30, 30 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 31, 31 \n\t" \
- " bne RegTest1Fail \n\t" \
- " \n\t" \
- " mfspr 0, 256 #USPRG0 \n\t" \
- " cmpwi 0, 301 \n\t" \
- " bne RegTest1Fail \n\t" \
- " mfspr 0, 8 #LR \n\t" \
- " cmpwi 0, 501 \n\t" \
- " bne RegTest1Fail \n\t" \
- " mfspr 0, 1 #XER \n\t" \
- " cmpwi 0, 4 \n\t" \
- " bne RegTest1Fail \n\t" \
- " \n\t" \
- " bl prvRegTest1Pass \n\t" \
- " b RegTest1Start \n\t" \
- " \n\t" \
- "RegTest1Fail: \n\t" \
- " \n\t" \
- " \n\t" \
- " bl prvRegTestFail \n\t" \
- " b RegTest1Start \n\t" \
- );
-}
-/*-----------------------------------------------------------*/
-
-static void prvRegTestTask2( void *pvParameters )
-{
- /* The second register test task as described at the top of this file.
- Note that this task fills the registers with different values to the
- first register test task. */
- asm volatile
- (
- "RegTest2Start: \n\t" \
- " \n\t" \
- " li 0, 300 \n\t" \
- " mtspr 256, 0 #USPRG0 \n\t" \
- " li 0, 500 \n\t" \
- " mtspr 8, 0 #LR \n\t" \
- " li 0, 4 \n\t" \
- " mtspr 1, 0 #XER \n\t" \
- " \n\t" \
- " li 0, 11 \n\t" \
- " li 2, 12 \n\t" \
- " li 3, 13 \n\t" \
- " li 4, 14 \n\t" \
- " li 5, 15 \n\t" \
- " li 6, 16 \n\t" \
- " li 7, 17 \n\t" \
- " li 8, 18 \n\t" \
- " li 9, 19 \n\t" \
- " li 10, 110 \n\t" \
- " li 11, 111 \n\t" \
- " li 12, 112 \n\t" \
- " li 13, 113 \n\t" \
- " li 14, 114 \n\t" \
- " li 15, 115 \n\t" \
- " li 16, 116 \n\t" \
- " li 17, 117 \n\t" \
- " li 18, 118 \n\t" \
- " li 19, 119 \n\t" \
- " li 20, 120 \n\t" \
- " li 21, 121 \n\t" \
- " li 22, 122 \n\t" \
- " li 23, 123 \n\t" \
- " li 24, 124 \n\t" \
- " li 25, 125 \n\t" \
- " li 26, 126 \n\t" \
- " li 27, 127 \n\t" \
- " li 28, 128 \n\t" \
- " li 29, 129 \n\t" \
- " li 30, 130 \n\t" \
- " li 31, 131 \n\t" \
- " \n\t" \
- " cmpwi 0, 11 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 2, 12 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 3, 13 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 4, 14 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 5, 15 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 6, 16 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 7, 17 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 8, 18 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 9, 19 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 10, 110 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 11, 111 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 12, 112 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 13, 113 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 14, 114 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 15, 115 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 16, 116 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 17, 117 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 18, 118 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 19, 119 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 20, 120 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 21, 121 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 22, 122 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 23, 123 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 24, 124 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 25, 125 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 26, 126 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 27, 127 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 28, 128 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 29, 129 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 30, 130 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 31, 131 \n\t" \
- " bne RegTest2Fail \n\t" \
- " \n\t" \
- " mfspr 0, 256 #USPRG0 \n\t" \
- " cmpwi 0, 300 \n\t" \
- " bne RegTest2Fail \n\t" \
- " mfspr 0, 8 #LR \n\t" \
- " cmpwi 0, 500 \n\t" \
- " bne RegTest2Fail \n\t" \
- " mfspr 0, 1 #XER \n\t" \
- " cmpwi 0, 4 \n\t" \
- " bne RegTest2Fail \n\t" \
- " \n\t" \
- " bl prvRegTest2Pass \n\t" \
- " b RegTest2Start \n\t" \
- " \n\t" \
- "RegTest2Fail: \n\t" \
- " \n\t" \
- " \n\t" \
- " bl prvRegTestFail \n\t" \
- " b RegTest2Start \n\t" \
- );
-}
-/*-----------------------------------------------------------*/
-
-/* This hook function will get called if there is a suspected stack overflow.
-An overflow can cause the task name to be corrupted, in which case the task
-handle needs to be used to determine the offending task. */
-void vApplicationStackOverflowHook( xTaskHandle xTask, signed portCHAR *pcTaskName );
-void vApplicationStackOverflowHook( xTaskHandle xTask, signed portCHAR *pcTaskName )
-{
- /* The following three calls are simply to stop compiler warnings about the
- functions not being used - they are called from the inline assembly. */
- prvRegTest1Pass();
- prvRegTest2Pass();
- prvRegTestFail();
-
- for( ;; );
-}
-
-
-
-
+/*
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
+
+ This file is part of the FreeRTOS.org distribution.
+
+ FreeRTOS.org is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FreeRTOS.org; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS.org, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
+ * and even write all or part of your application on your behalf. *
+ * See http://www.OpenRTOS.com for details of the services we provide to *
+ * expedite your project. *
+ * *
+ ***************************************************************************
+ ***************************************************************************
+
+ Please ensure to read the configuration and relevant port sections of the
+ online documentation.
+
+ http://www.FreeRTOS.org - Documentation, latest information, license and
+ contact details.
+
+ http://www.SafeRTOS.com - A version that is certified for use in safety
+ critical systems.
+
+ http://www.OpenRTOS.com - Commercial support, development, porting,
+ licensing and training services.
+*/
+
+/*
+ * Creates all the demo application tasks, then starts the scheduler. The WEB
+ * documentation provides more details of the demo application tasks.
+ *
+ * In addition to the standard demo tasks, the follow demo specific tasks are
+ * create:
+ *
+ * The "Check" task. This only executes every three seconds but has the highest
+ * priority so is guaranteed to get processor time. Its main function is to
+ * check that all the other tasks are still operational. Most tasks maintain
+ * a unique count that is incremented each time the task successfully completes
+ * its function. Should any error occur within such a task the count is
+ * permanently halted. The check task inspects the count of each task to ensure
+ * it has changed since the last time the check task executed. If all the count
+ * variables have changed all the tasks are still executing error free, and the
+ * check task toggles the onboard LED. Should any task contain an error at any time
+ * the LED toggle rate will change from 3 seconds to 500ms.
+ *
+ * The "Register Check" tasks. These tasks fill the CPU registers with known
+ * values, then check that each register still contains the expected value, the
+ * discovery of an unexpected value being indicative of an error in the RTOS
+ * context switch mechanism. The register check tasks operate at low priority
+ * so are switched in and out frequently.
+ *
+ */
+
+/* Scheduler includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+
+/* Xilinx library includes. */
+#include "xcache_l.h"
+#include "xintc.h"
+
+/* Demo application includes. */
+#include "flash.h"
+#include "integer.h"
+#include "comtest2.h"
+#include "semtest.h"
+#include "BlockQ.h"
+#include "dynamic.h"
+#include "GenQTest.h"
+#include "QPeek.h"
+#include "blocktim.h"
+#include "death.h"
+#include "partest.h"
+#include "countsem.h"
+#include "recmutex.h"
+
+/* Priorities assigned to the demo tasks. */
+#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 4 )
+#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 2 )
+#define mainCOM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 )
+#define mainQUEUE_BLOCK_PRIORITY ( tskIDLE_PRIORITY + 1 )
+#define mainDEATH_PRIORITY ( tskIDLE_PRIORITY + 1 )
+#define mainLED_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
+#define mainGENERIC_QUEUE_PRIORITY ( tskIDLE_PRIORITY )
+#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )
+
+/* The first LED used by the COM test and check tasks respectively. */
+#define mainCOM_TEST_LED ( 4 )
+#define mainCHECK_TEST_LED ( 3 )
+
+/* The baud rate used by the comtest tasks is set by the hardware, so the
+baud rate parameters passed into the comtest initialisation has no effect. */
+#define mainBAUD_SET_IN_HARDWARE ( 0 )
+
+/* Delay periods used by the check task. If no errors have been found then
+the check LED will toggle every mainNO_ERROR_CHECK_DELAY milliseconds. If an
+error has been found at any time then the toggle rate will increase to
+mainERROR_CHECK_DELAY milliseconds. */
+#define mainNO_ERROR_CHECK_DELAY ( ( portTickType ) 3000 / portTICK_RATE_MS )
+#define mainERROR_CHECK_DELAY ( ( portTickType ) 500 / portTICK_RATE_MS )
+
+
+/*
+ * The tasks defined within this file - described within the comments at the
+ * head of this page.
+ */
+static void prvRegTestTask1( void *pvParameters );
+static void prvRegTestTask2( void *pvParameters );
+static void prvErrorChecks( void *pvParameters );
+
+/*
+ * Called by the 'check' task to inspect all the standard demo tasks within
+ * the system, as described within the comments at the head of this page.
+ */
+static portSHORT prvCheckOtherTasksAreStillRunning( void );
+
+/*
+ * Perform any hardware initialisation required by the demo application.
+ */
+static void prvSetupHardware( void );
+
+/*-----------------------------------------------------------*/
+
+/* xRegTestStatus will get set to pdFAIL by the regtest tasks if they
+discover an unexpected value. */
+static unsigned portBASE_TYPE xRegTestStatus = pdPASS;
+
+/* Counters used to ensure the regtest tasks are still running. */
+static volatile unsigned portLONG ulRegTest1Counter = 0UL, ulRegTest2Counter = 0UL;
+
+/*-----------------------------------------------------------*/
+
+int main( void )
+{
+ /* Must be called prior to installing any interrupt handlers! */
+ vPortSetupInterruptController();
+
+ /* In this case prvSetupHardware() just enables the caches and and
+ configures the IO ports for the LED outputs. */
+ prvSetupHardware();
+
+ /* Start the standard demo application tasks. Note that the baud rate used
+ by the comtest tasks is set by the hardware, so the baud rate parameter
+ passed has no effect. */
+ vStartLEDFlashTasks( mainLED_TASK_PRIORITY );
+ vStartIntegerMathTasks( tskIDLE_PRIORITY );
+ vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainBAUD_SET_IN_HARDWARE, mainCOM_TEST_LED );
+ vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );
+ vStartBlockingQueueTasks ( mainQUEUE_BLOCK_PRIORITY );
+ vStartDynamicPriorityTasks();
+ vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY );
+ vStartQueuePeekTasks();
+ vCreateBlockTimeTasks();
+ vStartCountingSemaphoreTasks();
+ vStartRecursiveMutexTasks();
+
+ /* Create the tasks defined within this file. */
+ xTaskCreate( prvRegTestTask1, "Regtest1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
+ xTaskCreate( prvRegTestTask2, "Regtest2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
+ xTaskCreate( prvErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
+
+ /* The suicide tasks must be started last as they record the number of other
+ tasks that exist within the system. The value is then used to ensure at run
+ time the number of tasks that exists is within expected bounds. */
+ vCreateSuicidalTasks( mainDEATH_PRIORITY );
+
+ /* Now start the scheduler. Following this call the created tasks should
+ be executing. */
+ vTaskStartScheduler( );
+
+ /* vTaskStartScheduler() will only return if an error occurs while the
+ idle task is being created. */
+ for( ;; );
+
+ return 0;
+}
+/*-----------------------------------------------------------*/
+
+static portSHORT prvCheckOtherTasksAreStillRunning( void )
+{
+portBASE_TYPE lReturn = pdPASS;
+static unsigned portLONG ulLastRegTest1Counter= 0UL, ulLastRegTest2Counter = 0UL;
+
+ /* The demo tasks maintain a count that increments every cycle of the task
+ provided that the task has never encountered an error. This function
+ checks the counts maintained by the tasks to ensure they are still being
+ incremented. A count remaining at the same value between calls therefore
+ indicates that an error has been detected. */
+
+ if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xAreComTestTasksStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xAreSemaphoreTasksStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xAreBlockingQueuesStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xIsCreateTaskStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xAreGenericQueueTasksStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xAreQueuePeekTasksStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
+ {
+ lReturn = pdFAIL;
+ }
+
+ /* Have the register test tasks found any errors? */
+ if( xRegTestStatus != pdPASS )
+ {
+ lReturn = pdFAIL;
+ }
+
+ /* Are the register test tasks still looping? */
+ if( ulLastRegTest1Counter == ulRegTest1Counter )
+ {
+ lReturn = pdFAIL;
+ }
+ else
+ {
+ ulLastRegTest1Counter = ulRegTest1Counter;
+ }
+
+ if( ulLastRegTest2Counter == ulRegTest2Counter )
+ {
+ lReturn = pdFAIL;
+ }
+ else
+ {
+ ulLastRegTest2Counter = ulRegTest2Counter;
+ }
+
+ return lReturn;
+}
+/*-----------------------------------------------------------*/
+
+
+static void prvErrorChecks( void *pvParameters )
+{
+portTickType xDelayPeriod = mainNO_ERROR_CHECK_DELAY, xLastExecutionTime;
+volatile unsigned portBASE_TYPE uxFreeStack;
+
+ /* This call is just to demonstrate the use of the function - nothing is
+ done with the value. You would expect the stack high water mark to be
+ lower (the function to return a larger value) here at function entry than
+ later following calls to other functions. */
+ uxFreeStack = uxTaskGetStackHighWaterMark( NULL );
+
+ /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil()
+ works correctly. */
+ xLastExecutionTime = xTaskGetTickCount();
+
+ /* Cycle for ever, delaying then checking all the other tasks are still
+ operating without error. */
+ for( ;; )
+ {
+ /* Again just for demo purposes - uxFreeStack should have a lower value
+ here than following the call to uxTaskGetStackHighWaterMark() on the
+ task entry. */
+ uxFreeStack = uxTaskGetStackHighWaterMark( NULL );
+
+ /* Wait until it is time to check again. The time we wait here depends
+ on whether an error has been detected or not. When an error is
+ detected the time is shortened resulting in a faster LED flash rate. */
+ vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod );
+
+ /* See if the other tasks are all ok. */
+ if( prvCheckOtherTasksAreStillRunning() != pdPASS )
+ {
+ /* An error occurred in one of the tasks so shorten the delay
+ period - which has the effect of increasing the frequency of the
+ LED toggle. */
+ xDelayPeriod = mainERROR_CHECK_DELAY;
+ }
+
+ /* Flash! */
+ vParTestToggleLED( mainCHECK_TEST_LED );
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void prvSetupHardware( void )
+{
+ XCache_EnableICache( 0x80000000 );
+ XCache_EnableDCache( 0x80000000 );
+
+ /* Setup the IO port for use with the LED outputs. */
+ vParTestInitialise();
+}
+/*-----------------------------------------------------------*/
+
+void prvRegTest1Pass( void )
+{
+ /* Called from the inline assembler - this cannot be static
+ otherwise it can get optimised away. */
+ ulRegTest1Counter++;
+}
+/*-----------------------------------------------------------*/
+
+void prvRegTest2Pass( void )
+{
+ /* Called from the inline assembler - this cannot be static
+ otherwise it can get optimised away. */
+ ulRegTest2Counter++;
+}
+/*-----------------------------------------------------------*/
+
+void prvRegTestFail( void )
+{
+ /* Called from the inline assembler - this cannot be static
+ otherwise it can get optimised away. */
+ xRegTestStatus = pdFAIL;
+}
+/*-----------------------------------------------------------*/
+
+static void prvRegTestTask1( void *pvParameters )
+{
+ /* The first register test task as described at the top of this file. The
+ values used in the registers are different to those use in the second
+ register test task. Also, unlike the second register test task, this task
+ yields between setting the register values and subsequently checking the
+ register values. */
+ asm volatile
+ (
+ "RegTest1Start: \n\t" \
+ " \n\t" \
+ " li 0, 301 \n\t" \
+ " mtspr 256, 0 #USPRG0 \n\t" \
+ " li 0, 501 \n\t" \
+ " mtspr 8, 0 #LR \n\t" \
+ " li 0, 4 \n\t" \
+ " mtspr 1, 0 #XER \n\t" \
+ " \n\t" \
+ " li 0, 1 \n\t" \
+ " li 2, 2 \n\t" \
+ " li 3, 3 \n\t" \
+ " li 4, 4 \n\t" \
+ " li 5, 5 \n\t" \
+ " li 6, 6 \n\t" \
+ " li 7, 7 \n\t" \
+ " li 8, 8 \n\t" \
+ " li 9, 9 \n\t" \
+ " li 10, 10 \n\t" \
+ " li 11, 11 \n\t" \
+ " li 12, 12 \n\t" \
+ " li 13, 13 \n\t" \
+ " li 14, 14 \n\t" \
+ " li 15, 15 \n\t" \
+ " li 16, 16 \n\t" \
+ " li 17, 17 \n\t" \
+ " li 18, 18 \n\t" \
+ " li 19, 19 \n\t" \
+ " li 20, 20 \n\t" \
+ " li 21, 21 \n\t" \
+ " li 22, 22 \n\t" \
+ " li 23, 23 \n\t" \
+ " li 24, 24 \n\t" \
+ " li 25, 25 \n\t" \
+ " li 26, 26 \n\t" \
+ " li 27, 27 \n\t" \
+ " li 28, 28 \n\t" \
+ " li 29, 29 \n\t" \
+ " li 30, 30 \n\t" \
+ " li 31, 31 \n\t" \
+ " \n\t" \
+ " sc \n\t" \
+ " nop \n\t" \
+ " \n\t" \
+ " cmpwi 0, 1 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 2, 2 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 3, 3 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 4, 4 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 5, 5 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 6, 6 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 7, 7 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 8, 8 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 9, 9 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 10, 10 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 11, 11 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 12, 12 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 13, 13 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 14, 14 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 15, 15 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 16, 16 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 17, 17 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 18, 18 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 19, 19 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 20, 20 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 21, 21 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 22, 22 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 23, 23 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 24, 24 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 25, 25 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 26, 26 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 27, 27 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 28, 28 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 29, 29 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 30, 30 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " cmpwi 31, 31 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " \n\t" \
+ " mfspr 0, 256 #USPRG0 \n\t" \
+ " cmpwi 0, 301 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " mfspr 0, 8 #LR \n\t" \
+ " cmpwi 0, 501 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " mfspr 0, 1 #XER \n\t" \
+ " cmpwi 0, 4 \n\t" \
+ " bne RegTest1Fail \n\t" \
+ " \n\t" \
+ " bl prvRegTest1Pass \n\t" \
+ " b RegTest1Start \n\t" \
+ " \n\t" \
+ "RegTest1Fail: \n\t" \
+ " \n\t" \
+ " \n\t" \
+ " bl prvRegTestFail \n\t" \
+ " b RegTest1Start \n\t" \
+ );
+}
+/*-----------------------------------------------------------*/
+
+static void prvRegTestTask2( void *pvParameters )
+{
+ /* The second register test task as described at the top of this file.
+ Note that this task fills the registers with different values to the
+ first register test task. */
+ asm volatile
+ (
+ "RegTest2Start: \n\t" \
+ " \n\t" \
+ " li 0, 300 \n\t" \
+ " mtspr 256, 0 #USPRG0 \n\t" \
+ " li 0, 500 \n\t" \
+ " mtspr 8, 0 #LR \n\t" \
+ " li 0, 4 \n\t" \
+ " mtspr 1, 0 #XER \n\t" \
+ " \n\t" \
+ " li 0, 11 \n\t" \
+ " li 2, 12 \n\t" \
+ " li 3, 13 \n\t" \
+ " li 4, 14 \n\t" \
+ " li 5, 15 \n\t" \
+ " li 6, 16 \n\t" \
+ " li 7, 17 \n\t" \
+ " li 8, 18 \n\t" \
+ " li 9, 19 \n\t" \
+ " li 10, 110 \n\t" \
+ " li 11, 111 \n\t" \
+ " li 12, 112 \n\t" \
+ " li 13, 113 \n\t" \
+ " li 14, 114 \n\t" \
+ " li 15, 115 \n\t" \
+ " li 16, 116 \n\t" \
+ " li 17, 117 \n\t" \
+ " li 18, 118 \n\t" \
+ " li 19, 119 \n\t" \
+ " li 20, 120 \n\t" \
+ " li 21, 121 \n\t" \
+ " li 22, 122 \n\t" \
+ " li 23, 123 \n\t" \
+ " li 24, 124 \n\t" \
+ " li 25, 125 \n\t" \
+ " li 26, 126 \n\t" \
+ " li 27, 127 \n\t" \
+ " li 28, 128 \n\t" \
+ " li 29, 129 \n\t" \
+ " li 30, 130 \n\t" \
+ " li 31, 131 \n\t" \
+ " \n\t" \
+ " cmpwi 0, 11 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 2, 12 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 3, 13 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 4, 14 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 5, 15 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 6, 16 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 7, 17 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 8, 18 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 9, 19 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 10, 110 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 11, 111 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 12, 112 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 13, 113 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 14, 114 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 15, 115 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 16, 116 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 17, 117 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 18, 118 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 19, 119 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 20, 120 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 21, 121 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 22, 122 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 23, 123 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 24, 124 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 25, 125 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 26, 126 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 27, 127 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 28, 128 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 29, 129 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 30, 130 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " cmpwi 31, 131 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " \n\t" \
+ " mfspr 0, 256 #USPRG0 \n\t" \
+ " cmpwi 0, 300 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " mfspr 0, 8 #LR \n\t" \
+ " cmpwi 0, 500 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " mfspr 0, 1 #XER \n\t" \
+ " cmpwi 0, 4 \n\t" \
+ " bne RegTest2Fail \n\t" \
+ " \n\t" \
+ " bl prvRegTest2Pass \n\t" \
+ " b RegTest2Start \n\t" \
+ " \n\t" \
+ "RegTest2Fail: \n\t" \
+ " \n\t" \
+ " \n\t" \
+ " bl prvRegTestFail \n\t" \
+ " b RegTest2Start \n\t" \
+ );
+}
+/*-----------------------------------------------------------*/
+
+/* This hook function will get called if there is a suspected stack overflow.
+An overflow can cause the task name to be corrupted, in which case the task
+handle needs to be used to determine the offending task. */
+void vApplicationStackOverflowHook( xTaskHandle xTask, signed portCHAR *pcTaskName );
+void vApplicationStackOverflowHook( xTaskHandle xTask, signed portCHAR *pcTaskName )
+{
+ /* The following three calls are simply to stop compiler warnings about the
+ functions not being used - they are called from the inline assembly. */
+ prvRegTest1Pass();
+ prvRegTest2Pass();
+ prvRegTestFail();
+
+ for( ;; );
+}
+
+
+
+
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c
index 0d8d9c12..94457b52 100644
--- a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c
+++ b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c
index e343284d..3e547790 100644
--- a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c
+++ b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c
@@ -1,227 +1,227 @@
-/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
-
- This file is part of the FreeRTOS.org distribution.
-
- FreeRTOS.org is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- FreeRTOS.org is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with FreeRTOS.org; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- A special exception to the GPL can be applied should you wish to distribute
- a combined work that includes FreeRTOS.org, without being obliged to provide
- the source code for any proprietary components. See the licensing section
- of http://www.FreeRTOS.org for full details of how and when the exception
- can be applied.
-
- ***************************************************************************
- ***************************************************************************
- * *
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
- * and even write all or part of your application on your behalf. *
- * See http://www.OpenRTOS.com for details of the services we provide to *
- * expedite your project. *
- * *
- ***************************************************************************
- ***************************************************************************
-
- Please ensure to read the configuration and relevant port sections of the
- online documentation.
-
- http://www.FreeRTOS.org - Documentation, latest information, license and
- contact details.
-
- http://www.SafeRTOS.com - A version that is certified for use in safety
- critical systems.
-
- http://www.OpenRTOS.com - Commercial support, development, porting,
- licensing and training services.
-*/
-
-
-/*
- BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR UART
-*/
-
-/* Scheduler includes. */
-#include "FreeRTOS.h"
-#include "queue.h"
-#include "task.h"
-
-/* Demo application includes. */
-#include "serial.h"
-
-/* Library includes. */
-#include "xparameters.h"
-#include "xuartlite.h"
-#include "xuartlite_l.h"
-
-/*-----------------------------------------------------------*/
-
-/* Queues used to hold received characters, and characters waiting to be
-transmitted. */
-static xQueueHandle xRxedChars;
-static xQueueHandle xCharsForTx;
-
-/* Structure that maintains information on the UART being used. */
-static XUartLite xUART;
-
-/*
- * Sample UART interrupt handler. Note this is used to demonstrate the kernel
- * features and test the port - it is not intended to represent an efficient
- * implementation.
- */
-static void vSerialISR( XUartLite *pxUART );
-
-/*-----------------------------------------------------------*/
-
-xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
-{
- /* NOTE: The baud rate used by this driver is determined by the hardware
- parameterization of the UART Lite peripheral, and the baud value passed to
- this function has no effect. */
- ( void ) ulWantedBaud;
-
- /* Create the queues used to hold Rx and Tx characters. */
- xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
- xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
-
- /* Only initialise the UART if the queues were created correctly. */
- if( ( xRxedChars != NULL ) && ( xCharsForTx != NULL ) )
- {
-
- XUartLite_Initialize( &xUART, XPAR_RS232_UART_DEVICE_ID );
- XUartLite_ResetFifos( &xUART );
- XUartLite_DisableInterrupt( &xUART );
-
- if( xPortInstallInterruptHandler( XPAR_XPS_INTC_0_RS232_UART_INTERRUPT_INTR, ( XInterruptHandler )vSerialISR, (void *)&xUART ) == pdPASS )
- {
- /* xPortInstallInterruptHandler() could fail if
- vPortSetupInterruptController() has not been called prior to this
- function. */
- XUartLite_EnableInterrupt( &xUART );
- }
- }
-
- /* There is only one port so the handle is not used. */
- return ( xComPortHandle ) 0;
-}
-/*-----------------------------------------------------------*/
-
-signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime )
-{
- /* The port handle is not required as this driver only supports one UART. */
- ( void ) pxPort;
-
- /* Get the next character from the buffer. Return false if no characters
- are available, or arrive before xBlockTime expires. */
- if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )
- {
- return pdTRUE;
- }
- else
- {
- return pdFALSE;
- }
-}
-/*-----------------------------------------------------------*/
-
-signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime )
-{
-portBASE_TYPE xReturn = pdTRUE;
-
- portENTER_CRITICAL();
- {
- /* If the UART FIFO is full we can block posting the new data on the
- Tx queue. */
- if( XUartLite_mIsTransmitFull( XPAR_RS232_UART_BASEADDR ) )
- {
- if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
- {
- xReturn = pdFAIL;
- }
- }
- /* Otherwise, if there is data already in the queue we should add the
- new data to the back of the queue to ensure the sequencing is
- maintained. */
- else if( uxQueueMessagesWaiting( xCharsForTx ) )
- {
- if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
- {
- xReturn = pdFAIL;
- }
- }
- /* If the UART FIFO is not full and there is no data already in the
- queue we can write directly to the FIFO without disrupting the
- sequence. */
- else
- {
- XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cOutChar );
- }
- }
- portEXIT_CRITICAL();
-
- return xReturn;
-}
-/*-----------------------------------------------------------*/
-
-void vSerialClose( xComPortHandle xPort )
-{
- /* Not supported as not required by the demo application. */
- ( void ) xPort;
-}
-/*-----------------------------------------------------------*/
-
-static void vSerialISR( XUartLite *pxUART )
-{
-unsigned portLONG ulISRStatus;
-portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE, lDidSomething;
-portCHAR cChar;
-
- do
- {
- lDidSomething = pdFALSE;
-
- ulISRStatus = XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_STATUS_REG_OFFSET );
-
- if( ( ulISRStatus & XUL_SR_RX_FIFO_VALID_DATA ) != 0 )
- {
- /* A character is available - place it in the queue of received
- characters. This might wake a task that was blocked waiting for
- data. */
- cChar = ( portCHAR ) XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_RX_FIFO_OFFSET );
- xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );
- lDidSomething = pdTRUE;
- }
-
- if( ( ulISRStatus & XUL_SR_TX_FIFO_EMPTY ) != 0 )
- {
- /* There is space in the FIFO - if there are any characters queue for
- transmission they can be sent to the UART now. This might unblock a
- task that was waiting for space to become available on the Tx queue. */
- if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
- {
- XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cChar );
- lDidSomething = pdTRUE;
- }
- }
- } while( lDidSomething == pdTRUE );
-
- /* If we woke any tasks we may require a context switch. */
- if( xHigherPriorityTaskWoken )
- {
- portYIELD_FROM_ISR();
- }
-}
-
-
-
+/*
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
+
+ This file is part of the FreeRTOS.org distribution.
+
+ FreeRTOS.org is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ FreeRTOS.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with FreeRTOS.org; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ A special exception to the GPL can be applied should you wish to distribute
+ a combined work that includes FreeRTOS.org, without being obliged to provide
+ the source code for any proprietary components. See the licensing section
+ of http://www.FreeRTOS.org for full details of how and when the exception
+ can be applied.
+
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
+ * and even write all or part of your application on your behalf. *
+ * See http://www.OpenRTOS.com for details of the services we provide to *
+ * expedite your project. *
+ * *
+ ***************************************************************************
+ ***************************************************************************
+
+ Please ensure to read the configuration and relevant port sections of the
+ online documentation.
+
+ http://www.FreeRTOS.org - Documentation, latest information, license and
+ contact details.
+
+ http://www.SafeRTOS.com - A version that is certified for use in safety
+ critical systems.
+
+ http://www.OpenRTOS.com - Commercial support, development, porting,
+ licensing and training services.
+*/
+
+
+/*
+ BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR UART
+*/
+
+/* Scheduler includes. */
+#include "FreeRTOS.h"
+#include "queue.h"
+#include "task.h"
+
+/* Demo application includes. */
+#include "serial.h"
+
+/* Library includes. */
+#include "xparameters.h"
+#include "xuartlite.h"
+#include "xuartlite_l.h"
+
+/*-----------------------------------------------------------*/
+
+/* Queues used to hold received characters, and characters waiting to be
+transmitted. */
+static xQueueHandle xRxedChars;
+static xQueueHandle xCharsForTx;
+
+/* Structure that maintains information on the UART being used. */
+static XUartLite xUART;
+
+/*
+ * Sample UART interrupt handler. Note this is used to demonstrate the kernel
+ * features and test the port - it is not intended to represent an efficient
+ * implementation.
+ */
+static void vSerialISR( XUartLite *pxUART );
+
+/*-----------------------------------------------------------*/
+
+xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
+{
+ /* NOTE: The baud rate used by this driver is determined by the hardware
+ parameterization of the UART Lite peripheral, and the baud value passed to
+ this function has no effect. */
+ ( void ) ulWantedBaud;
+
+ /* Create the queues used to hold Rx and Tx characters. */
+ xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
+ xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
+
+ /* Only initialise the UART if the queues were created correctly. */
+ if( ( xRxedChars != NULL ) && ( xCharsForTx != NULL ) )
+ {
+
+ XUartLite_Initialize( &xUART, XPAR_RS232_UART_DEVICE_ID );
+ XUartLite_ResetFifos( &xUART );
+ XUartLite_DisableInterrupt( &xUART );
+
+ if( xPortInstallInterruptHandler( XPAR_XPS_INTC_0_RS232_UART_INTERRUPT_INTR, ( XInterruptHandler )vSerialISR, (void *)&xUART ) == pdPASS )
+ {
+ /* xPortInstallInterruptHandler() could fail if
+ vPortSetupInterruptController() has not been called prior to this
+ function. */
+ XUartLite_EnableInterrupt( &xUART );
+ }
+ }
+
+ /* There is only one port so the handle is not used. */
+ return ( xComPortHandle ) 0;
+}
+/*-----------------------------------------------------------*/
+
+signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime )
+{
+ /* The port handle is not required as this driver only supports one UART. */
+ ( void ) pxPort;
+
+ /* Get the next character from the buffer. Return false if no characters
+ are available, or arrive before xBlockTime expires. */
+ if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )
+ {
+ return pdTRUE;
+ }
+ else
+ {
+ return pdFALSE;
+ }
+}
+/*-----------------------------------------------------------*/
+
+signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime )
+{
+portBASE_TYPE xReturn = pdTRUE;
+
+ portENTER_CRITICAL();
+ {
+ /* If the UART FIFO is full we can block posting the new data on the
+ Tx queue. */
+ if( XUartLite_mIsTransmitFull( XPAR_RS232_UART_BASEADDR ) )
+ {
+ if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
+ {
+ xReturn = pdFAIL;
+ }
+ }
+ /* Otherwise, if there is data already in the queue we should add the
+ new data to the back of the queue to ensure the sequencing is
+ maintained. */
+ else if( uxQueueMessagesWaiting( xCharsForTx ) )
+ {
+ if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
+ {
+ xReturn = pdFAIL;
+ }
+ }
+ /* If the UART FIFO is not full and there is no data already in the
+ queue we can write directly to the FIFO without disrupting the
+ sequence. */
+ else
+ {
+ XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cOutChar );
+ }
+ }
+ portEXIT_CRITICAL();
+
+ return xReturn;
+}
+/*-----------------------------------------------------------*/
+
+void vSerialClose( xComPortHandle xPort )
+{
+ /* Not supported as not required by the demo application. */
+ ( void ) xPort;
+}
+/*-----------------------------------------------------------*/
+
+static void vSerialISR( XUartLite *pxUART )
+{
+unsigned portLONG ulISRStatus;
+portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE, lDidSomething;
+portCHAR cChar;
+
+ do
+ {
+ lDidSomething = pdFALSE;
+
+ ulISRStatus = XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_STATUS_REG_OFFSET );
+
+ if( ( ulISRStatus & XUL_SR_RX_FIFO_VALID_DATA ) != 0 )
+ {
+ /* A character is available - place it in the queue of received
+ characters. This might wake a task that was blocked waiting for
+ data. */
+ cChar = ( portCHAR ) XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_RX_FIFO_OFFSET );
+ xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );
+ lDidSomething = pdTRUE;
+ }
+
+ if( ( ulISRStatus & XUL_SR_TX_FIFO_EMPTY ) != 0 )
+ {
+ /* There is space in the FIFO - if there are any characters queue for
+ transmission they can be sent to the UART now. This might unblock a
+ task that was waiting for space to become available on the Tx queue. */
+ if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
+ {
+ XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cChar );
+ lDidSomething = pdTRUE;
+ }
+ }
+ } while( lDidSomething == pdTRUE );
+
+ /* If we woke any tasks we may require a context switch. */
+ if( xHigherPriorityTaskWoken )
+ {
+ portYIELD_FROM_ISR();
+ }
+}
+
+
+
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt
index e3a95656..5f71f24e 100644
--- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt
+++ b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt
@@ -1,5 +1,5 @@
ppc405_0
-RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/flop.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c
+RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c
RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h
RTOSDEMO_CC = powerpc-eabi-gcc
RTOSDEMO_CC_SIZE = powerpc-eabi-size
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp b/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp
index 0c98e8f1..0dd5e02f 100644
--- a/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp
+++ b/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp
@@ -41,7 +41,6 @@ Source: RTOSDemo/../../Common/Minimal/countsem.c
Source: RTOSDemo/../../Common/Minimal/death.c
Source: RTOSDemo/../../Common/Minimal/dynamic.c
Source: RTOSDemo/../../Common/Minimal/flash.c
-Source: RTOSDemo/../../Common/Minimal/flop.c
Source: RTOSDemo/../../Common/Minimal/GenQTest.c
Source: RTOSDemo/../../Common/Minimal/integer.c
Source: RTOSDemo/../../Common/Minimal/QPeek.c
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make b/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make
index 44228fef..dc54237b 100644
--- a/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make
+++ b/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make
@@ -114,7 +114,7 @@ FPGA_IMP_DEPENDENCY = $(BMM_FILE) $(POSTSYN_NETLIST) $(UCF_FILE) $(BITGEN_UT_FIL
# SOFTWARE APPLICATION RTOSDEMO
#################################################################
-RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/flop.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c
+RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c
RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/FreeRTOSConfig.h b/Demo/WizNET_DEMO_GCC_ARM7/FreeRTOSConfig.h
index 0c0172a5..a782dd07 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/FreeRTOSConfig.h
+++ b/Demo/WizNET_DEMO_GCC_ARM7/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.c b/Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.c
index 87a9b75c..4eea5b57 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.c
+++ b/Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.h b/Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.h
index 7d8ac4a0..39577d97 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.h
+++ b/Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/Makefile b/Demo/WizNET_DEMO_GCC_ARM7/Makefile
index 48945aed..47e9d863 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/Makefile
+++ b/Demo/WizNET_DEMO_GCC_ARM7/Makefile
@@ -1,4 +1,4 @@
-# FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+# FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
#
# This file is part of the FreeRTOS.org distribution.
#
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/TCP.c b/Demo/WizNET_DEMO_GCC_ARM7/TCP.c
index af69a584..78cc1796 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/TCP.c
+++ b/Demo/WizNET_DEMO_GCC_ARM7/TCP.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/TCP.h b/Demo/WizNET_DEMO_GCC_ARM7/TCP.h
index 49a58aed..c27c7642 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/TCP.h
+++ b/Demo/WizNET_DEMO_GCC_ARM7/TCP.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/TCPISR.c b/Demo/WizNET_DEMO_GCC_ARM7/TCPISR.c
index 3f353dd4..42aab12e 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/TCPISR.c
+++ b/Demo/WizNET_DEMO_GCC_ARM7/TCPISR.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/html_pages.h b/Demo/WizNET_DEMO_GCC_ARM7/html_pages.h
index b91d552b..cb9263f0 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/html_pages.h
+++ b/Demo/WizNET_DEMO_GCC_ARM7/html_pages.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/i2c.c b/Demo/WizNET_DEMO_GCC_ARM7/i2c.c
index 4f655427..a9acba83 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/i2c.c
+++ b/Demo/WizNET_DEMO_GCC_ARM7/i2c.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/i2c.h b/Demo/WizNET_DEMO_GCC_ARM7/i2c.h
index f24b0697..bf106000 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/i2c.h
+++ b/Demo/WizNET_DEMO_GCC_ARM7/i2c.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/i2cISR.c b/Demo/WizNET_DEMO_GCC_ARM7/i2cISR.c
index d62a813c..8e016403 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/i2cISR.c
+++ b/Demo/WizNET_DEMO_GCC_ARM7/i2cISR.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_GCC_ARM7/main.c b/Demo/WizNET_DEMO_GCC_ARM7/main.c
index 57f44464..f3c7a5eb 100644
--- a/Demo/WizNET_DEMO_GCC_ARM7/main.c
+++ b/Demo/WizNET_DEMO_GCC_ARM7/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_TERN_186/FreeRTOSConfig.h b/Demo/WizNET_DEMO_TERN_186/FreeRTOSConfig.h
index 617293bb..27cbdc87 100644
--- a/Demo/WizNET_DEMO_TERN_186/FreeRTOSConfig.h
+++ b/Demo/WizNET_DEMO_TERN_186/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_TERN_186/HTTPTask.c b/Demo/WizNET_DEMO_TERN_186/HTTPTask.c
index 8ebd4913..b0400bcd 100644
--- a/Demo/WizNET_DEMO_TERN_186/HTTPTask.c
+++ b/Demo/WizNET_DEMO_TERN_186/HTTPTask.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_TERN_186/HTTPTask.h b/Demo/WizNET_DEMO_TERN_186/HTTPTask.h
index b064e728..6525b26e 100644
--- a/Demo/WizNET_DEMO_TERN_186/HTTPTask.h
+++ b/Demo/WizNET_DEMO_TERN_186/HTTPTask.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_TERN_186/main.c b/Demo/WizNET_DEMO_TERN_186/main.c
index afe067c2..a0836d39 100644
--- a/Demo/WizNET_DEMO_TERN_186/main.c
+++ b/Demo/WizNET_DEMO_TERN_186/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/WizNET_DEMO_TERN_186/serial/serial.c b/Demo/WizNET_DEMO_TERN_186/serial/serial.c
index 5583485b..388871fe 100644
--- a/Demo/WizNET_DEMO_TERN_186/serial/serial.c
+++ b/Demo/WizNET_DEMO_TERN_186/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/dsPIC_MPLAB/FreeRTOSConfig.h b/Demo/dsPIC_MPLAB/FreeRTOSConfig.h
index 84b38029..680bbf42 100644
--- a/Demo/dsPIC_MPLAB/FreeRTOSConfig.h
+++ b/Demo/dsPIC_MPLAB/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/dsPIC_MPLAB/ParTest/ParTest.c b/Demo/dsPIC_MPLAB/ParTest/ParTest.c
index 8dab2c8a..96e8caf9 100644
--- a/Demo/dsPIC_MPLAB/ParTest/ParTest.c
+++ b/Demo/dsPIC_MPLAB/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/dsPIC_MPLAB/lcd.c b/Demo/dsPIC_MPLAB/lcd.c
index 42402358..0fbe0322 100644
--- a/Demo/dsPIC_MPLAB/lcd.c
+++ b/Demo/dsPIC_MPLAB/lcd.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/dsPIC_MPLAB/lcd.h b/Demo/dsPIC_MPLAB/lcd.h
index 32892717..171d7138 100644
--- a/Demo/dsPIC_MPLAB/lcd.h
+++ b/Demo/dsPIC_MPLAB/lcd.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/dsPIC_MPLAB/main.c b/Demo/dsPIC_MPLAB/main.c
index 0cc09ac7..67e3327c 100644
--- a/Demo/dsPIC_MPLAB/main.c
+++ b/Demo/dsPIC_MPLAB/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/dsPIC_MPLAB/serial/serial.c b/Demo/dsPIC_MPLAB/serial/serial.c
index 063b74a3..d8ff12f9 100644
--- a/Demo/dsPIC_MPLAB/serial/serial.c
+++ b/Demo/dsPIC_MPLAB/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/dsPIC_MPLAB/timertest.c b/Demo/dsPIC_MPLAB/timertest.c
index b6e72d36..d0a46f1e 100644
--- a/Demo/dsPIC_MPLAB/timertest.c
+++ b/Demo/dsPIC_MPLAB/timertest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/dsPIC_MPLAB/timertest.h b/Demo/dsPIC_MPLAB/timertest.h
index f36b267b..a439b31c 100644
--- a/Demo/dsPIC_MPLAB/timertest.h
+++ b/Demo/dsPIC_MPLAB/timertest.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.c b/Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.c
index 75dbf79d..9843ebb6 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.c
+++ b/Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.h b/Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.h
index 2bb3e456..cbaa3e5c 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.h
+++ b/Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.c b/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.c
index c92517c3..c2ed0f75 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.c
+++ b/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.h b/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.h
index c37f55a6..d6c8c272 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.h
+++ b/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC_ISR.c b/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC_ISR.c
index 15e9d682..912b495f 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC_ISR.c
+++ b/Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC_ISR.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/FreeRTOSConfig.h b/Demo/lwIP_Demo_Rowley_ARM7/FreeRTOSConfig.h
index 2ae663db..f75e9294 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/FreeRTOSConfig.h
+++ b/Demo/lwIP_Demo_Rowley_ARM7/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/ParTest/ParTest.c b/Demo/lwIP_Demo_Rowley_ARM7/ParTest/ParTest.c
index 326bd81c..daa021e9 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/ParTest/ParTest.c
+++ b/Demo/lwIP_Demo_Rowley_ARM7/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.c b/Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.c
index 0b649c9e..39abf08e 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.c
+++ b/Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.h b/Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.h
index 0cfb775e..a74539f0 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.h
+++ b/Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/USB/USBIsr.c b/Demo/lwIP_Demo_Rowley_ARM7/USB/USBIsr.c
index 6892ff28..c0bf9a31 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/USB/USBIsr.c
+++ b/Demo/lwIP_Demo_Rowley_ARM7/USB/USBIsr.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/USB/descriptors.h b/Demo/lwIP_Demo_Rowley_ARM7/USB/descriptors.h
index d9ea9182..70ffbbe1 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/USB/descriptors.h
+++ b/Demo/lwIP_Demo_Rowley_ARM7/USB/descriptors.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/USB/usb.h b/Demo/lwIP_Demo_Rowley_ARM7/USB/usb.h
index 2c3a58c9..30488a9d 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/USB/usb.h
+++ b/Demo/lwIP_Demo_Rowley_ARM7/USB/usb.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/main.c b/Demo/lwIP_Demo_Rowley_ARM7/main.c
index 0abdbd37..e2142099 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/main.c
+++ b/Demo/lwIP_Demo_Rowley_ARM7/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/lwIP_Demo_Rowley_ARM7/makefile b/Demo/lwIP_Demo_Rowley_ARM7/makefile
index 17a2a358..bdad0a73 100644
--- a/Demo/lwIP_Demo_Rowley_ARM7/makefile
+++ b/Demo/lwIP_Demo_Rowley_ARM7/makefile
@@ -1,4 +1,4 @@
-# FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+# FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
#
# This file is part of the FreeRTOS.org distribution.
#
diff --git a/Demo/msp430_CrossWorks/FreeRTOSConfig.h b/Demo/msp430_CrossWorks/FreeRTOSConfig.h
index 0c3f6d54..27b3c76a 100644
--- a/Demo/msp430_CrossWorks/FreeRTOSConfig.h
+++ b/Demo/msp430_CrossWorks/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/msp430_CrossWorks/ParTest/ParTest.c b/Demo/msp430_CrossWorks/ParTest/ParTest.c
index d86db7ec..9d203ca5 100644
--- a/Demo/msp430_CrossWorks/ParTest/ParTest.c
+++ b/Demo/msp430_CrossWorks/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/msp430_CrossWorks/main.c b/Demo/msp430_CrossWorks/main.c
index fc6ae1aa..76f04976 100644
--- a/Demo/msp430_CrossWorks/main.c
+++ b/Demo/msp430_CrossWorks/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/msp430_CrossWorks/serial/serial.c b/Demo/msp430_CrossWorks/serial/serial.c
index 1586e173..58f2fa7e 100644
--- a/Demo/msp430_CrossWorks/serial/serial.c
+++ b/Demo/msp430_CrossWorks/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/msp430_GCC/FreeRTOSConfig.h b/Demo/msp430_GCC/FreeRTOSConfig.h
index a7489cbf..652c52df 100644
--- a/Demo/msp430_GCC/FreeRTOSConfig.h
+++ b/Demo/msp430_GCC/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/msp430_GCC/ParTest/ParTest.c b/Demo/msp430_GCC/ParTest/ParTest.c
index d891c57c..368c17dc 100644
--- a/Demo/msp430_GCC/ParTest/ParTest.c
+++ b/Demo/msp430_GCC/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/msp430_GCC/main.c b/Demo/msp430_GCC/main.c
index 593f9da9..8480daac 100644
--- a/Demo/msp430_GCC/main.c
+++ b/Demo/msp430_GCC/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/msp430_GCC/makefile b/Demo/msp430_GCC/makefile
index 286503ad..023d4b33 100644
--- a/Demo/msp430_GCC/makefile
+++ b/Demo/msp430_GCC/makefile
@@ -1,4 +1,4 @@
-# FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+# FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
#
# This file is part of the FreeRTOS.org distribution.
#
diff --git a/Demo/msp430_GCC/serial/serial.c b/Demo/msp430_GCC/serial/serial.c
index b6c7cf11..fb492074 100644
--- a/Demo/msp430_GCC/serial/serial.c
+++ b/Demo/msp430_GCC/serial/serial.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/uIP_Demo_IAR_ARM7/EMAC/EMAClISR.s79 b/Demo/uIP_Demo_IAR_ARM7/EMAC/EMAClISR.s79
index 1e0ab077..576eb94a 100644
--- a/Demo/uIP_Demo_IAR_ARM7/EMAC/EMAClISR.s79
+++ b/Demo/uIP_Demo_IAR_ARM7/EMAC/EMAClISR.s79
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.c b/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.c
index dbb19250..418b08ec 100644
--- a/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.c
+++ b/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h b/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h
index 3a83560f..976d6cc4 100644
--- a/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h
+++ b/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/uIP_Demo_IAR_ARM7/ParTest/ParTest.c b/Demo/uIP_Demo_IAR_ARM7/ParTest/ParTest.c
index a6ef4e50..5a9fc163 100644
--- a/Demo/uIP_Demo_IAR_ARM7/ParTest/ParTest.c
+++ b/Demo/uIP_Demo_IAR_ARM7/ParTest/ParTest.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
diff --git a/Demo/uIP_Demo_IAR_ARM7/main.c b/Demo/uIP_Demo_IAR_ARM7/main.c
index 78f53655..5ed071ca 100644
--- a/Demo/uIP_Demo_IAR_ARM7/main.c
+++ b/Demo/uIP_Demo_IAR_ARM7/main.c
@@ -1,5 +1,5 @@
/*
- FreeRTOS.org V4.8.0 - Copyright (C) 2003-2008 Richard Barry.
+ FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.