]> git.sur5r.net Git - freertos/commitdiff
Prepare for V5.3.1 release. V5.3.1
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 21 Jun 2009 19:20:26 +0000 (19:20 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 21 Jun 2009 19:20:26 +0000 (19:20 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@785 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

440 files changed:
Demo/CORTEX_AT91SAM3U256_IAR/FreeRTOSConfig.h
Demo/CORTEX_AT91SAM3U256_IAR/ParTest/ParTest.c
Demo/CORTEX_AT91SAM3U256_IAR/lcd_message.h
Demo/CORTEX_AT91SAM3U256_IAR/main.c
Demo/CORTEX_AT91SAM3U256_IAR/serial/serial.c
Demo/CORTEX_LM3S102_GCC/Demo1/FreeRTOSConfig.h
Demo/CORTEX_LM3S102_GCC/Demo1/main.c
Demo/CORTEX_LM3S102_GCC/Demo2/FreeRTOSConfig.h
Demo/CORTEX_LM3S102_GCC/Demo2/main.c
Demo/CORTEX_LM3S102_GCC/FreeRTOSConfig.h
Demo/CORTEX_LM3S102_GCC/ParTest/ParTest.c
Demo/CORTEX_LM3S102_GCC/main.c
Demo/CORTEX_LM3S102_KEIL/Demo1/FreeRTOSConfig.h
Demo/CORTEX_LM3S102_KEIL/Demo1/main.c
Demo/CORTEX_LM3S102_KEIL/Demo2/FreeRTOSConfig.h
Demo/CORTEX_LM3S102_KEIL/Demo2/main.c
Demo/CORTEX_LM3S102_KEIL/FreeRTOSConfig.h
Demo/CORTEX_LM3S102_KEIL/ParTest/ParTest.c
Demo/CORTEX_LM3S102_KEIL/main.c
Demo/CORTEX_LM3S102_Rowley/Demo1/FreeRTOSConfig.h
Demo/CORTEX_LM3S102_Rowley/Demo1/ParTest.c
Demo/CORTEX_LM3S102_Rowley/Demo1/main.c
Demo/CORTEX_LM3S102_Rowley/Demo2/FreeRTOSConfig.h
Demo/CORTEX_LM3S102_Rowley/Demo2/ParTest.c
Demo/CORTEX_LM3S102_Rowley/Demo2/main.c
Demo/CORTEX_LM3S102_Rowley/Demo3/FreeRTOSConfig.h
Demo/CORTEX_LM3S102_Rowley/Demo3/ParTest.c
Demo/CORTEX_LM3S102_Rowley/Demo3/main.c
Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h
Demo/CORTEX_LM3S316_IAR/ParTest/ParTest.c
Demo/CORTEX_LM3S316_IAR/commstest.c
Demo/CORTEX_LM3S316_IAR/commstest.h
Demo/CORTEX_LM3S316_IAR/main.c
Demo/CORTEX_LM3S811_GCC/FreeRTOSConfig.h
Demo/CORTEX_LM3S811_GCC/main.c
Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h
Demo/CORTEX_LM3S811_IAR/main.c
Demo/CORTEX_LM3S811_KEIL/FreeRTOSConfig.h
Demo/CORTEX_LM3S811_KEIL/heap/heap_1.c
Demo/CORTEX_LM3S811_KEIL/main.c
Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/FreeRTOSConfig.h
Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/IntQueueTimer.c
Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/IntQueueTimer.h
Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/Makefile
Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/ParTest/ParTest.c
Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/main.c
Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/timertest.c
Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/emac.c
Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/webserver/uIP_Task.c
Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h
Demo/CORTEX_LM3Sxxxx_IAR_Keil/IntQueueTimer.c
Demo/CORTEX_LM3Sxxxx_IAR_Keil/IntQueueTimer.h
Demo/CORTEX_LM3Sxxxx_IAR_Keil/ParTest/ParTest.c
Demo/CORTEX_LM3Sxxxx_IAR_Keil/main.c
Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c
Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/emac.c
Demo/CORTEX_LM3Sxxxx_IAR_Keil/webserver/uIP_Task.c
Demo/CORTEX_LPC1766_GCC_RedSuite/FreeRTOSConfig.h
Demo/CORTEX_LPC1766_GCC_RedSuite/LED.c
Demo/CORTEX_LPC1766_GCC_RedSuite/LED.h
Demo/CORTEX_LPC1766_GCC_RedSuite/Makefile
Demo/CORTEX_LPC1766_GCC_RedSuite/main.c
Demo/CORTEX_LPC1766_GCC_RedSuite/webserver/uIP_Task.c
Demo/CORTEX_STM32F103_IAR/FreeRTOSConfig.h
Demo/CORTEX_STM32F103_IAR/ParTest/ParTest.c
Demo/CORTEX_STM32F103_IAR/main.c
Demo/CORTEX_STM32F103_IAR/serial/serial.c
Demo/CORTEX_STM32F103_IAR/timertest.c
Demo/CORTEX_STM32F103_Keil/FreeRTOSConfig.h
Demo/CORTEX_STM32F103_Keil/ParTest/ParTest.c
Demo/CORTEX_STM32F103_Keil/RTOSDemo.Opt
Demo/CORTEX_STM32F103_Keil/RTOSDemo.Uv2
Demo/CORTEX_STM32F103_Keil/RTOSDemo.plg
Demo/CORTEX_STM32F103_Keil/main.c
Demo/CORTEX_STM32F103_Keil/serial/serial.c
Demo/CORTEX_STM32F103_Keil/timertest.c
Demo/CORTEX_STM32F103_Primer_GCC/FreeRTOSConfig.h
Demo/CORTEX_STM32F103_Primer_GCC/ParTest/ParTest.c
Demo/CORTEX_STM32F103_Primer_GCC/bitmap.h
Demo/CORTEX_STM32F103_Primer_GCC/timertest.c
Demo/CORTEX_STM32F107_GCC_Rowley/FreeRTOSConfig.h
Demo/CORTEX_STM32F107_GCC_Rowley/FreeRTOSConfig.h.scsc
Demo/CORTEX_STM32F107_GCC_Rowley/ParTest/ParTest.c
Demo/CORTEX_STM32F107_GCC_Rowley/main.c
Demo/CORTEX_STM32F107_GCC_Rowley/scsc.tmp
Demo/CORTEX_STM32F107_GCC_Rowley/timertest.c
Demo/CORTEX_STM32F107_GCC_Rowley/webserver/emac.c
Demo/CORTEX_STM32F107_GCC_Rowley/webserver/emac.c.scsc
Demo/CORTEX_STM32F107_GCC_Rowley/webserver/emac.h
Demo/CORTEX_STM32F107_GCC_Rowley/webserver/emac.h.scsc
Demo/CORTEX_STM32F107_GCC_Rowley/webserver/uIP_Task.c
Demo/ColdFire_MCF51CN128_CodeWarrior/CFV1_BDM_P&E_Multilink_CyclonePro.hwc [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/CFV1_BDM_P&E_Multilink_CyclonePro.ini [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/CFV1_Full_Chip_Simulator.ini [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/C_Layout.hwl [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Default.mem [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/RTOSDemo.mcp [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/FEC.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/FEC.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/FreeRTOSConfig.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/ParTest/ParTest.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/derivative.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/eth.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/eth_phy.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/exceptions.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/exceptions.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/exceptions.old0.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/fecbd.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/clock-arch.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/http-strings [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/http-strings.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/http-strings.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-cgi.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-cgi.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/404.html [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/index.html [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/index.shtml [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/io.shtml [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/stats.shtml [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/tcp.shtml [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fsdata.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fsdata.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/makefsdata [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/makestrings [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/pack_struct_end.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/pack_struct_start.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/uIP_Task.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/uip-conf.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/webserver.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/main.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/mii.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/printf-stdarg.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/startcf.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/startcf.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/stdlib.c [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/stdlib.h [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Postload.cmd [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Preload.cmd [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Reset.cmd [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Startup.cmd [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Postload.cmd [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Preload.cmd [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Reset.cmd [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Startup.cmd [new file with mode: 0644]
Demo/ColdFire_MCF51CN128_CodeWarrior/prm/Project.lcf [new file with mode: 0644]
Demo/ColdFire_MCF52221_CodeWarrior/sources/FreeRTOSConfig.h
Demo/ColdFire_MCF52221_CodeWarrior/sources/FreeRTOS_Tick_Setup.c
Demo/ColdFire_MCF52221_CodeWarrior/sources/ParTest/ParTest.c
Demo/ColdFire_MCF52221_CodeWarrior/sources/main.c
Demo/ColdFire_MCF52221_CodeWarrior/sources/serial/serial.c
Demo/ColdFire_MCF52233_Eclipse/RTOSDemo/FreeRTOSConfig.h
Demo/ColdFire_MCF52233_Eclipse/RTOSDemo/FreeRTOS_Tick_Setup.c
Demo/ColdFire_MCF52233_Eclipse/RTOSDemo/ParTest/ParTest.c
Demo/ColdFire_MCF52233_Eclipse/RTOSDemo/main.c
Demo/ColdFire_MCF52233_Eclipse/RTOSDemo/webserver/FEC.c
Demo/ColdFire_MCF52233_Eclipse/RTOSDemo/webserver/uIP_Task.c
Demo/ColdFire_MCF52259_CodeWarrior/FreeRTOSConfig.h
Demo/ColdFire_MCF52259_CodeWarrior/FreeRTOS_Tick_Setup.c
Demo/ColdFire_MCF52259_CodeWarrior/HTTPDemo.c
Demo/ColdFire_MCF52259_CodeWarrior/HTTPDemo.h
Demo/ColdFire_MCF52259_CodeWarrior/ParTest/ParTest.c
Demo/ColdFire_MCF52259_CodeWarrior/main.c
Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/FreeRTOSConfig.h
Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/FreeRTOS_Tick_Setup.c
Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/IntQueueTimer.c
Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/IntQueueTimer.h
Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/ParTest/ParTest.c
Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/main.c
Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/serial/serial.c
Demo/Common/Full/BlockQ.c
Demo/Common/Full/PollQ.c
Demo/Common/Full/comtest.c
Demo/Common/Full/death.c
Demo/Common/Full/dynamic.c
Demo/Common/Full/events.c
Demo/Common/Full/flash.c
Demo/Common/Full/flop.c
Demo/Common/Full/integer.c
Demo/Common/Full/print.c
Demo/Common/Full/semtest.c
Demo/Common/Minimal/AltBlckQ.c
Demo/Common/Minimal/AltBlock.c
Demo/Common/Minimal/AltPollQ.c
Demo/Common/Minimal/AltQTest.c
Demo/Common/Minimal/BlockQ.c
Demo/Common/Minimal/GenQTest.c
Demo/Common/Minimal/IntQueue.c
Demo/Common/Minimal/PollQ.c
Demo/Common/Minimal/QPeek.c
Demo/Common/Minimal/blocktim.c
Demo/Common/Minimal/comtest.c
Demo/Common/Minimal/countsem.c
Demo/Common/Minimal/crflash.c
Demo/Common/Minimal/crhook.c
Demo/Common/Minimal/death.c
Demo/Common/Minimal/dynamic.c
Demo/Common/Minimal/flash.c
Demo/Common/Minimal/flop.c
Demo/Common/Minimal/integer.c
Demo/Common/Minimal/recmutex.c
Demo/Common/Minimal/semtest.c
Demo/Common/include/AltBlckQ.h
Demo/Common/include/AltBlock.h
Demo/Common/include/AltPollQ.h
Demo/Common/include/AltQTest.h
Demo/Common/include/BlockQ.h
Demo/Common/include/GenQTest.h
Demo/Common/include/IntQueue.h
Demo/Common/include/PollQ.h
Demo/Common/include/QPeek.h
Demo/Common/include/blocktim.h
Demo/Common/include/comtest.h
Demo/Common/include/comtest2.h
Demo/Common/include/countsem.h
Demo/Common/include/crflash.h
Demo/Common/include/crhook.h
Demo/Common/include/death.h
Demo/Common/include/dynamic.h
Demo/Common/include/fileIO.h
Demo/Common/include/flash.h
Demo/Common/include/flop.h
Demo/Common/include/integer.h
Demo/Common/include/mevents.h
Demo/Common/include/partest.h
Demo/Common/include/print.h
Demo/Common/include/recmutex.h
Demo/Common/include/semtest.h
Demo/Common/include/serial.h
Demo/Cygnal/FreeRTOSConfig.h
Demo/Cygnal/Makefile
Demo/Cygnal/ParTest/ParTest.c
Demo/Cygnal/main.c
Demo/Cygnal/serial/serial.c
Demo/Flshlite/FRConfig.h
Demo/Flshlite/FileIO/fileIO.c
Demo/Flshlite/FreeRTOSConfig.h
Demo/Flshlite/ParTest/ParTest.c
Demo/Flshlite/main.c
Demo/Flshlite/serial/serial.c
Demo/H8S/RTOSDemo/FreeRTOSConfig.h
Demo/H8S/RTOSDemo/ParTest/ParTest.c
Demo/H8S/RTOSDemo/main.c
Demo/H8S/RTOSDemo/serial/serial.c
Demo/HCS12_CodeWarrior_banked/FreeRTOSConfig.h
Demo/HCS12_CodeWarrior_banked/ParTest/ParTest.c
Demo/HCS12_CodeWarrior_banked/main.c
Demo/HCS12_CodeWarrior_banked/serial/serial.c
Demo/HCS12_CodeWarrior_small/FreeRTOSConfig.h
Demo/HCS12_CodeWarrior_small/ParTest/ParTest.c
Demo/HCS12_CodeWarrior_small/main.c
Demo/HCS12_CodeWarrior_small/serial/serial.c
Demo/HCS12_GCC_banked/FreeRTOSConfig.h
Demo/HCS12_GCC_banked/ParTest.c
Demo/HCS12_GCC_banked/main.c
Demo/HCS12_GCC_banked/startup.c
Demo/MB91460_Softune/SRC/FreeRTOSConfig.h
Demo/MB91460_Softune/SRC/crflash_modified.c
Demo/MB91460_Softune/SRC/main.c
Demo/MB91460_Softune/SRC/partest/partest.c
Demo/MB91460_Softune/SRC/serial/serial.c
Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/FreeRTOSConfig.h
Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/crflash_sk16fx100mpc.c
Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/main.c
Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/partest/partest.c
Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/serial/serial.c
Demo/MB96350_Softune_Dice_Kit/DiceTask.c
Demo/MB96350_Softune_Dice_Kit/DiceTask.h
Demo/MB96350_Softune_Dice_Kit/FreeRTOSConfig.h
Demo/MB96350_Softune_Dice_Kit/ParTest/ParTest.c
Demo/MB96350_Softune_Dice_Kit/SegmentToggleTasks.c
Demo/MB96350_Softune_Dice_Kit/main.c
Demo/MicroBlaze/FreeRTOSConfig.h
Demo/MicroBlaze/ParTest/ParTest.c
Demo/MicroBlaze/main.c
Demo/MicroBlaze/serial/serial.c
Demo/NEC_78K0R_IAR/ButtonISR.s26
Demo/NEC_78K0R_IAR/ButtonTask.c
Demo/NEC_78K0R_IAR/FreeRTOSConfig.h
Demo/NEC_78K0R_IAR/RegTest.s26
Demo/NEC_78K0R_IAR/main.c
Demo/NEC_V850ES_IAR/FreeRTOSConfig.h
Demo/NEC_V850ES_IAR/LowLevelInit/LowLevelInit.c
Demo/NEC_V850ES_IAR/LowLevelInit/LowLevelInit_Fx3.c
Demo/NEC_V850ES_IAR/LowLevelInit/LowLevelInit_Hx2.c
Demo/NEC_V850ES_IAR/ParTest/ParTest_Fx3_App_Board.c
Demo/NEC_V850ES_IAR/ParTest/ParTest_Generic_Target_Board.c
Demo/NEC_V850ES_IAR/RegTest.s85
Demo/NEC_V850ES_IAR/main.c
Demo/NEC_V850ES_IAR/serial/serial.c
Demo/PC/FRConfig.h
Demo/PC/FileIO/fileIO.c
Demo/PC/FreeRTOSConfig.h
Demo/PC/ParTest/ParTest.c
Demo/PC/main.c
Demo/PC/serial/serial.c
Demo/PIC18_MPLAB/FreeRTOSConfig.h
Demo/PIC18_MPLAB/ParTest/ParTest.c
Demo/PIC18_MPLAB/main1.c
Demo/PIC18_MPLAB/main2.c
Demo/PIC18_MPLAB/main3.c
Demo/PIC18_MPLAB/serial/serial.c
Demo/PIC18_WizC/Demo1/FreeRTOSConfig.h
Demo/PIC18_WizC/Demo1/WIZCmake.h
Demo/PIC18_WizC/Demo1/fuses.c
Demo/PIC18_WizC/Demo1/interrupt.c
Demo/PIC18_WizC/Demo1/main.c
Demo/PIC18_WizC/Demo2/FreeRTOSConfig.h
Demo/PIC18_WizC/Demo2/WIZCmake.h
Demo/PIC18_WizC/Demo2/fuses.c
Demo/PIC18_WizC/Demo2/interrupt.c
Demo/PIC18_WizC/Demo2/main.c
Demo/PIC18_WizC/Demo3/FreeRTOSConfig.h
Demo/PIC18_WizC/Demo3/WIZCmake.h
Demo/PIC18_WizC/Demo3/fuses.c
Demo/PIC18_WizC/Demo3/interrupt.c
Demo/PIC18_WizC/Demo3/main.c
Demo/PIC18_WizC/Demo4/FreeRTOSConfig.h
Demo/PIC18_WizC/Demo4/WIZCmake.h
Demo/PIC18_WizC/Demo4/fuses.c
Demo/PIC18_WizC/Demo4/interrupt.c
Demo/PIC18_WizC/Demo4/main.c
Demo/PIC18_WizC/Demo5/FreeRTOSConfig.h
Demo/PIC18_WizC/Demo5/WIZCmake.h
Demo/PIC18_WizC/Demo5/fuses.c
Demo/PIC18_WizC/Demo5/interrupt.c
Demo/PIC18_WizC/Demo5/main.c
Demo/PIC18_WizC/Demo6/FreeRTOSConfig.h
Demo/PIC18_WizC/Demo6/WIZCmake.h
Demo/PIC18_WizC/Demo6/fuses.c
Demo/PIC18_WizC/Demo6/interrupt.c
Demo/PIC18_WizC/Demo6/main.c
Demo/PIC18_WizC/Demo7/FreeRTOSConfig.h
Demo/PIC18_WizC/Demo7/WIZCmake.h
Demo/PIC18_WizC/Demo7/fuses.c
Demo/PIC18_WizC/Demo7/interrupt.c
Demo/PIC18_WizC/Demo7/main.c
Demo/PIC18_WizC/ParTest/ParTest.c
Demo/PIC18_WizC/serial/isrSerialRx.c
Demo/PIC18_WizC/serial/isrSerialTx.c
Demo/PIC18_WizC/serial/serial.c
Demo/PIC24_MPLAB/FreeRTOSConfig.h
Demo/PIC24_MPLAB/ParTest/ParTest.c
Demo/PIC24_MPLAB/lcd.c
Demo/PIC24_MPLAB/lcd.h
Demo/PIC24_MPLAB/main.c
Demo/PIC24_MPLAB/serial/serial.c
Demo/PIC24_MPLAB/timertest.c
Demo/PIC24_MPLAB/timertest.h
Demo/PIC32MX_MPLAB/FreeRTOSConfig.h
Demo/PIC32MX_MPLAB/IntQueueTimer.c
Demo/PIC32MX_MPLAB/IntQueueTimer.h
Demo/PIC32MX_MPLAB/IntQueueTimer_isr.S
Demo/PIC32MX_MPLAB/ParTest/ParTest.c
Demo/PIC32MX_MPLAB/RegisterTestTasks.s
Demo/PIC32MX_MPLAB/lcd.c
Demo/PIC32MX_MPLAB/lcd.h
Demo/PIC32MX_MPLAB/main.c
Demo/PIC32MX_MPLAB/serial/serial.c
Demo/PIC32MX_MPLAB/timertest.c
Demo/PIC32MX_MPLAB/timertest.h
Demo/PIC32MX_MPLAB/timertest_isr.S
Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h
Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.c
Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.h
Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop.c
Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/main.c
Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c
Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.c
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.h
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop.c
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c
Demo/WizNET_DEMO_GCC_ARM7/FreeRTOSConfig.h
Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.c
Demo/WizNET_DEMO_GCC_ARM7/HTTP_Serv.h
Demo/WizNET_DEMO_GCC_ARM7/Makefile
Demo/WizNET_DEMO_GCC_ARM7/TCP.c
Demo/WizNET_DEMO_GCC_ARM7/TCP.h
Demo/WizNET_DEMO_GCC_ARM7/TCPISR.c
Demo/WizNET_DEMO_GCC_ARM7/html_pages.h
Demo/WizNET_DEMO_GCC_ARM7/i2c.c
Demo/WizNET_DEMO_GCC_ARM7/i2c.h
Demo/WizNET_DEMO_GCC_ARM7/i2cISR.c
Demo/WizNET_DEMO_GCC_ARM7/main.c
Demo/WizNET_DEMO_TERN_186/FreeRTOSConfig.h
Demo/WizNET_DEMO_TERN_186/HTTPTask.c
Demo/WizNET_DEMO_TERN_186/HTTPTask.h
Demo/WizNET_DEMO_TERN_186/main.c
Demo/WizNET_DEMO_TERN_186/serial/serial.c
Demo/dsPIC_MPLAB/FreeRTOSConfig.h
Demo/dsPIC_MPLAB/ParTest/ParTest.c
Demo/dsPIC_MPLAB/lcd.c
Demo/dsPIC_MPLAB/lcd.h
Demo/dsPIC_MPLAB/main.c
Demo/dsPIC_MPLAB/serial/serial.c
Demo/dsPIC_MPLAB/timertest.c
Demo/dsPIC_MPLAB/timertest.h
Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.c
Demo/lwIP_Demo_Rowley_ARM7/BasicWEB.h
Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.c
Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC.h
Demo/lwIP_Demo_Rowley_ARM7/EMAC/SAM7_EMAC_ISR.c
Demo/lwIP_Demo_Rowley_ARM7/FreeRTOSConfig.h
Demo/lwIP_Demo_Rowley_ARM7/ParTest/ParTest.c
Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.c
Demo/lwIP_Demo_Rowley_ARM7/USB/USB-CDC.h
Demo/lwIP_Demo_Rowley_ARM7/USB/USBIsr.c
Demo/lwIP_Demo_Rowley_ARM7/USB/descriptors.h
Demo/lwIP_Demo_Rowley_ARM7/USB/usb.h
Demo/lwIP_Demo_Rowley_ARM7/main.c
Demo/lwIP_Demo_Rowley_ARM7/makefile
Demo/msp430_CrossWorks/FreeRTOSConfig.h
Demo/msp430_CrossWorks/ParTest/ParTest.c
Demo/msp430_CrossWorks/main.c
Demo/msp430_CrossWorks/serial/serial.c
Demo/msp430_CrossWorks/serial/serialASM.asm
Demo/msp430_GCC/FreeRTOSConfig.h
Demo/msp430_GCC/ParTest/ParTest.c
Demo/msp430_GCC/main.c
Demo/msp430_GCC/makefile
Demo/msp430_GCC/serial/serial.c
Demo/msp430_IAR/FreeRTOSConfig.h
Demo/msp430_IAR/ParTest/ParTest.c
Demo/msp430_IAR/main.c
Demo/msp430_IAR/serial/serial.c
Demo/msp430_IAR/serial/serialASM.s43
Demo/uIP_Demo_IAR_ARM7/EMAC/EMAClISR.s79
Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.c
Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h
Demo/uIP_Demo_IAR_ARM7/ParTest/ParTest.c
Demo/uIP_Demo_IAR_ARM7/main.c
Demo/uIP_Demo_Rowley_ARM7/FreeRTOSConfig.h
Demo/uIP_Demo_Rowley_ARM7/main.c

index 9d5ea6379465055bd1b04b6a75f564534a0accb8..ffe3c2acd774fc23e1937a69a662fc30965b840f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 91e2bd9c3469c64e58d22b8d305f1b6217d0a5ce..fa07b20f140a69413754e42cffc9d06a90ebf101 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index d9b5210820de0a9ebca6ea4a0e7f559abb599a18..0e23bc6b4f87e367b4bd273853b16aa3cec2c838 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 6a8095d216eb52c30556945cc0db19cd06b21a23..ef3b8e70145bbf2758282eb8d602bba306526776 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0bd73fb0e30713a893b4f66c9c2e2f7c2e9dcb4c..d200da56435baac8d676893846167d1664e4a84f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ad409c8a960e2ca68f6aad68ea01d39974a163a6..354a535afe93eb03c73daded1762d0e0c2747696 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b977c76e13e5a1963cfe804350b8fd7515e6852b..5265976e2b4eea3f832f48ed5d9772723114472c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 4b99cfbb0804e8bd3e8380d9f49ac2871169404c..6a6b338b25bc378b05dc9795580843a106ad34b5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index fcc0e6c650a9fcc02e8c7ee957d7777c4d27e0c1..f7da201d6bb483a6bf4603054b8c04dab9c6ba07 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0a769d4a5447abc255a176bdaaeac1b1cf1cc0de..34a8c2debdc1c75ac6a2cc12b7b5527ce4b4f63d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index dfe15b4e5187945a39ac62880ec9ab6925292274..cad96f056bfcf4569b0ac14d5e4fca96bd2f898c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b977c76e13e5a1963cfe804350b8fd7515e6852b..5265976e2b4eea3f832f48ed5d9772723114472c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ad409c8a960e2ca68f6aad68ea01d39974a163a6..354a535afe93eb03c73daded1762d0e0c2747696 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 234a68e17fa8c141c01eb5a8934d16425e7c562c..c9addc1d32e587521d5dc56bc8300e87307b3f8f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 4b99cfbb0804e8bd3e8380d9f49ac2871169404c..6a6b338b25bc378b05dc9795580843a106ad34b5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1c794fa73d68e01e5adc8b640a10c276368574cd..7aa834181fc8181dfa3872bbc83ecab044dd25f2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 935bd62ee69ddf91e9f65af2a6936ece62b2115b..4b656b77a7f130dcaaa3e801518aee1c2fbfb6c6 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index dfe15b4e5187945a39ac62880ec9ab6925292274..cad96f056bfcf4569b0ac14d5e4fca96bd2f898c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 234a68e17fa8c141c01eb5a8934d16425e7c562c..c9addc1d32e587521d5dc56bc8300e87307b3f8f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0a769d4a5447abc255a176bdaaeac1b1cf1cc0de..34a8c2debdc1c75ac6a2cc12b7b5527ce4b4f63d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index dfe15b4e5187945a39ac62880ec9ab6925292274..cad96f056bfcf4569b0ac14d5e4fca96bd2f898c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7ea318fe46a64ce3b992927cb8b8fc935295dea6..5743bf201b70bcbbb12714d2c52d703146f3103a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5cce48cee260ceafa304ff9bed41a8d165208cc6..2a061cd35114f1b48709a2423ae681c3311a9796 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index dfe15b4e5187945a39ac62880ec9ab6925292274..cad96f056bfcf4569b0ac14d5e4fca96bd2f898c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0d10e4aca2f55fede20a8313bb33335f161d18ce..ca7728ceca39453cfd0a924320948696ee2c8c29 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 157c7e9c52ccde3fd8af3252b8329c3d3dc7ea48..4616d298c950611729b67af6d8c0fa12d036c954 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0e1d2d15e4b7bace5dbad83d31466c0266f4b583..cd38159ff391a48ead9cec720b16ee7cc3bedf40 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 939d89fd303bc409531f45ff4a139c8474bac5c5..d6babf58bf9b10f4e5f45138a682a85418c50813 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9623b9e1c97c8c9624a14c3758a1ccdbea84ce27..7de1f4432d2a5dba979206b2e19681effd47ff29 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index dfe15b4e5187945a39ac62880ec9ab6925292274..cad96f056bfcf4569b0ac14d5e4fca96bd2f898c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a0890c495aba3652c8d7ee21fc36f8dc34a2ec8e..6b144904183ebc5226278dea636cbd2870a7218e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 18364d2f367a3c1958f15aea12dba84e1240938e..63436f091f7a8ca3bfc917b64fe7685a745fb7d4 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5c3a12d1fca04191dc832d5f949e51a78b65bd8d..7ac22b60021badde5a4024216a96117eeefc3f42 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 25d41c021d1f5d68b3edfa200246f1c42b5a9d24..484f21d1de2c9190c01a93702f159ad8fd7ec9c9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 67eeee90beb68bf10c8d3171f007c28e47694d40..e68bf5658d6ebc50198769b51a14c708df43fe37 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2b4745f206392c7afdb9d12ab34e8231dd0840df..c604919cf5ff040d7b2fef8e89a1fc01fd95befe 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 97197ede789efcdbf6a1c504308f949cb9474c97..cceaf67f40b72e9a9ce6bcf30ac5e9a7e418ccbb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0d921d9fb009bd337155ac4cae2eab7546b1e87d..0597673721e410b0ead1fd331c49e099026723ae 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a08443de12107ec2bcbfaa6eabccf6d11a5cf232..f5dc978ddd109c1ed2f46b5b3bddc220181e777d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7c54a0296307f41219ab99af6c1ac05cf1dd03bd..c217ad0cc1c03e1742e60d9ae624401eb2ff0e84 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 008c4dfbaeb1cb3151e39d126f0331d38b567d9e..2f943a8fd53d328874e6285a1341ff4c95dec4c3 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8b21934f4a4f2e14ac85b86599a95d6400d654e5..2469bc389dd7e30f6683073056c392dc0f9eeea0 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index fb69716037c3c582359377f46c88fbef5da4ecd0..fedfdb464efb9c3b1732c8cb8b82088889c6a99b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 043bcf9ec8c5111993600cbfff0f2db028d13405..b7fe4728a42f4c11d587735f5c3321d51271cd61 100644 (file)
@@ -1,5 +1,5 @@
 #/*\r
-#      FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+#      FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 #\r
 #      This file is part of the FreeRTOS.org distribution.\r
 #\r
index 59417d2b38c50015de17a41cde4dee32324260b8..fb9ebc219fcb20f3e595a49c171861dc3f94dfe5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index d98f0d602dc56b5437468906a0dee687c96cc3cf..5a79e2e5b13c8fdcd731622d2d1e757ce37e93cd 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9868f3bf38eed16bb5e066ee6951ed80314ee3b7..e59b74998b723c66759c1651fa2198c05282ad7f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index fa016523fc2f31ee24301381acca67dc42f15664..92b67973e1ba2c6dd67e01c5b4f3768528a6bfbb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7757a7d757f2bf4ac549cfb5959ee45a531451ee..f326212f0b0d627787335bb8a86ac2c277ab49fb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2c44cfdc197373e50b0c70ba4bfbb6752da17b12..4ebedf5b92ac2a8be8f7c571a49291f3ed64c4f5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8b21934f4a4f2e14ac85b86599a95d6400d654e5..2469bc389dd7e30f6683073056c392dc0f9eeea0 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index fb69716037c3c582359377f46c88fbef5da4ecd0..fedfdb464efb9c3b1732c8cb8b82088889c6a99b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 59417d2b38c50015de17a41cde4dee32324260b8..fb9ebc219fcb20f3e595a49c171861dc3f94dfe5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 11516f470cfc6b61817c4cb4a55a06603770e36f..f9471b9ea61fe0bfb2b8647d8a682ff69835cf56 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2295551552e7d7179b36fd9d145008a32ae2fe02..f3685c765462c816f880320be5e491c5c2c98cc6 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index edbe4bcb071be4ea9914def5f14b4adbba683d13..744651976ef382ec1f844518d8860295743389be 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e0c44947a86124f95f98ec23a81a77299548fa57..74b7a2afe121bc28ece7b5da19dfd4568fbcd403 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b318f655e3a425e1951132f4ba38cc984ce194f6..5286cfc45b04f7894d09a4abbad688af934cbc9f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e1ff67ed71b2ac391b6404ee12a6fb2f603e841e..2612bf78d4619023d59b460356318078ba27ea0e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c7831e58e2a1329f19ccbb1af3a13cb879043f0f..a4c6d8f81f9fbbfc90d9ad37ccffe49be7e032e8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 61f57cb599006beda8ce4d1a1bda28b4cb784443..3fbf3a21513792389c0746e903305a8839e5ae11 100644 (file)
@@ -1,5 +1,5 @@
 #/*\r
-#      FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+#      FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 #\r
 #      This file is part of the FreeRTOS.org distribution.\r
 #\r
index 36a3f296264dfd80ba852723b231fc2eb02e045f..813f7f2680d9526ea014e62cf6240c51e051eb05 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8fbcb6243d747e22183e44bdea97ea6d089d000a..59bf08fce4a99d126a7d1bde6c2ec1228036a5b0 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bba91d59a15bda5f14778e2cbded8cdd80210276..9121dbebd40042ab4aa693141dd02eddb3a77fc5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0abfdd6ad62395105b63a5eb78ae1e7147957238..a2705f664ee6764397bec800ae34512b051a23e2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b314c1285b198ee85193d529fde4a03547088c23..a9ef34d4d1992b97e345003b942f27a90d13ee7d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index db8abb595e3f882d86705b387775725475956939..082300826e080298ec30f728b3728e518e766678 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 49fe98d14baef66650c0a03ccd74db1ebada65a3..0195729e7fb86c4090a59527445f721dad65f428 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bba91d59a15bda5f14778e2cbded8cdd80210276..9121dbebd40042ab4aa693141dd02eddb3a77fc5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0abfdd6ad62395105b63a5eb78ae1e7147957238..a2705f664ee6764397bec800ae34512b051a23e2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5a5c2003a954658222c848f655fb298eb481d673..21e5398558004772550e0dd21c2efb06bbe0f717 100644 (file)
  DaveTm { 0,0,0,0,0,0,0,0 }\r
 \r
 Target (Target 1), 0x0004 // Tools: 'ARM-ADS'\r
-GRPOPT 1,(System),0,0,0\r
+GRPOPT 1,(System),1,0,0\r
 GRPOPT 2,(Demo Files),0,0,0\r
 GRPOPT 3,(FreeRTOS files),0,0,0\r
 \r
 OPTFFF 1,1,2,0,0,0,0,0,<.\STM32F10x.s><STM32F10x.s> \r
-OPTFFF 1,2,1,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\lcd.c><lcd.c> \r
-OPTFFF 1,3,2,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\cortexm3_macro_rvds.s><cortexm3_macro_rvds.s> \r
-OPTFFF 1,4,1,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_usart.c><stm32f10x_usart.c> \r
-OPTFFF 1,5,1,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_gpio.c><stm32f10x_gpio.c> \r
-OPTFFF 1,6,1,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_lib.c><stm32f10x_lib.c> \r
-OPTFFF 1,7,1,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_nvic.c><stm32f10x_nvic.c> \r
-OPTFFF 1,8,1,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_rcc.c><stm32f10x_rcc.c> \r
-OPTFFF 1,9,1,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_spi.c><stm32f10x_spi.c> \r
-OPTFFF 1,10,1,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_systick.c><stm32f10x_systick.c> \r
-OPTFFF 1,11,1,0,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_tim.c><stm32f10x_tim.c> \r
+OPTFFF 1,2,1,234881024,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\lcd.c><lcd.c> \r
+OPTFFF 1,3,2,704643072,0,0,0,0,<..\Common\drivers\ST\STM32F10xFWLib\src\cortexm3_macro_rvds.s><cortexm3_macro_rvds.s> \r
+OPTFFF 1,4,1,0,0,0,0,0,<.\STM32F10xFWLib\src\stm32f10x_usart.c><stm32f10x_usart.c> \r
+OPTFFF 1,5,1,0,0,0,0,0,<.\STM32F10xFWLib\src\stm32f10x_gpio.c><stm32f10x_gpio.c> \r
+OPTFFF 1,6,1,0,0,0,0,0,<.\STM32F10xFWLib\src\stm32f10x_lib.c><stm32f10x_lib.c> \r
+OPTFFF 1,7,1,0,0,0,0,0,<.\STM32F10xFWLib\src\stm32f10x_nvic.c><stm32f10x_nvic.c> \r
+OPTFFF 1,8,1,0,0,0,0,0,<.\STM32F10xFWLib\src\stm32f10x_rcc.c><stm32f10x_rcc.c> \r
+OPTFFF 1,9,1,0,0,0,0,0,<.\STM32F10xFWLib\src\stm32f10x_spi.c><stm32f10x_spi.c> \r
+OPTFFF 1,10,1,0,0,0,0,0,<.\STM32F10xFWLib\src\stm32f10x_systick.c><stm32f10x_systick.c> \r
+OPTFFF 1,11,1,0,0,0,0,0,<.\STM32F10xFWLib\src\stm32f10x_tim.c><stm32f10x_tim.c> \r
 OPTFFF 2,12,1,285212672,0,0,0,0,<.\ParTest\ParTest.c><ParTest.c> \r
 OPTFFF 2,13,1,0,0,0,0,0,<.\serial\serial.c><serial.c> \r
 OPTFFF 2,14,1,0,0,0,0,0,<.\timertest.c><timertest.c> \r
-OPTFFF 2,15,1,117440512,0,0,0,0,<.\main.c><main.c> \r
+OPTFFF 2,15,1,2,0,179,199,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,233,255,255,255,132,0,0,0,132,0,0,0,55,4,0,0,197,1,0,0 }\r
 OPTFFF 2,16,1,0,0,0,0,0,<.\spi_flash.c><spi_flash.c> \r
 OPTFFF 2,17,1,0,0,0,0,0,<..\Common\Minimal\semtest.c><semtest.c> \r
 OPTFFF 2,18,1,0,0,0,0,0,<..\Common\Minimal\BlockQ.c><BlockQ.c> \r
@@ -57,15 +57,14 @@ TARGOPT 1, (Target 1)
   OPTFL 1,0,1\r
   OPTAX 255\r
   OPTDL (SARMCM3.DLL)()(DARMSTM.DLL)(-pSTM32F103VB)(SARMCM3.DLL)()(TARMSTM.DLL)(-pSTM32F103VB)\r
-  OPTDBG 48126,1,()()()()()()()()()() (BIN\UL2CM3.DLL)()()()\r
+  OPTDBG 42998,1,()()()()()()()()()() (BIN\UL2CM3.DLL)()()()\r
   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)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0))\r
   OPTKEY 0,(DLGUARM)((105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0))\r
   OPTKEY 0,(DLGDARM)((1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0))\r
   OPTKEY 0,(ARMDBGFLAGS)(-T0)\r
   OPTKEY 0,(JLTAgdi)(-O1038 -J1 -Y1000 -Z1 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000)\r
-  OPTKEY 0,(UL2CM3)(-UU0226F8E -O14 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06410041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP7 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000)\r
-  OPTBB 0,0,237,1,134228048,0,0,0,0,1,<serial.c>()()\r
-  OPTDF 0x82\r
+  OPTKEY 0,(UL2CM3)(-UU0605F6E -O47 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06410041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP7 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000)\r
+  OPTDF 0x86\r
   OPTLE <>\r
   OPTLC <>\r
 EndOpt\r
index 183c541564119b59c01b3d24c78c67eac24086c9..aebef101cb9cb298862b4b3a78adccfa6c47f055 100644 (file)
@@ -10,14 +10,14 @@ Group (FreeRTOS files)
 File 1,2,<.\STM32F10x.s><STM32F10x.s>\r
 File 1,1,<..\Common\drivers\ST\STM32F10xFWLib\src\lcd.c><lcd.c>\r
 File 1,2,<..\Common\drivers\ST\STM32F10xFWLib\src\cortexm3_macro_rvds.s><cortexm3_macro_rvds.s>\r
-File 1,1,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_usart.c><stm32f10x_usart.c>\r
-File 1,1,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_gpio.c><stm32f10x_gpio.c>\r
-File 1,1,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_lib.c><stm32f10x_lib.c>\r
-File 1,1,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_nvic.c><stm32f10x_nvic.c>\r
-File 1,1,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_rcc.c><stm32f10x_rcc.c>\r
-File 1,1,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_spi.c><stm32f10x_spi.c>\r
-File 1,1,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_systick.c><stm32f10x_systick.c>\r
-File 1,1,<..\Common\drivers\ST\STM32F10xFWLib\src\stm32f10x_tim.c><stm32f10x_tim.c>\r
+File 1,1,<.\STM32F10xFWLib\src\stm32f10x_usart.c><stm32f10x_usart.c>\r
+File 1,1,<.\STM32F10xFWLib\src\stm32f10x_gpio.c><stm32f10x_gpio.c>\r
+File 1,1,<.\STM32F10xFWLib\src\stm32f10x_lib.c><stm32f10x_lib.c>\r
+File 1,1,<.\STM32F10xFWLib\src\stm32f10x_nvic.c><stm32f10x_nvic.c>\r
+File 1,1,<.\STM32F10xFWLib\src\stm32f10x_rcc.c><stm32f10x_rcc.c>\r
+File 1,1,<.\STM32F10xFWLib\src\stm32f10x_spi.c><stm32f10x_spi.c>\r
+File 1,1,<.\STM32F10xFWLib\src\stm32f10x_systick.c><stm32f10x_systick.c>\r
+File 1,1,<.\STM32F10xFWLib\src\stm32f10x_tim.c><stm32f10x_tim.c>\r
 File 2,1,<.\ParTest\ParTest.c><ParTest.c>\r
 File 2,1,<.\serial\serial.c><serial.c>\r
 File 2,1,<.\timertest.c><timertest.c>\r
@@ -85,7 +85,7 @@ Options 1,0,0  // Target 'Target 1'
  ADSFLGA { 243,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }\r
  ACPUTYP ("Cortex-M3")\r
  RVDEV ()\r
- ADSTFLGA { 0,12,0,2,99,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0 }\r
+ ADSTFLGA { 0,12,0,18,99,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0 }\r
  OCMADSOCM { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }\r
  OCMADSIRAM { 0,0,0,0,32,0,80,0,0 }\r
  OCMADSIROM { 1,0,0,0,8,0,0,2,0 }\r
@@ -96,7 +96,7 @@ Options 1,0,0  // Target 'Target 1'
  ADSCMISC ()\r
  ADSCDEFN (RVDS_ARMCM3_LM3S102)\r
  ADSCUDEF ()\r
- ADSCINCD (..\CORTEX_STM32F103_Keil;..\Common\include;..\..\Source\include;..\Common\drivers\ST\STM32F10xFWLib\inc)\r
+ ADSCINCD (..\CORTEX_STM32F103_Keil;..\Common\include;..\..\Source\include;.\STM32F10xFWLib\inc)\r
  ADSASFLG { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }\r
  ADSAMISC ()\r
  ADSADEFN ()\r
@@ -121,7 +121,7 @@ Options 1,0,0  // Target 'Target 1'
  ADSLDIF ()\r
  ADSLDDW ()\r
   OPTDL (SARMCM3.DLL)()(DARMSTM.DLL)(-pSTM32F103VB)(SARMCM3.DLL)()(TARMSTM.DLL)(-pSTM32F103VB)\r
-  OPTDBG 48126,1,()()()()()()()()()() (BIN\UL2CM3.DLL)()()()\r
+  OPTDBG 42998,1,()()()()()()()()()() (BIN\UL2CM3.DLL)()()()\r
  FLASH1 { 9,0,0,0,1,0,0,0,1,16,0,0,0,0,0,0,0,0,0,0 }\r
  FLASH2 (BIN\UL2CM3.DLL)\r
  FLASH3 ("" ())\r
index 4b397021844fa50e6cb19927913c151dd78c1de5..32b7cbfe07c7358650f9aabbcf56d43d30a55113 100644 (file)
@@ -3,7 +3,180 @@
 <pre>\r
 <h1>µVision3 Build Log</h1>\r
 <h2>Project:</h2>\r
-C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\CORTEX_STM32F103_Keil\RTOSDemo.uv2\r
-Project File Date:  05/21/2008\r
+C:\E\temp\rc\4\FreeRTOSV5.3.1\Demo\CORTEX_STM32F103_Keil\RTOSDemo.uv2\r
+Project File Date:  06/21/2009\r
 \r
 <h2>Output:</h2>\r
+Build target 'Target 1'\r
+assembling STM32F10x.s...\r
+compiling lcd.c...\r
+assembling cortexm3_macro_rvds.s...\r
+compiling stm32f10x_usart.c...\r
+compiling stm32f10x_gpio.c...\r
+compiling stm32f10x_lib.c...\r
+compiling stm32f10x_nvic.c...\r
+compiling stm32f10x_rcc.c...\r
+compiling stm32f10x_spi.c...\r
+compiling stm32f10x_systick.c...\r
+compiling stm32f10x_tim.c...\r
+compiling ParTest.c...\r
+compiling serial.c...\r
+compiling timertest.c...\r
+compiling main.c...\r
+compiling spi_flash.c...\r
+compiling semtest.c...\r
+compiling BlockQ.c...\r
+compiling blocktim.c...\r
+compiling comtest.c...\r
+compiling death.c...\r
+compiling flash.c...\r
+compiling integer.c...\r
+compiling PollQ.c...\r
+compiling tasks.c...\r
+compiling list.c...\r
+compiling queue.c...\r
+compiling port.c...\r
+compiling heap_2.c...\r
+linking...\r
+Program Size: Code=22904 RO-data=14540 RW-data=256 ZI-data=18488  \r
+"RTOSDemo.axf" - 0 Error(s), 0 Warning(s).\r
+Load "C:\\E\\temp\\rc\\4\\FreeRTOSV5.3.1\\Demo\\CORTEX_STM32F103_Keil\\RTOSDemo.AXF" \r
+Erase Done.\r
+Programming Done.\r
+Verify OK.\r
+Clean started: Project: 'RTOSDemo'\r
+   deleting intermediate output files for target 'Target 1'\r
+Build target 'Target 1'\r
+assembling STM32F10x.s...\r
+compiling lcd.c...\r
+assembling cortexm3_macro_rvds.s...\r
+compiling stm32f10x_usart.c...\r
+compiling stm32f10x_gpio.c...\r
+compiling stm32f10x_lib.c...\r
+compiling stm32f10x_nvic.c...\r
+compiling stm32f10x_rcc.c...\r
+compiling stm32f10x_spi.c...\r
+compiling stm32f10x_systick.c...\r
+compiling stm32f10x_tim.c...\r
+compiling ParTest.c...\r
+compiling serial.c...\r
+compiling timertest.c...\r
+compiling main.c...\r
+compiling spi_flash.c...\r
+compiling semtest.c...\r
+compiling BlockQ.c...\r
+compiling blocktim.c...\r
+compiling comtest.c...\r
+compiling death.c...\r
+compiling flash.c...\r
+compiling integer.c...\r
+compiling PollQ.c...\r
+compiling tasks.c...\r
+compiling list.c...\r
+compiling queue.c...\r
+compiling port.c...\r
+compiling heap_2.c...\r
+linking...\r
+Program Size: Code=22904 RO-data=14540 RW-data=256 ZI-data=18488  \r
+"RTOSDemo.axf" - 0 Error(s), 0 Warning(s).\r
+Load "C:\\E\\temp\\rc\\4\\FreeRTOSV5.3.1\\Demo\\CORTEX_STM32F103_Keil\\RTOSDemo.AXF" \r
+Erase Done.\r
+Programming Done.\r
+Verify OK.\r
+Load "C:\\E\\temp\\rc\\4\\FreeRTOSV5.3.1\\Demo\\CORTEX_STM32F103_Keil\\RTOSDemo.AXF" \r
+Erase Done.\r
+Programming Done.\r
+Verify OK.\r
+Build target 'Target 1'\r
+linking...\r
+Program Size: Code=22904 RO-data=14540 RW-data=256 ZI-data=18488  \r
+"RTOSDemo.axf" - 0 Error(s), 0 Warning(s).\r
+Load "C:\\E\\temp\\rc\\4\\FreeRTOSV5.3.1\\Demo\\CORTEX_STM32F103_Keil\\RTOSDemo.AXF" \r
+Erase Done.\r
+Programming Done.\r
+Verify OK.\r
+Build target 'Target 1'\r
+assembling STM32F10x.s...\r
+compiling lcd.c...\r
+assembling cortexm3_macro_rvds.s...\r
+compiling stm32f10x_usart.c...\r
+compiling stm32f10x_gpio.c...\r
+compiling stm32f10x_lib.c...\r
+compiling stm32f10x_nvic.c...\r
+compiling stm32f10x_rcc.c...\r
+compiling stm32f10x_spi.c...\r
+compiling stm32f10x_systick.c...\r
+compiling stm32f10x_tim.c...\r
+compiling ParTest.c...\r
+compiling serial.c...\r
+compiling timertest.c...\r
+compiling main.c...\r
+compiling spi_flash.c...\r
+compiling semtest.c...\r
+compiling BlockQ.c...\r
+compiling blocktim.c...\r
+compiling comtest.c...\r
+compiling death.c...\r
+compiling flash.c...\r
+compiling integer.c...\r
+compiling PollQ.c...\r
+compiling tasks.c...\r
+compiling list.c...\r
+compiling queue.c...\r
+compiling port.c...\r
+compiling heap_2.c...\r
+linking...\r
+Program Size: Code=22904 RO-data=14540 RW-data=256 ZI-data=18488  \r
+"RTOSDemo.axf" - 0 Error(s), 0 Warning(s).\r
+Load "C:\\E\\temp\\rc\\4\\FreeRTOSV5.3.1\\Demo\\CORTEX_STM32F103_Keil\\RTOSDemo.AXF" \r
+Erase Done.\r
+Programming Done.\r
+Verify OK.\r
+Build target 'Target 1'\r
+assembling STM32F10x.s...\r
+linking...\r
+Program Size: Code=22908 RO-data=14540 RW-data=256 ZI-data=18496  \r
+"RTOSDemo.axf" - 0 Error(s), 0 Warning(s).\r
+Load "C:\\E\\temp\\rc\\4\\FreeRTOSV5.3.1\\Demo\\CORTEX_STM32F103_Keil\\RTOSDemo.AXF" \r
+Erase Done.\r
+Programming Done.\r
+Verify OK.\r
+Build target 'Target 1'\r
+assembling STM32F10x.s...\r
+compiling lcd.c...\r
+assembling cortexm3_macro_rvds.s...\r
+compiling stm32f10x_usart.c...\r
+compiling stm32f10x_gpio.c...\r
+compiling stm32f10x_lib.c...\r
+compiling stm32f10x_nvic.c...\r
+compiling stm32f10x_rcc.c...\r
+compiling stm32f10x_spi.c...\r
+compiling stm32f10x_systick.c...\r
+compiling stm32f10x_tim.c...\r
+compiling ParTest.c...\r
+compiling serial.c...\r
+compiling timertest.c...\r
+compiling main.c...\r
+compiling spi_flash.c...\r
+compiling semtest.c...\r
+compiling BlockQ.c...\r
+compiling blocktim.c...\r
+compiling comtest.c...\r
+compiling death.c...\r
+compiling flash.c...\r
+compiling integer.c...\r
+compiling PollQ.c...\r
+compiling tasks.c...\r
+compiling list.c...\r
+compiling queue.c...\r
+compiling port.c...\r
+compiling heap_2.c...\r
+linking...\r
+Program Size: Code=20174 RO-data=14530 RW-data=248 ZI-data=18152  \r
+"RTOSDemo.axf" - 0 Error(s), 0 Warning(s).\r
+Load "C:\\E\\temp\\rc\\4\\FreeRTOSV5.3.1\\Demo\\CORTEX_STM32F103_Keil\\RTOSDemo.AXF" \r
+Erase Done.\r
+Programming Done.\r
+Verify OK.\r
+Clean started: Project: 'RTOSDemo'\r
+   deleting intermediate output files for target 'Target 1'\r
index b314c1285b198ee85193d529fde4a03547088c23..a9ef34d4d1992b97e345003b942f27a90d13ee7d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index db8abb595e3f882d86705b387775725475956939..082300826e080298ec30f728b3728e518e766678 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 49fe98d14baef66650c0a03ccd74db1ebada65a3..0195729e7fb86c4090a59527445f721dad65f428 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f2c53b940f15e3957641e6496ec38095aecd0c29..8aa6b50de855b306b33962d185b23e545f0ba1fe 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index dea1f492e244ad4a3ed7486c7115d381b64fa946..f392fcae66b330912109ba0f0c30183c98c34fd8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c00f586132faf0324b62c8ab7ab3be146d90d6a6..c25f38fa0eb608915a2b3e48aa4b879b442b5c2f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 49fe98d14baef66650c0a03ccd74db1ebada65a3..0195729e7fb86c4090a59527445f721dad65f428 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0968b5dd85d2d2e2bb95547accb78f2a5e8bafa0..88ea51e011699b052645ba3af9d3f3cbaebb971a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8d2ebf2fbbab85a297b1a0c927804440e18b9816..a5a924936ee52f8029a5412cafcdf5f098e900a1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 90884c0ec1cfe279746c1e87f56e2d42577fe8b2..ae219fe6cdd74bb19dede6f2235e5d125744dc29 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b3956f226914872305bb66afa420d7bb9768fa07..6325f575cdeb0e982fb2c287499a59b2f5d1af67 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 584355680749e65c27eca26f90f2640f3d157ed8..522456beb0bbd7a666a3eb263c80f7f34fbdacb2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 494c2ffcdb641ba792173a02534d3254ba9e5f38..f9eeaaa1197b6ca1ab5f84fb7ff6460bfedc4b3b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 584355680749e65c27eca26f90f2640f3d157ed8..522456beb0bbd7a666a3eb263c80f7f34fbdacb2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 97251528feb3dffee0ca93ada132eeca69631658..795597ccea2ecf144b35c04ae8f177f57146fcfb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 34a4e600863629ed12f4dbe669c0c8399a30c735..6c8f84b7cfd8d609e8235ea5a0c1df6de23c1c62 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8397a4c3685ab78bdab72afd3e7ef99920ac64e7..c76d07d667dc7c2baed73f5c56cbe7e442fda89e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index d779404de869fa25596a035711de87c5334ccdff..88eefc18d1a63a9fbfdf38887843848b3930302b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/CFV1_BDM_P&E_Multilink_CyclonePro.hwc b/Demo/ColdFire_MCF51CN128_CodeWarrior/CFV1_BDM_P&E_Multilink_CyclonePro.hwc
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/CFV1_BDM_P&E_Multilink_CyclonePro.ini b/Demo/ColdFire_MCF51CN128_CodeWarrior/CFV1_BDM_P&E_Multilink_CyclonePro.ini
new file mode 100644 (file)
index 0000000..d8b6b3b
--- /dev/null
@@ -0,0 +1,74 @@
+[Environment Variables]\r
+GENPATH={Project}Sources;{Compiler}lib\cfv1c\device\src;{Compiler}lib\cfv1c\device\include;{Compiler}lib\cfv1c\device\asm_include;{Compiler}\ColdFire_Support\Runtime\Runtime_ColdFire\Source;{Compiler}ColdFire_Support\Runtime\(Runtime_Common)\MWRuntime;{Compiler}ColdFire_Support\Runtime\(Runtime_Common);{Compiler}ColdFire_Support\msl\MSL_C\MSL_ColdFire\Src;{Compiler}ColdFire_Support\msl\MSL_C\MSL_ColdFire\Lib;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common\Src;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Src;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Math\Double_precision;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Math\Single_precision;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_ColdFire\Lib;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_Common\Src;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_Precompiled_Headers\Src;{Compiler}ColdFire_Support\msl\MSL_Extras\MSL_Common\Src\r
+LIBPATH={Compiler}lib\cfv1c\device\include;{Compiler}ColdFire_Support\msl\MSL_C\MSL_ColdFire\Include;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common\Include;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Include;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_ColdFire\Include;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_Common\Include;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Math\Include;{Compiler}ColdFire_Support\msl\MSL_Extras\MSL_Common\Include;{Compiler}ColdFire_Support\msl\MSL_Extras\MSL_Common\Include\sys;\r
+OBJPATH={Project}bin\r
+TEXTPATH={Project}bin\r
+ABSPATH={Project}bin\r
+\r
+[HI-WAVE]\r
+Target=CFICDCYCLMULT\r
+CPU=ColdFire\r
+Layout=C_layout.hwl\r
+LoadDialogOptions=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main"\r
+MainFrame=2,3,-1,-1,-1,-1,132,132,1182,881\r
+TOOLBAR=57600 57601 32795 0 57635 57634 57637 0 57671 57669 0 32777 32776 32782 32780 32781 32778 0 32806\r
+AEFWarningDialog=FALSE\r
+\r
+\r
+\r
+\r
+[CFICDCYCLMULT]\r
+COMSETTINGS=SETCOMM DRIVER NOPROTOCOL NOPERIODICAL\r
+HOST_IO_SUPPORT=0\r
+\r
+[CFMultilinkCyclonePro_GDI_SETTINGS]\r
+MCUID=0x700A\r
+CMDFILE0=CMDFILE STARTUP ON ".\cmd\CFV1_BDM_P&E_Multilink_CyclonePro_startup.cmd"\r
+CMDFILE1=CMDFILE RESET ON ".\cmd\CFV1_BDM_P&E_Multilink_CyclonePro_reset.cmd"\r
+CMDFILE2=CMDFILE PRELOAD ON ".\cmd\CFV1_BDM_P&E_Multilink_CyclonePro_preload.cmd"\r
+CMDFILE3=CMDFILE POSTLOAD ON ".\cmd\CFV1_BDM_P&E_Multilink_CyclonePro_postload.cmd"\r
+CMDFILE4=CMDFILE VPPON ON "vppon.cmd"\r
+CMDFILE5=CMDFILE VPPOFF ON "vppoff.cmd"\r
+DBG0=DBG GENERAL DISARM_ON PROTECT_OFF ANALYZE_ON STEPATRUN_ON\r
+DBG1=DBG PREDEFINED SELECT 0\r
+CF_V1_DBG_TRIGGER_A=RangeAllowed:0 AccessSizeCompareAllowed:0 DataCompareAllowed:0 Disabled:0 AccessSize:4 Range:0 OutsideRange:0 DataToCompare:0 DataToCompareSize:0 DataToCompareMode:-1 EnableMask: 0 TriggerMask:0 \r
+CF_V1_DBG_TRIGGER_B=RangeAllowed:0 AccessSizeCompareAllowed:0 DataCompareAllowed:0 Disabled:0 AccessSize:4 Range:0 OutsideRange:0 DataToCompare:0 DataToCompareSize:0 DataToCompareMode:-1 EnableMask: 0 TriggerMask:0 \r
+CF_V1_DBG_TRIGGER_C=RangeAllowed:1 AccessSizeCompareAllowed:1 DataCompareAllowed:0 Disabled:0 AccessSize:4 Range:0 OutsideRange:0 DataToCompare:0 DataToCompareSize:0 DataToCompareMode:-1 EnableMask: 0 TriggerMask:0 \r
+DBG2=\r
+NV_PARAMETER_FILE=C:\devtools\Freescale\CodeWarrior for Microcontrollers V6.2\prog\FPP\mcu700A.fpp\r
+NV_SAVE_WSP=0\r
+NV_AUTO_ID=1\r
+\r
+\r
+\r
\r
\r
\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+[STARTUP]\r
+CPUTARGETTYPE=0\r
+check_and_fix_if_secure_enable_flag=1\r
+trim_reference_target_newvalue=3125000\r
+trim_reference_target_override=0\r
+IO_DELAY_SET=0\r
+USE_CYCLONEPRO_RELAYS=1\r
+CyclonePro_poweroffonexit=0\r
+CyclonePro_currentvoltage=255\r
+CyclonePro_PowerDownDelay=250\r
+CyclonePro_PowerUpDelay=250\r
+IO_DELAY_CNT=14\r
+PCI_DELAY=0\r
+RESET_DELAY=0\r
+PORT=21\r
+interface_selection=0\r
+SHOWDIALOG=0\r
+\r
+\r
+[PORT]\r
+IP=\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/CFV1_Full_Chip_Simulator.ini b/Demo/ColdFire_MCF51CN128_CodeWarrior/CFV1_Full_Chip_Simulator.ini
new file mode 100644 (file)
index 0000000..399b27a
--- /dev/null
@@ -0,0 +1,27 @@
+[Environment Variables]\r
+GENPATH={Project}Sources;{Compiler}lib\cfv1c\device\src;{Compiler}lib\cfv1c\device\include;{Compiler}lib\cfv1c\device\asm_include;{Compiler}\ColdFire_Support\Runtime\Runtime_ColdFire\Source;{Compiler}ColdFire_Support\Runtime\(Runtime_Common)\MWRuntime;{Compiler}ColdFire_Support\Runtime\(Runtime_Common);{Compiler}ColdFire_Support\msl\MSL_C\MSL_ColdFire\Src;{Compiler}ColdFire_Support\msl\MSL_C\MSL_ColdFire\Lib;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common\Src;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Src;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Math\Double_precision;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Math\Single_precision;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_ColdFire\Lib;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_Common\Src;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_Precompiled_Headers\Src;{Compiler}ColdFire_Support\msl\MSL_Extras\MSL_Common\Src\r
+LIBPATH={Compiler}lib\cfv1c\device\include;{Compiler}ColdFire_Support\msl\MSL_C\MSL_ColdFire\Include;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common\Include;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Include;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_ColdFire\Include;{Compiler}ColdFire_Support\msl\MSL_C++\MSL_Common\Include;{Compiler}ColdFire_Support\msl\MSL_C\MSL_Common_Embedded\Math\Include;{Compiler}ColdFire_Support\msl\MSL_Extras\MSL_Common\Include;{Compiler}ColdFire_Support\msl\MSL_Extras\MSL_Common\Include\sys;\r
+OBJPATH={Project}bin\r
+TEXTPATH={Project}bin\r
+ABSPATH={Project}bin\r
+\r
+[HI-WAVE]\r
+Target=sim\r
+Layout=C_layout.hwl\r
+LoadDialogOptions=RUNANDSTOPAFTERLOAD="main"\r
+CPU=ColdFire\r
+MainFrame=2,3,-1,-1,-1,-1,22,23,1072,771\r
+TOOLBAR=57600 57601 32795 0 57635 57634 57637 0 57671 57669 0 32777 32776 32782 32780 32781 32778 0 32806\r
+\r
+\r
+\r
+[Simulator]\r
+CMDFILE0=CMDFILE STARTUP ON ".\cmd\CFV1_Full_Chip_Simulator_startup.cmd"\r
+\r
+[Simulator COLDFIRE]\r
+CMDFILE0=CMDFILE RESET ON ".\cmd\CFV1_Full_Chip_Simulator_reset.cmd"\r
+CMDFILE1=CMDFILE PRELOAD ON ".\cmd\CFV1_Full_Chip_Simulator_preload.cmd"\r
+CMDFILE2=CMDFILE POSTLOAD ON ".\cmd\CFV1_Full_Chip_Simulator_postload.cmd"\r
+CMDFILE3=CMDFILE SETCPU ON ".\cmd\CFV1_Full_Chip_Simulator_setcpu.cmd"\r
+FCS=ColdFire V1 SAMPLE\r
+HOST_IO_SUPPORT=1\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/C_Layout.hwl b/Demo/ColdFire_MCF51CN128_CodeWarrior/C_Layout.hwl
new file mode 100644 (file)
index 0000000..0612743
--- /dev/null
@@ -0,0 +1,14 @@
+OPEN source 0 0 60 99\r
+Source < attributes TOOLTIP on,TOOLTIP_FORMAT signed,TOOLTIP_MODE details,FREEZE off,MARKS off\r
+OPEN assembly 60 0 40 31\r
+Assembly < attributes ADR on,CODE off,ABSADR on,SYMB off,FORMAT Auto,FREEZE off,TOPPC 0x410\r
+OPEN register 60 31 40 25\r
+Register < attributes FORMAT AUTO,COMPLEMENT None\r
+OPEN data 60 56 40 22\r
+Data < attributes SCOPE global,COMPLEMENT None,FORMAT Symb,MODE automatic,SORT NotSort,UPDATERATE 10,NAMEWIDTH 16\r
+OPEN Command 60 77 40 23\r
+Command < attributes CACHESIZE 1000\r
+bckcolor 50331647\r
+font 'Courier New' 9 BLACK\r
+AUTOSIZE on\r
+ACTIVATE "Register" "Assembly" "Data" "Source" "Command"\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Default.mem b/Demo/ColdFire_MCF51CN128_CodeWarrior/Default.mem
new file mode 100644 (file)
index 0000000..d0bbb2e
Binary files /dev/null and b/Demo/ColdFire_MCF51CN128_CodeWarrior/Default.mem differ
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/RTOSDemo.mcp b/Demo/ColdFire_MCF51CN128_CodeWarrior/RTOSDemo.mcp
new file mode 100644 (file)
index 0000000..e9aaa3d
Binary files /dev/null and b/Demo/ColdFire_MCF51CN128_CodeWarrior/RTOSDemo.mcp differ
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/FEC.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/FEC.c
new file mode 100644 (file)
index 0000000..b9a2452
--- /dev/null
@@ -0,0 +1,692 @@
+/*\r
+    This file is part of the FreeRTOS.org distribution.\r
+\r
+    FreeRTOS.org is free software; you can redistribute it and/or modify it \r
+    under the terms of the GNU General Public License (version 2) as published\r
+    by the Free Software Foundation and modified by the FreeRTOS exception.\r
+\r
+    FreeRTOS.org is distributed in the hope that it will be useful,    but WITHOUT\r
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or \r
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for \r
+    more details.\r
+\r
+    You should have received a copy of the GNU General Public License along \r
+    with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59 \r
+    Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
+\r
+    A special exception to the GPL is included to allow you to distribute a \r
+    combined work that includes FreeRTOS.org without being obliged to provide\r
+    the source code for any proprietary components.  See the licensing section\r
+    of http://www.FreeRTOS.org for full details.\r
+\r
+\r
+    ***************************************************************************\r
+    *                                                                         *\r
+    * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *\r
+    *                                                                         *\r
+    * This is a concise, step by step, 'hands on' guide that describes both   *\r
+    * general multitasking concepts and FreeRTOS specifics. It presents and   *\r
+    * explains numerous examples that are written using the FreeRTOS API.     *\r
+    * Full source code for all the examples is provided in an accompanying    *\r
+    * .zip file.                                                              *\r
+    *                                                                         *\r
+    ***************************************************************************\r
+\r
+    1 tab == 4 spaces!\r
+\r
+    Please ensure to read the configuration and relevant port sections of the\r
+    online documentation.\r
+\r
+    http://www.FreeRTOS.org - Documentation, latest information, license and\r
+    contact details.\r
+\r
+    http://www.SafeRTOS.com - A version that is certified for use in safety\r
+    critical systems.\r
+\r
+    http://www.OpenRTOS.com - Commercial support, development, porting,\r
+    licensing and training services.\r
+*/\r
+\r
+\r
+/* Kernel includes. */\r
+#include "FreeRTOS.h"\r
+#include "semphr.h"\r
+#include "task.h"\r
+\r
+/* Demo includes. */\r
+#include "FEC.h"\r
+#include "fecbd.h"\r
+#include "mii.h"\r
+#include "eth_phy.h"\r
+#include "eth.h"\r
+\r
+/* uIP includes. */\r
+#include "uip.h"\r
+#include "uip_arp.h"\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* FEC hardware specifics. */\r
+#define MCF_FEC_MSCR_MII_SPEED(x)                      (((x)&0x3F)<<0x1)\r
+#define MCF_FEC_RDAR_R_DES_ACTIVE           ( 0x1000000 )\r
+#define MCF_FEC_TDAR_X_DES_ACTIVE           ( 0x1000000 )\r
+\r
+/* PHY hardware specifics. */\r
+#define PHY_STATUS                                                     ( 16 )\r
+#define PHY_DUPLEX_STATUS                                      ( 4 )\r
+\r
+/* Delay between polling the PHY to see if a link has been established. */\r
+#define fecLINK_DELAY                                          ( 500 / portTICK_RATE_MS )\r
+\r
+/* Very short delay to use when waiting for the Tx to finish with a buffer if\r
+we run out of Rx buffers. */\r
+#define fecMINIMAL_DELAY                                       ( 3 / portTICK_RATE_MS )\r
+\r
+/* Don't block to wait for a buffer more than this many times. */\r
+#define uipBUFFER_WAIT_ATTEMPTS        ( 30 )\r
+\r
+/* The Tx re-uses the Rx buffers and only has one descriptor. */\r
+#define fecNUM_TX_DESCRIPTORS                          ( 1 )\r
+\r
+/* The total number of buffers available, which should be greater than the\r
+number of Rx descriptors. */\r
+#define fecNUM_BUFFERS                                                 ( configNUM_FEC_RX_DESCRIPTORS + 2 )\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* \r
+ * Return an unused buffer to the pool of free buffers. \r
+ */\r
+static void prvReturnBuffer( unsigned char *pucBuffer );\r
+\r
+/*\r
+ * Find and return the next buffer that is not in use by anything else.\r
+ */\r
+static unsigned char *prvGetFreeBuffer( void ); \r
+/*-----------------------------------------------------------*/\r
+\r
+/* The semaphore used to wake the uIP task when data arrives. */\r
+xSemaphoreHandle xFECSemaphore = NULL;\r
+\r
+/* The buffer used by the uIP stack.  In this case the pointer is used to\r
+point to one of the Rx buffers to avoid having to copy the Rx buffer into\r
+the uIP buffer. */\r
+unsigned char *uip_buf;\r
+\r
+/* The DMA descriptors.  These are char arrays to allow us to align them \r
+correctly. */\r
+static unsigned char xFECTxDescriptors_unaligned[ ( fecNUM_TX_DESCRIPTORS * sizeof( FECBD ) ) + 16 ];\r
+static unsigned char xFECRxDescriptors_unaligned[ ( configNUM_FEC_RX_DESCRIPTORS * sizeof( FECBD ) ) + 16 ];\r
+static FECBD *pxFECTxDescriptor;\r
+static FECBD *xFECRxDescriptors;\r
+\r
+/* The DMA buffer.  This is a char arrays to allow it to be aligned correctly. */\r
+static unsigned char ucFECRxBuffers[ ( fecNUM_BUFFERS * configFEC_BUFFER_SIZE ) + 16 ];\r
+\r
+/* Index to the next descriptor to be inspected for received data. */\r
+static unsigned long ulNextRxDescriptor = 0;\r
+\r
+/* Contains the start address of each Rx buffer, after it has been correctly \r
+aligned. */\r
+static unsigned char *pucAlignedBufferStartAddresses[ fecNUM_BUFFERS ] = { 0 };\r
+\r
+/* Each ucBufferInUse index corresponds to a position in the same index in the\r
+pucAlignedBufferStartAddresses array.  If the index contains a 1 then the \r
+buffer within pucAlignedBufferStartAddresses is in use, if it contains a 0 then\r
+the buffer is free. */\r
+static unsigned char ucBufferInUse[ fecNUM_BUFFERS ] = { 0 };\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/********************************************************************/\r
+/*\r
+ * Write a value to a PHY's MII register.\r
+ *\r
+ * Parameters:\r
+ *  ch          FEC channel\r
+ *  phy_addr    Address of the PHY.\r
+ *  reg_addr    Address of the register in the PHY.\r
+ *  data        Data to be written to the PHY register.\r
+ *\r
+ * Return Values:\r
+ *  0 on failure\r
+ *  1 on success.\r
+ *\r
+ * Please refer to your PHY manual for registers and their meanings.\r
+ * mii_write() polls for the FEC's MII interrupt event and clears it. \r
+ * If after a suitable amount of time the event isn't triggered, a \r
+ * value of 0 is returned.\r
+ */\r
+static int fec_mii_write( int phy_addr, int reg_addr, int data )\r
+{\r
+int timeout;\r
+unsigned long eimr;\r
+\r
+       /* Clear the MII interrupt bit */\r
+       EIR = EIR_MII;\r
+\r
+       /* Mask the MII interrupt */\r
+       eimr = EIMR;\r
+       EIMR &= ~EIMR_MII;\r
+\r
+       /* Write to the MII Management Frame Register to kick-off the MII write */\r
+       MMFR = ( unsigned long ) ( FEC_MMFR_ST_01 | FEC_MMFR_OP_WRITE | FEC_MMFR_PA(phy_addr) | FEC_MMFR_RA(reg_addr) | FEC_MMFR_TA_10 | FEC_MMFR_DATA( data ) );\r
+\r
+       /* Poll for the MII interrupt (interrupt should be masked) */\r
+       for (timeout = 0; timeout < FEC_MII_TIMEOUT; timeout++)\r
+       {\r
+               if( EIR & EIR_MII)\r
+               {\r
+                       break;\r
+               }\r
+       }\r
+\r
+       if( timeout == FEC_MII_TIMEOUT )\r
+       {\r
+               return 0;\r
+       }\r
+\r
+       /* Clear the MII interrupt bit */\r
+       EIR = EIR_MII;\r
+\r
+       /* Restore the EIMR */\r
+       EIMR = eimr;\r
+\r
+       return 1;\r
+}\r
+\r
+/********************************************************************/\r
+/*\r
+ * Read a value from a PHY's MII register.\r
+ *\r
+ * Parameters:\r
+ *  ch          FEC channel\r
+ *  phy_addr    Address of the PHY.\r
+ *  reg_addr    Address of the register in the PHY.\r
+ *  data        Pointer to storage for the Data to be read\r
+ *              from the PHY register (passed by reference)\r
+ *\r
+ * Return Values:\r
+ *  0 on failure\r
+ *  1 on success.\r
+ *\r
+ * Please refer to your PHY manual for registers and their meanings.\r
+ * mii_read() polls for the FEC's MII interrupt event and clears it. \r
+ * If after a suitable amount of time the event isn't triggered, a \r
+ * value of 0 is returned.\r
+ */\r
+static int fec_mii_read( int phy_addr, int reg_addr, unsigned short* data )\r
+{\r
+int timeout;\r
+unsigned long eimr;\r
+\r
+       /* Clear the MII interrupt bit */\r
+       EIR = 0xffffffff;\r
+\r
+       /* Mask the MII interrupt */\r
+       eimr = EIMR;\r
+       EIMR &= ~EIMR_MII;\r
+\r
+       /* Write to the MII Management Frame Register to kick-off the MII read */\r
+       MMFR = ( unsigned long ) ( FEC_MMFR_ST_01 | FEC_MMFR_OP_READ | FEC_MMFR_PA(phy_addr) | FEC_MMFR_RA(reg_addr) | FEC_MMFR_TA_10 );\r
+\r
+       /* Poll for the MII interrupt (interrupt should be masked) */\r
+       for (timeout = 0; timeout < FEC_MII_TIMEOUT; timeout++)\r
+       {\r
+               if (EIR)\r
+               {\r
+                       break;\r
+               }\r
+       }\r
+\r
+       if(timeout == FEC_MII_TIMEOUT)\r
+       {\r
+               return 0;\r
+       }\r
+\r
+       /* Clear the MII interrupt bit */\r
+       EIR = EIR_MII;\r
+\r
+       /* Restore the EIMR */\r
+       EIMR = eimr;\r
+\r
+       *data = (unsigned short)(MMFR & 0x0000FFFF);\r
+\r
+       return 1;\r
+}\r
+\r
+\r
+/********************************************************************/\r
+/*\r
+ * Generate the hash table settings for the given address\r
+ *\r
+ * Parameters:\r
+ *  addr    48-bit (6 byte) Address to generate the hash for\r
+ *\r
+ * Return Value:\r
+ *  The 6 most significant bits of the 32-bit CRC result\r
+ */\r
+static unsigned char fec_hash_address( const unsigned char* addr )\r
+{\r
+unsigned long crc;\r
+unsigned char byte;\r
+int i, j;\r
+\r
+       crc = 0xFFFFFFFF;\r
+       for(i=0; i<6; ++i)\r
+       {\r
+               byte = addr[i];\r
+               for(j=0; j<8; ++j)\r
+               {\r
+                       if((byte & 0x01)^(crc & 0x01))\r
+                       {\r
+                               crc >>= 1;\r
+                               crc = crc ^ 0xEDB88320;\r
+                       }\r
+                       else\r
+                       {\r
+                               crc >>= 1;\r
+                       }\r
+\r
+                       byte >>= 1;\r
+               }\r
+       }\r
+\r
+       return (unsigned char)(crc >> 26);\r
+}\r
+\r
+/********************************************************************/\r
+/*\r
+ * Set the Physical (Hardware) Address and the Individual Address\r
+ * Hash in the selected FEC\r
+ *\r
+ * Parameters:\r
+ *  ch  FEC channel\r
+ *  pa  Physical (Hardware) Address for the selected FEC\r
+ */\r
+static void fec_set_address( const unsigned char *pa )\r
+{\r
+       unsigned char crc;\r
+\r
+       /*\r
+       * Set the Physical Address\r
+       */\r
+       PALR = (unsigned long)((pa[0]<<24) | (pa[1]<<16) | (pa[2]<<8) | pa[3]);\r
+       PAUR = (unsigned long)((pa[4]<<24) | (pa[5]<<16));\r
+\r
+       /*\r
+       * Calculate and set the hash for given Physical Address\r
+       * in the  Individual Address Hash registers\r
+       */\r
+       crc = fec_hash_address(pa);\r
+       if(crc >= 32)\r
+       {\r
+               IAUR |= (unsigned long)(1 << (crc - 32));\r
+       }\r
+       else\r
+       {\r
+               IALR |= (unsigned long)(1 << crc);\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvInitialiseFECBuffers( void )\r
+{\r
+unsigned portBASE_TYPE ux;\r
+unsigned char *pcBufPointer;\r
+\r
+       /* Set the pointer to a correctly aligned address. */\r
+       pcBufPointer = &( xFECTxDescriptors_unaligned[ 0 ] );\r
+       while( ( ( unsigned long ) pcBufPointer & 0x0fUL ) != 0 )\r
+       {\r
+               pcBufPointer++;\r
+       }\r
+       \r
+       pxFECTxDescriptor = ( FECBD * ) pcBufPointer;   \r
+\r
+       /* Likewise the pointer to the Rx descriptor. */        \r
+       pcBufPointer = &( xFECRxDescriptors_unaligned[ 0 ] );\r
+       while( ( ( unsigned long ) pcBufPointer & 0x0fUL ) != 0 )\r
+       {\r
+               pcBufPointer++;\r
+       }\r
+       \r
+       xFECRxDescriptors = ( FECBD * ) pcBufPointer;\r
+\r
+       /* There is no Tx buffer as the Rx buffer is reused. */\r
+       pxFECTxDescriptor->length = 0;\r
+       pxFECTxDescriptor->status = 0;\r
+\r
+       /* Align the Rx buffers. */\r
+       pcBufPointer = &( ucFECRxBuffers[ 0 ] );\r
+       while( ( ( unsigned long ) pcBufPointer & 0x0fUL ) != 0 )\r
+       {\r
+               pcBufPointer++;\r
+       }\r
+       \r
+       /* Then fill in the Rx descriptors. */\r
+       for( ux = 0; ux < configNUM_FEC_RX_DESCRIPTORS; ux++ )\r
+       {\r
+           xFECRxDescriptors[ ux ].status = RX_BD_E;\r
+           xFECRxDescriptors[ ux ].length = configFEC_BUFFER_SIZE;\r
+           xFECRxDescriptors[ ux ].data = pcBufPointer;\r
+               \r
+               /* Note the start address of the buffer now that it is correctly\r
+               aligned. */\r
+               pucAlignedBufferStartAddresses[ ux ] = pcBufPointer;\r
+               \r
+               /* The buffer is in use by the descriptor. */\r
+               ucBufferInUse[ ux ] = pdTRUE;\r
+               \r
+           pcBufPointer += configFEC_BUFFER_SIZE;\r
+       }\r
+       \r
+       /* Note the start address of the last buffer as one more buffer is\r
+       allocated than there are Rx descriptors. */\r
+       pucAlignedBufferStartAddresses[ ux ] = pcBufPointer;\r
+       \r
+       /* Set uip_buf to point to the last buffer. */\r
+       uip_buf = pcBufPointer;\r
+       ucBufferInUse[ ux ] = pdTRUE;\r
+\r
+       /* Set the wrap bit in the last descriptors to form a ring. */\r
+       xFECRxDescriptors[ configNUM_FEC_RX_DESCRIPTORS - 1 ].status |= RX_BD_W;\r
+\r
+       /* We start with descriptor 0. */\r
+       ulNextRxDescriptor = 0;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vInitFEC( void )\r
+{\r
+unsigned short usData;\r
+struct uip_eth_addr xAddr;\r
+const unsigned char ucMACAddress[6] = \r
+{\r
+       configMAC_0, configMAC_1,configMAC_2,configMAC_3,configMAC_4,configMAC_5\r
+};\r
+\r
+       prvInitialiseFECBuffers();\r
+\r
+       /* Create the semaphore used to wake the uIP task when data arrives. */\r
+       vSemaphoreCreateBinary( xFECSemaphore );\r
+       \r
+       /* Set the MAC address within the stack. */\r
+       for( usData = 0; usData < 6; usData++ )\r
+       {\r
+               xAddr.addr[ usData ] = ucMACAddress[ usData ];\r
+       }\r
+       uip_setethaddr( xAddr );        \r
+\r
+       /* Set the Reset bit and clear the Enable bit */\r
+       ECR_RESET = 1;\r
+       \r
+       /* Enable the clock. */\r
+       SCGC4 |= SCGC4_FEC_MASK;\r
+\r
+       /* Wait at least 8 clock cycles */\r
+       for( usData = 0; usData < 10; usData++ )\r
+       {\r
+               asm( "NOP" );\r
+       }\r
+\r
+       /* Set MII speed to 2.5MHz. */\r
+       MSCR = MCF_FEC_MSCR_MII_SPEED( ( ( configCPU_CLOCK_HZ / 1000000 ) / 5 ) + 1 );\r
+\r
+       /*\r
+        * Make sure the external interface signals are enabled\r
+        */\r
+    PTCPF2_C0 = 1;\r
+    PTCPF2_C1 = 1;\r
+    PTCPF2_C2 = 1;\r
+    PTAPF1 = 0x55;\r
+    PTAPF2 = 0x55;\r
+    PTBPF1 = 0x55;\r
+    PTBPF2 = 0x55;\r
+    \r
+    /* Set all pins to full drive with no filter. */\r
+    PTADS = 0x06;\r
+    PTAIFE = 0x06;\r
+    PTBDS = 0xf4;\r
+    PTBIFE = 0xf4;\r
+    PTCDS = 0;\r
+    PTCIFE = 0;                                \r
+\r
+    \r
+       /* Can we talk to the PHY? */\r
+       do\r
+       {\r
+               vTaskDelay( fecLINK_DELAY );\r
+               usData = 0xffff;\r
+               fec_mii_read( configPHY_ADDRESS, PHY_PHYIDR1, &usData );\r
+\r
+       } while( usData == 0xffff );\r
+\r
+       /* Start auto negotiate. */\r
+       fec_mii_write( configPHY_ADDRESS, PHY_BMCR, ( PHY_BMCR_AN_RESTART | PHY_BMCR_AN_ENABLE ) );\r
+\r
+       /* Wait for auto negotiate to complete. */\r
+       do\r
+       {\r
+               vTaskDelay( fecLINK_DELAY );\r
+               fec_mii_read( configPHY_ADDRESS, PHY_BMSR, &usData );\r
+\r
+       } while( !( usData & PHY_BMSR_AN_COMPLETE ) );\r
+\r
+       /* When we get here we have a link - find out what has been negotiated. */\r
+       usData = 0;\r
+       fec_mii_read( configPHY_ADDRESS, PHY_STATUS, &usData ); \r
+\r
+       /* Setup half or full duplex. */\r
+       if( usData & PHY_DUPLEX_STATUS )\r
+       {\r
+               RCR &= (unsigned long)~RCR_DRT;\r
+               TCR |= TCR_FDEN;\r
+       }\r
+       else\r
+       {\r
+               RCR |= RCR_DRT;\r
+               TCR &= (unsigned long)~TCR_FDEN;\r
+       }\r
+       \r
+       /* Clear the Individual and Group Address Hash registers */\r
+       IALR = 0;\r
+       IAUR = 0;\r
+       GALR = 0;\r
+       GAUR = 0;\r
+\r
+       /* Set the Physical Address for the selected FEC */\r
+       fec_set_address( ucMACAddress );\r
+\r
+       /* Set Rx Buffer Size */\r
+       EMRBR = (unsigned short) configFEC_BUFFER_SIZE;\r
+\r
+       /* Point to the start of the circular Rx buffer descriptor queue */\r
+       ERDSR = ( volatile unsigned long ) &( xFECRxDescriptors[ 0 ] );\r
+\r
+       /* Point to the start of the circular Tx buffer descriptor queue */\r
+       ETSDR = ( volatile unsigned long ) pxFECTxDescriptor;\r
+\r
+       /* Clear all FEC interrupt events */\r
+       EIR = ( unsigned long ) -1;\r
+\r
+       /* Various mode/status setup. */\r
+       RCR = 0;\r
+       RCR_MAX_FL = configFEC_BUFFER_SIZE;\r
+       RCR_MII_MODE = 1;\r
+\r
+       #if( configUSE_PROMISCUOUS_MODE == 1 )\r
+       {\r
+               RCR |= RCR_PROM;\r
+       }\r
+       #endif\r
+\r
+       /* Enable interrupts. */\r
+       EIMR = EIR_TXF_MASK | EIMR_RXF_MASK | EIMR_RXB_MASK | EIMR_UN_MASK | EIMR_RL_MASK | EIMR_LC_MASK | EIMR_BABT_MASK | EIMR_BABR_MASK | EIMR_HBERR_MASK;\r
+\r
+       /* Enable the MAC itself. */\r
+    ECR = ECR_ETHER_EN_MASK;\r
+\r
+    /* Indicate that there have been empty receive buffers produced */\r
+    RDAR = MCF_FEC_RDAR_R_DES_ACTIVE;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+unsigned long ulFECRx( void )\r
+{\r
+unsigned long ulLen = 0UL;\r
+\r
+       /* Is a buffer ready? */\r
+       if( ( xFECRxDescriptors[ ulNextRxDescriptor ].status & RX_BD_E ) == 0 )\r
+       {\r
+               /* uip_buf is about to be set to a new buffer, so return the buffer it\r
+               is already pointing to. */\r
+               prvReturnBuffer( uip_buf );\r
+       \r
+               /* Obtain the size of the packet and put it into the "len" variable. */\r
+               ulLen = xFECRxDescriptors[ ulNextRxDescriptor ].length;\r
+               uip_buf = xFECRxDescriptors[ ulNextRxDescriptor ].data;\r
+\r
+               /* The buffer that this descriptor was using is now in use by the\r
+               TCP/IP stack, so allocate it a new buffer. */\r
+               xFECRxDescriptors[ ulNextRxDescriptor ].data = prvGetFreeBuffer();\r
+\r
+               /* Doing this here could cause corruption! */           \r
+               xFECRxDescriptors[ ulNextRxDescriptor ].status |= RX_BD_E;              \r
+               \r
+               portENTER_CRITICAL();\r
+               {\r
+                       ulNextRxDescriptor++;\r
+                       if( ulNextRxDescriptor >= configNUM_FEC_RX_DESCRIPTORS )\r
+                       {\r
+                               ulNextRxDescriptor = 0;\r
+                       }\r
+               }\r
+               portEXIT_CRITICAL();    \r
+\r
+               /* Tell the DMA a new buffer is available. */\r
+               RDAR = MCF_FEC_RDAR_R_DES_ACTIVE;               \r
+       }\r
+\r
+    return ulLen;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vFECTx( void )\r
+{\r
+       /* When we get here the Tx descriptor should show as having completed. */\r
+       while( pxFECTxDescriptor->status & TX_BD_R )\r
+       {\r
+               vTaskDelay( fecMINIMAL_DELAY );\r
+       }\r
+\r
+       portENTER_CRITICAL();\r
+       {\r
+               /* To maintain the zero copy implementation, point the Tx descriptor\r
+               to the data from the Rx buffer. */\r
+               pxFECTxDescriptor->data = uip_buf;\r
+               \r
+               /* Setup the buffer descriptor for transmission */\r
+               pxFECTxDescriptor->length = uip_len;\r
+               \r
+               /* NB this assumes only one Tx descriptor! */\r
+               pxFECTxDescriptor->status = ( TX_BD_R | TX_BD_L | TX_BD_TC | TX_BD_W );\r
+       }\r
+       portEXIT_CRITICAL();\r
+       \r
+       /* Continue the Tx DMA task (in case it was waiting for a new TxBD) */\r
+       TDAR = MCF_FEC_TDAR_X_DES_ACTIVE;\r
+       \r
+       /* uip_buf is being used by the Tx descriptor.  Allocate a new buffer to\r
+       uip_buf. */\r
+       uip_buf = prvGetFreeBuffer();\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvReturnBuffer( unsigned char *pucBuffer )\r
+{\r
+unsigned long ul;\r
+\r
+       /* Mark a buffer as free for use. */\r
+       for( ul = 0; ul < fecNUM_BUFFERS; ul++ )\r
+       {\r
+               if( pucAlignedBufferStartAddresses[ ul ] == pucBuffer )\r
+               {\r
+                       ucBufferInUse[ ul ] = pdFALSE;\r
+                       break;\r
+               }\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static unsigned char *prvGetFreeBuffer( void )\r
+{\r
+portBASE_TYPE x;\r
+unsigned char *pucReturn = NULL;\r
+unsigned long ulAttempts = 0;\r
+\r
+       while( pucReturn == NULL )\r
+       {\r
+               /* Look through the buffers to find one that is not in use by\r
+               anything else. */\r
+               for( x = 0; x < fecNUM_BUFFERS; x++ )\r
+               {\r
+                       if( ucBufferInUse[ x ] == pdFALSE )\r
+                       {\r
+                               ucBufferInUse[ x ] = pdTRUE;\r
+                               pucReturn = pucAlignedBufferStartAddresses[ x ];\r
+                               break;\r
+                       }\r
+               }\r
+\r
+               /* Was a buffer found? */\r
+               if( pucReturn == NULL )\r
+               {\r
+                       ulAttempts++;\r
+\r
+                       if( ulAttempts >= uipBUFFER_WAIT_ATTEMPTS )\r
+                       {\r
+                               break;\r
+                       }\r
+\r
+                       /* Wait then look again. */\r
+                       vTaskDelay( fecMINIMAL_DELAY );\r
+               }\r
+       }\r
+\r
+       return pucReturn;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void interrupt 86 vFECISRHandler( void )\r
+{\r
+unsigned long ulEvent;\r
+portBASE_TYPE xHighPriorityTaskWoken = pdFALSE;\r
+   \r
+       /* Determine the cause of the interrupt. */\r
+       ulEvent = EIR & EIMR;\r
+       EIR = ulEvent;\r
+\r
+       if( ulEvent & EIR_RXF_MASK )\r
+       {\r
+               /* A packet has been received.  Wake the handler task in case it is \r
+               blocked. */\r
+               xSemaphoreGiveFromISR( xFECSemaphore, &xHighPriorityTaskWoken );\r
+       }\r
+       \r
+       if( ulEvent & EIR_TXF_MASK )\r
+       {\r
+               /* The Tx has completed.  Mark the buffer it was using as free again. */\r
+               prvReturnBuffer( pxFECTxDescriptor->data );\r
+               pxFECTxDescriptor->data = NULL;\r
+       }\r
+\r
+       if (ulEvent & ( EIR_UN_MASK | EIR_RL_MASK | EIR_LC_MASK | EIR_EBERR_MASK | EIR_BABT_MASK | EIR_BABR_MASK | EIR_HBERR_MASK ) )\r
+       {\r
+               /* Sledge hammer error handling. */\r
+               prvInitialiseFECBuffers();\r
+               RDAR = MCF_FEC_RDAR_R_DES_ACTIVE;\r
+       }\r
+\r
+       portEND_SWITCHING_ISR( xHighPriorityTaskWoken );\r
+}\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/FEC.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/FEC.h
new file mode 100644 (file)
index 0000000..39b19ef
--- /dev/null
@@ -0,0 +1,46 @@
+/*\r
+       FreeRTOS.org V5.0.3 - Copyright (C) 2003-2008 Richard Barry.\r
+\r
+       This file is part of the FreeRTOS.org distribution.\r
+\r
+       FreeRTOS.org is free software; you can redistribute it and/or modify\r
+       it under the terms of the GNU General Public License as published by\r
+       the Free Software Foundation; either version 2 of the License, or\r
+       (at your option) any later version.\r
+\r
+       FreeRTOS.org is distributed in the hope that it will be useful,\r
+       but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+       GNU General Public License for more details.\r
+\r
+       You should have received a copy of the GNU General Public License\r
+       along with FreeRTOS.org; if not, write to the Free Software\r
+       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+\r
+       A special exception to the GPL can be applied should you wish to distribute\r
+       a combined work that includes FreeRTOS.org, without being obliged to provide\r
+       the source code for any proprietary components.  See the licensing section\r
+       of http://www.FreeRTOS.org for full details of how and when the exception\r
+       can be applied.\r
+\r
+       ***************************************************************************\r
+       See http://www.FreeRTOS.org for documentation, latest information, license\r
+       and contact details.  Please ensure to read the configuration and relevant\r
+       port sections of the online documentation.\r
+       ***************************************************************************\r
+*/\r
+\r
+#ifndef INC_FEC_H\r
+#define INC_FEC_H\r
+\r
+/* Configure the FEC peripheral, IO and descriptors. */\r
+void vInitFEC( void );\r
+\r
+/* Receive any data into the uip_buf array. */\r
+unsigned portLONG ulFECRx( void );\r
+\r
+/* Transmit the uip_buf array. */\r
+void vFECTx( void );\r
+\r
+#endif\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/FreeRTOSConfig.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/FreeRTOSConfig.h
new file mode 100644 (file)
index 0000000..fadb9e6
--- /dev/null
@@ -0,0 +1,157 @@
+/*\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
+\r
+       This file is part of the FreeRTOS.org distribution.\r
+\r
+       FreeRTOS.org is free software; you can redistribute it and/or modify it\r
+       under the terms of the GNU General Public License (version 2) as published\r
+       by the Free Software Foundation and modified by the FreeRTOS exception.\r
+       **NOTE** The exception to the GPL is included to allow you to distribute a\r
+       combined work that includes FreeRTOS.org without being obliged to provide\r
+       the source code for any proprietary components.  Alternative commercial\r
+       license and support terms are also available upon request.  See the \r
+       licensing section of http://www.FreeRTOS.org for full details.\r
+\r
+       FreeRTOS.org is distributed in the hope that it will be useful, but WITHOUT\r
+       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+       FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+       more details.\r
+\r
+       You should have received a copy of the GNU General Public License along\r
+       with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59\r
+       Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
+\r
+\r
+       ***************************************************************************\r
+       *                                                                         *\r
+       * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *\r
+       *                                                                         *\r
+       * This is a concise, step by step, 'hands on' guide that describes both   *\r
+       * general multitasking concepts and FreeRTOS specifics. It presents and   *\r
+       * explains numerous examples that are written using the FreeRTOS API.     *\r
+       * Full source code for all the examples is provided in an accompanying    *\r
+       * .zip file.                                                              *\r
+       *                                                                         *\r
+       ***************************************************************************\r
+\r
+       1 tab == 4 spaces!\r
+\r
+       Please ensure to read the configuration and relevant port sections of the\r
+       online documentation.\r
+\r
+       http://www.FreeRTOS.org - Documentation, latest information, license and\r
+       contact details.\r
+\r
+       http://www.SafeRTOS.com - A version that is certified for use in safety\r
+       critical systems.\r
+\r
+       http://www.OpenRTOS.com - Commercial support, development, porting,\r
+       licensing and training services.\r
+*/\r
+\r
+\r
+/* CodeWarrior often thinks it knows better than you which files you want to \r
+build - and changes the port.c and portasm.S files included in the project from\r
+the ColdFire V1 versions to the x86 versions.  If you get lots of errors output\r
+when either file is compiled then delete the files from the project and then\r
+add back in the port.c and portasm.S files that are located in the \r
+FreeRTOS\Source\portable\GCC\ColdFire_V1 directory.  Remove the line below\r
+before compiling. */\r
+\r
+//#error Read the comment above this line, then delete this error statement!\r
+\r
+\r
+#ifndef FREERTOS_CONFIG_H\r
+#define FREERTOS_CONFIG_H\r
+\r
+#include <hidef.h>\r
+#include "derivative.h"\r
+\r
+/*-----------------------------------------------------------\r
+ * Application specific definitions.\r
+ *\r
+ * These definitions should be adjusted for your particular hardware and\r
+ * application requirements.\r
+ *\r
+ * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
+ * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. \r
+ *\r
+ * See http://www.freertos.org/a00110.html.\r
+ *----------------------------------------------------------*/\r
+\r
+#define configUSE_PREEMPTION                   1\r
+#define configUSE_IDLE_HOOK                            0\r
+#define configUSE_TICK_HOOK                            1\r
+#define configCPU_CLOCK_HZ                             ( 50000000UL )\r
+#define configTICK_RATE_HZ                             ( ( portTickType ) 100 )\r
+#define configMINIMAL_STACK_SIZE               ( ( unsigned portSHORT ) 100 )\r
+#define configTOTAL_HEAP_SIZE                  ( ( size_t ) ( 13 * 1024 ) )\r
+#define configMAX_TASK_NAME_LEN                        ( 12 )\r
+#define configUSE_TRACE_FACILITY               1\r
+#define configUSE_16_BIT_TICKS                 0\r
+#define configIDLE_SHOULD_YIELD                        0\r
+#define configUSE_CO_ROUTINES                  0\r
+#define configUSE_MUTEXES                              1\r
+#define configCHECK_FOR_STACK_OVERFLOW 1\r
+#define configGENERATE_RUN_TIME_STATS  0\r
+#define configUSE_RECURSIVE_MUTEXES            1\r
+#define configQUEUE_REGISTRY_SIZE              0\r
+#define configUSE_COUNTING_SEMAPHORES  0\r
+\r
+#define configMAX_PRIORITIES           ( ( unsigned portBASE_TYPE ) 6 )\r
+#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
+\r
+/* Set the following definitions to 1 to include the API function, or zero\r
+to exclude the API function. */\r
+\r
+#define INCLUDE_vTaskPrioritySet                       1\r
+#define INCLUDE_uxTaskPriorityGet                      1\r
+#define INCLUDE_vTaskDelete                                    1\r
+#define INCLUDE_vTaskCleanUpResources          0\r
+#define INCLUDE_vTaskSuspend                           1\r
+#define INCLUDE_vTaskDelayUntil                                1\r
+#define INCLUDE_vTaskDelay                                     1\r
+#define INCLUDE_uxTaskGetStackHighWaterMark    1\r
+\r
+/* It is not advisable to change these values on a Coldfire V1 core. */\r
+#define configKERNEL_INTERRUPT_PRIORITY                1\r
+#define configMAX_SYSCALL_INTERRUPT_PRIORITY   7\r
+\r
+\r
+\r
+/* Ethernet configuration. */\r
+#define configMAC_0    0x00\r
+#define configMAC_1    0x04\r
+#define configMAC_2    0x9F\r
+#define configMAC_3    0x00\r
+#define configMAC_4    0xAB\r
+#define configMAC_5    0x2B\r
+\r
+#define configIP_ADDR0 192\r
+#define configIP_ADDR1 168\r
+#define configIP_ADDR2 0\r
+#define configIP_ADDR3 222\r
+\r
+#define configGW_ADDR0 192\r
+#define configGW_ADDR1 168\r
+#define configGW_ADDR2 0\r
+#define configGW_ADDR3 3\r
+\r
+#define configNET_MASK0        255\r
+#define configNET_MASK1        255\r
+#define configNET_MASK2        255\r
+#define configNET_MASK3        0\r
+\r
+#define configNUM_FEC_RX_DESCRIPTORS   2\r
+#define configFEC_BUFFER_SIZE          1520     /* Should be multiple of 16. */\r
+#define configUSE_PROMISCUOUS_MODE     0\r
+#define configETHERNET_INPUT_TASK_STACK_SIZE ( 320 )\r
+#define configETHERNET_INPUT_TASK_PRIORITY ( configMAX_PRIORITIES - 1 )\r
+\r
+#define configPHY_ADDRESS      1\r
+\r
+#if ( configFEC_BUFFER_SIZE & 0x0F ) != 0\r
+       #error configFEC_BUFFER_SIZE must be a multiple of 16.\r
+#endif\r
+\r
+#endif /* FREERTOS_CONFIG_H */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/ParTest/ParTest.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/ParTest/ParTest.c
new file mode 100644 (file)
index 0000000..f28d472
--- /dev/null
@@ -0,0 +1,140 @@
+/*\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
+\r
+       This file is part of the FreeRTOS.org distribution.\r
+\r
+       FreeRTOS.org is free software; you can redistribute it and/or modify it\r
+       under the terms of the GNU General Public License (version 2) as published\r
+       by the Free Software Foundation and modified by the FreeRTOS exception.\r
+       **NOTE** The exception to the GPL is included to allow you to distribute a\r
+       combined work that includes FreeRTOS.org without being obliged to provide\r
+       the source code for any proprietary components.  Alternative commercial\r
+       license and support terms are also available upon request.  See the \r
+       licensing section of http://www.FreeRTOS.org for full details.\r
+\r
+       FreeRTOS.org is distributed in the hope that it will be useful, but WITHOUT\r
+       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+       FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+       more details.\r
+\r
+       You should have received a copy of the GNU General Public License along\r
+       with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59\r
+       Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
+\r
+\r
+       ***************************************************************************\r
+       *                                                                         *\r
+       * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *\r
+       *                                                                         *\r
+       * This is a concise, step by step, 'hands on' guide that describes both   *\r
+       * general multitasking concepts and FreeRTOS specifics. It presents and   *\r
+       * explains numerous examples that are written using the FreeRTOS API.     *\r
+       * Full source code for all the examples is provided in an accompanying    *\r
+       * .zip file.                                                              *\r
+       *                                                                         *\r
+       ***************************************************************************\r
+\r
+       1 tab == 4 spaces!\r
+\r
+       Please ensure to read the configuration and relevant port sections of the\r
+       online documentation.\r
+\r
+       http://www.FreeRTOS.org - Documentation, latest information, license and\r
+       contact details.\r
+\r
+       http://www.SafeRTOS.com - A version that is certified for use in safety\r
+       critical systems.\r
+\r
+       http://www.OpenRTOS.com - Commercial support, development, porting,\r
+       licensing and training services.\r
+*/\r
+\r
+\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+#include "partest.h"\r
+\r
+#define partstNUM_LEDs 4\r
+\r
+/*-----------------------------------------------------------\r
+ * Simple LED IO routines for the tower LEDs LED1 to LED4.\r
+ *-----------------------------------------------------------*/\r
+\r
+void vParTestInitialise( void )\r
+{\r
+       /* Enable pull and output drive. */\r
+       PTHPE_PTHPE3 = 1;\r
+       PTHDD_PTHDD3 = 1;\r
+\r
+       PTEPE_PTEPE5 = 1;\r
+       PTEDD_PTEDD5 = 1;\r
+\r
+       PTGPE_PTGPE5 = 1;\r
+       PTGDD_PTGDD5 = 1;\r
+\r
+       PTEPE_PTEPE3 = 1;\r
+       PTEDD_PTEDD3 = 1;\r
+       \r
+       /* Enable clock to ports. */\r
+       SCGC3_PTE = 1;\r
+       SCGC3_PTF = 1;\r
+       SCGC3_PTG = 1;\r
+\r
+       /* Ensure the LEDs are off. */\r
+       vParTestSetLED( 0, 0 );\r
+       vParTestSetLED( 1, 0 );\r
+       vParTestSetLED( 2, 0 );\r
+       vParTestSetLED( 3, 0 );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
+{\r
+       switch( uxLED )\r
+       {\r
+               case 0: PTHD_PTHD3 = xValue;\r
+                               break;\r
+               case 1: PTED_PTED5 = xValue;\r
+                               break;\r
+               case 2: PTGD_PTGD5 = xValue;\r
+                               break;\r
+               case 3: PTED_PTED3 = xValue;\r
+                               break;\r
+               default : /* There are no other LEDs. */\r
+                               break;\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
+{\r
+       portENTER_CRITICAL();\r
+       {\r
+               switch( uxLED )\r
+               {\r
+                       case 0: PTHD_PTHD3 = !PTHD_PTHD3;\r
+                                       break;\r
+                       case 1: PTED_PTED5 = !PTED_PTED5;\r
+                                       break;\r
+                       case 2: PTGD_PTGD5 = !PTGD_PTGD5;\r
+                                       break;\r
+                       case 3: PTED_PTED3 = !!PTED_PTED3;\r
+                                       break;\r
+                       default : /* There are no other LEDs. */\r
+                                       break;\r
+               }\r
+       }\r
+       portEXIT_CRITICAL();\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+unsigned portBASE_TYPE uxParTestGetLED( unsigned portBASE_TYPE uxLED )\r
+{\r
+       /* We ignore the parameter as in this simple example we simply return the\r
+       state of LED3. */\r
+       ( void ) uxLED;\r
+       \r
+       return PTED_PTED3;\r
+}\r
+\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/derivative.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/derivative.h
new file mode 100644 (file)
index 0000000..8ed9a3d
--- /dev/null
@@ -0,0 +1,15 @@
+/*\r
+ * Note: This file is recreated by the project wizard whenever the MCU is\r
+ *       changed and should not be edited by hand\r
+ */\r
+\r
+/* Include the derivative-specific header file */\r
+#include <MCF51CN128.h>\r
+\r
+#define _Stop asm ( mov3q #4,d0; bclr.b d0,SOPT1; stop #0x2000; )\r
+  /*!< Macro to enter stop modes, STOPE bit in SOPT1 register must be set prior to executing this macro */\r
+\r
+#define _Wait asm ( mov3q #4,d0; bset.b d0,SOPT1; nop; stop #0x2000; )\r
+  /*!< Macro to enter wait mode */\r
+\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/eth.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/eth.h
new file mode 100644 (file)
index 0000000..916b949
--- /dev/null
@@ -0,0 +1,55 @@
+/*! \r
+ * \file    eth.h\r
+ * \brief   Definitinos for Ethernet Frames\r
+ * \version $Revision: 1.2 $\r
+ * \author  Michael Norman\r
+ */\r
+\r
+#ifndef _ETH_H\r
+#define _ETH_H\r
+\r
+/*******************************************************************/\r
+\r
+/* Ethernet standard lengths in bytes*/\r
+#define ETH_ADDR_LEN    (6)\r
+#define ETH_TYPE_LEN    (2)\r
+#define ETH_CRC_LEN     (4)\r
+#define ETH_MAX_DATA    (1500)\r
+#define ETH_MIN_DATA    (46)\r
+#define ETH_HDR_LEN     (ETH_ADDR_LEN * 2 + ETH_TYPE_LEN)\r
+\r
+/* Defined Ethernet Frame Types */\r
+#define ETH_FRM_IP      (0x0800)\r
+#define ETH_FRM_ARP     (0x0806)\r
+#define ETH_FRM_RARP    (0x8035)\r
+#define ETH_FRM_TEST    (0xA5A5)\r
+\r
+/* Maximum and Minimum Ethernet Frame Sizes */\r
+#define ETH_MAX_FRM     (ETH_HDR_LEN + ETH_MAX_DATA + ETH_CRC_LEN)\r
+#define ETH_MIN_FRM     (ETH_HDR_LEN + ETH_MIN_DATA + ETH_CRC_LEN)\r
+#define ETH_MTU         (ETH_HDR_LEN + ETH_MAX_DATA)\r
+\r
+/* Ethernet Addresses */\r
+typedef unsigned portCHAR ETH_ADDR[ETH_ADDR_LEN];\r
+\r
+/* 16-bit Ethernet Frame Type, ie. Protocol */\r
+typedef unsigned portSHORT ETH_FRM_TYPE;\r
+\r
+/* Ethernet Frame Header definition */\r
+typedef struct\r
+{\r
+    ETH_ADDR     dest;\r
+    ETH_ADDR     src;\r
+    ETH_FRM_TYPE type;\r
+} ETH_HDR;\r
+\r
+/* Ethernet Frame definition */\r
+typedef struct\r
+{\r
+    ETH_HDR head;\r
+    unsigned portCHAR*  data;\r
+} ETH_FRAME;\r
+\r
+/*******************************************************************/\r
+\r
+#endif  /* _ETH_H */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/eth_phy.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/eth_phy.h
new file mode 100644 (file)
index 0000000..745668c
--- /dev/null
@@ -0,0 +1,70 @@
+/*!\r
+ * \file    eth.h\r
+ * \brief   Definitions for Ethernet Physical Layer Interface\r
+ * \version $Revision: 1.3 $\r
+ * \author  Michael Norman\r
+ */\r
+\r
+#ifndef _ETH_PHY_H\r
+#define _ETH_PHY_H\r
+\r
+/*******************************************************************/\r
+\r
+/* MII Register Addresses */\r
+#define PHY_BMCR                                   (0x00)\r
+#define PHY_BMSR                    (0x01)\r
+#define PHY_PHYIDR1                                (0x02)\r
+#define PHY_PHYIDR2                                (0x03)\r
+#define PHY_ANAR                                   (0x04)\r
+#define PHY_ANLPAR                         (0x05)\r
+\r
+/* Bit definitions and macros for PHY_CTRL */\r
+#define PHY_BMCR_RESET                 (0x8000)\r
+#define PHY_BMCR_LOOP                      (0x4000)\r
+#define PHY_BMCR_SPEED                 (0x2000)\r
+#define PHY_BMCR_AN_ENABLE                 (0x1000)\r
+#define PHY_BMCR_POWERDOWN         (0x0800)\r
+#define PHY_BMCR_ISOLATE               (0x0400)\r
+#define PHY_BMCR_AN_RESTART            (0x0200)\r
+#define PHY_BMCR_FDX                       (0x0100)\r
+#define PHY_BMCR_COL_TEST              (0x0080)\r
+\r
+/* Bit definitions and macros for PHY_STAT */\r
+#define PHY_BMSR_100BT4             (0x8000)\r
+#define PHY_BMSR_100BTX_FDX         (0x4000)\r
+#define PHY_BMSR_100BTX             (0x2000)\r
+#define PHY_BMSR_10BT_FDX           (0x1000)\r
+#define PHY_BMSR_10BT               (0x0800)\r
+#define PHY_BMSR_NO_PREAMBLE        (0x0040)\r
+#define PHY_BMSR_AN_COMPLETE        (0x0020)\r
+#define PHY_BMSR_REMOTE_FAULT       (0x0010)\r
+#define PHY_BMSR_AN_ABILITY         (0x0008)\r
+#define PHY_BMSR_LINK               (0x0004)\r
+#define PHY_BMSR_JABBER             (0x0002)\r
+#define PHY_BMSR_EXTENDED           (0x0001)\r
+\r
+/* Bit definitions and macros for PHY_AN_ADV */\r
+#define PHY_ANAR_NEXT_PAGE          (0x8001)\r
+#define PHY_ANAR_REM_FAULT             (0x2001)\r
+#define PHY_ANAR_PAUSE                 (0x0401)\r
+#define PHY_ANAR_100BT4                        (0x0201)\r
+#define PHY_ANAR_100BTX_FDX            (0x0101)\r
+#define PHY_ANAR_100BTX                        (0x0081)\r
+#define PHY_ANAR_10BT_FDX                  (0x0041)\r
+#define PHY_ANAR_10BT                  (0x0021)\r
+#define PHY_ANAR_802_3                 (0x0001)\r
+\r
+/* Bit definitions and macros for PHY_AN_LINK_PAR */\r
+#define PHY_ANLPAR_NEXT_PAGE        (0x8000)\r
+#define PHY_ANLPAR_ACK              (0x4000)\r
+#define PHY_ANLPAR_REM_FAULT       (0x2000)\r
+#define PHY_ANLPAR_PAUSE                   (0x0400)\r
+#define PHY_ANLPAR_100BT4                  (0x0200)\r
+#define PHY_ANLPAR_100BTX_FDX      (0x0100)\r
+#define PHY_ANLPAR_100BTX                  (0x0080)\r
+#define PHY_ANLPAR_10BTX_FDX        (0x0040)\r
+#define PHY_ANLPAR_10BT                        (0x0020)\r
+\r
+/*******************************************************************/\r
+\r
+#endif  /* _ETH_PHY_H */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/exceptions.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/exceptions.c
new file mode 100644 (file)
index 0000000..e10f052
--- /dev/null
@@ -0,0 +1,444 @@
+/*\r
+ * File:    exceptions.c\r
+ * Purpose: Generic exception handling for ColdFire processors\r
+ *\r
+ */\r
+\r
+#include "derivative.h"\r
+#include "exceptions.h"\r
+#include "startcf.h"\r
+\r
+#define REGISTER_ABI __REGABI__\r
+\r
+extern asm void interrupt 109 vPortYieldISR( void );\r
+extern void interrupt 86 vFECISRHandler( void );\r
+\r
+/***********************************************************************/\r
+/*\r
+ *  Set NO_PRINTF to 0 in order the exceptions.c interrupt handler\r
+ *  to output messages to the standard io. \r
+ * \r
+ */\r
+#define NO_PRINTF    1\r
+\r
+#if NO_PRINTF\r
+#define VECTORDISPLAY(MESSAGE)                    asm { nop; };\r
+#define VECTORDISPLAY2(MESSAGE,MESSAGE2)          asm { nop; };\r
+#define VECTORDISPLAY3(MESSAGE,MESSAGE2,MESSAGE3) asm { nop; };\r
+#else\r
+#include <stdio.h>\r
+#define VECTORDISPLAY(MESSAGE1)                    printf(MESSAGE1);\r
+#define VECTORDISPLAY2(MESSAGE1,MESSAGE2)          printf(MESSAGE1,MESSAGE2);\r
+#define VECTORDISPLAY3(MESSAGE1,MESSAGE2,MESSAGE3) printf(MESSAGE1,MESSAGE2,MESSAGE3);\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+extern unsigned long far _SP_INIT[];\r
+\r
+/***********************************************************************/\r
+/*\r
+ * Handling of the TRK ColdFire libs (printf support in Debugger Terminal) \r
+ * \r
+ * To enable this support:  \r
+ * - Set CONSOLE_IO_SUPPORT  1 in this file; this will enable \r
+ *   TrapHandler_printf for the trap #14 exception.\r
+ *\r
+ * - Make sure the file console_io_cf.c is in your project. \r
+ *\r
+ * - In the debugger make sure that in the Connection "Setup" dialog, \r
+ *   "Debug Options" property page, the check box \r
+ *   "Enable Terminal printf support" is set.\r
+ *   \r
+ *\r
+ * \r
+ */\r
+#define CONSOLE_IO_SUPPORT  0 \r
+\r
+#if CONSOLE_IO_SUPPORT\r
+asm void TrapHandler_printf(void) {\r
+   HALT\r
+   RTE\r
+}\r
+#endif                                                   \r
+\r
+/***********************************************************************/\r
+/*\r
+ * This is the handler for all exceptions which are not common to all \r
+ * ColdFire Chips.  \r
+ *\r
+ * Called by mcf_exception_handler\r
+ * \r
+ */\r
+void derivative_interrupt(unsigned long vector)\r
+{\r
+   if (vector < 64 || vector > 192) {\r
+      VECTORDISPLAY2("User Defined Vector #%d\n",vector);\r
+   }\r
+}\r
+\r
+/***********************************************************************\r
+ *\r
+ * This is the exception handler for all  exceptions common to all \r
+ * chips ColdFire.  Most exceptions do nothing, but some of the more \r
+ * important ones are handled to some extent.\r
+ *\r
+ * Called by asm_exception_handler \r
+ *\r
+ * The ColdFire family of processors has a simplified exception stack\r
+ * frame that looks like the following:\r
+ *\r
+ *              3322222222221111 111111\r
+ *              1098765432109876 5432109876543210\r
+ *           8 +----------------+----------------+\r
+ *             |         Program Counter         |\r
+ *           4 +----------------+----------------+\r
+ *             |FS/Fmt/Vector/FS|      SR        |\r
+ *   SP -->  0 +----------------+----------------+\r
+ *\r
+ * The stack self-aligns to a 4-byte boundary at an exception, with\r
+ * the FS/Fmt/Vector/FS field indicating the size of the adjustment\r
+ * (SP += 0,1,2,3 bytes).\r
+ *             31     28 27      26 25    18 17      16 15                                  0\r
+ *           4 +---------------------------------------+------------------------------------+\r
+ *             | Format | FS[3..2] | Vector | FS[1..0] |                 SR                 |\r
+ *   SP -->  0 +---------------------------------------+------------------------------------+\r
+ */ \r
+#define MCF5XXX_RD_SF_FORMAT(PTR)   \\r
+   ((*((unsigned short *)(PTR)) >> 12) & 0x00FF)\r
+\r
+#define MCF5XXX_RD_SF_VECTOR(PTR)   \\r
+   ((*((unsigned short *)(PTR)) >>  2) & 0x00FF)\r
+\r
+#define MCF5XXX_RD_SF_FS(PTR)    \\r
+   ( ((*((unsigned short *)(PTR)) & 0x0C00) >> 8) | (*((unsigned short *)(PTR)) & 0x0003) )\r
+\r
+#define MCF5XXX_SF_SR(PTR)    *(((unsigned short *)(PTR))+1)\r
+\r
+#define MCF5XXX_SF_PC(PTR)    *((unsigned long *)(PTR)+1)\r
+\r
+#define MCF5XXX_EXCEPTFMT     "%s -- PC = %#08X\n"\r
+\r
+\r
+void mcf_exception_handler(void *framepointer) \r
+{\r
+   volatile unsigned long exceptionStackFrame = (*(unsigned long *)(framepointer)); \r
+   volatile unsigned short stackFrameSR       = MCF5XXX_SF_SR(framepointer);  \r
+   volatile unsigned short stackFrameWord     = (*(unsigned short *)(framepointer));  \r
+   volatile unsigned long  stackFrameFormat   = (unsigned long)MCF5XXX_RD_SF_FORMAT(&stackFrameWord);\r
+   volatile unsigned long  stackFrameFS       = (unsigned long)MCF5XXX_RD_SF_FS(&stackFrameWord);\r
+   volatile unsigned long  stackFrameVector   = (unsigned long)MCF5XXX_RD_SF_VECTOR(&stackFrameWord);\r
+   volatile unsigned long  stackFramePC       = MCF5XXX_SF_PC(framepointer);\r
+\r
+   switch (stackFrameFormat)\r
+   {\r
+      case 4:\r
+      case 5:\r
+      case 6:\r
+      case 7:\r
+         break;\r
+      default:\r
+         VECTORDISPLAY3(MCF5XXX_EXCEPTFMT,"Illegal stack type", stackFramePC);\r
+         break;\r
+   }\r
+\r
+   switch (stackFrameVector)\r
+   {\r
+   case 2:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Access Error", stackFramePC);\r
+      switch (stackFrameFS)\r
+      {\r
+         case 4:\r
+            VECTORDISPLAY("Error on instruction fetch\n");\r
+            break;\r
+         case 8:\r
+            VECTORDISPLAY("Error on operand write\n");\r
+            break;\r
+         case 9:\r
+            VECTORDISPLAY("Attempted write to write-protected space\n");\r
+            break;\r
+         case 12:\r
+            VECTORDISPLAY("Error on operand read\n");\r
+            break;\r
+         default:\r
+            VECTORDISPLAY("Reserved Fault Status Encoding\n");\r
+            break;\r
+      }\r
+      break;\r
+   case 3:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Address Error", stackFramePC);\r
+      switch (stackFrameFS)\r
+      {\r
+         case 4:\r
+            VECTORDISPLAY("Error on instruction fetch\n");\r
+            break;\r
+         case 8:\r
+            VECTORDISPLAY("Error on operand write\n");\r
+            break;\r
+         case 9:\r
+            VECTORDISPLAY("Attempted write to write-protected space\n");\r
+            break;\r
+         case 12:\r
+            VECTORDISPLAY("Error on operand read\n");\r
+            break;\r
+         default:\r
+            VECTORDISPLAY("Reserved Fault Status Encoding\n");\r
+            break;\r
+      }\r
+      break;\r
+   case 4:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Illegal instruction", stackFramePC);\r
+      break;\r
+   case 8:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Privilege violation", stackFramePC);\r
+      break;\r
+   case 9:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Trace Exception", stackFramePC);\r
+      break;\r
+   case 10:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Unimplemented A-Line Instruction",    stackFramePC);\r
+      break;\r
+   case 11:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Unimplemented F-Line Instruction",    stackFramePC);\r
+      break;\r
+   case 12:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Debug Interrupt", stackFramePC);\r
+      break;\r
+   case 14:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Format Error", stackFramePC);\r
+      break;\r
+   case 15:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Unitialized Interrupt", stackFramePC);\r
+      break;\r
+   case 24:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Spurious Interrupt", stackFramePC);\r
+      break;\r
+   case 25:\r
+   case 26:\r
+   case 27:\r
+   case 28:\r
+   case 29:\r
+   case 30:\r
+   case 31:\r
+      VECTORDISPLAY2("Autovector interrupt level %d\n", stackFrameVector - 24);\r
+      break;\r
+   case 32:\r
+   case 33:\r
+   case 34:\r
+   case 35:\r
+   case 36:\r
+   case 37:\r
+   case 38:\r
+   case 39:\r
+   case 40:\r
+   case 41:\r
+   case 42:\r
+   case 43:\r
+   case 44:\r
+   case 45:\r
+   case 46:\r
+   case 47:\r
+      VECTORDISPLAY2("TRAP #%d\n", stackFrameVector - 32);\r
+      break;\r
+   case 5:\r
+   case 6:\r
+   case 7:\r
+   case 13:\r
+   case 16:\r
+   case 17:\r
+   case 18:\r
+   case 19:\r
+   case 20:\r
+   case 21:\r
+   case 22:\r
+   case 23:\r
+   case 48:\r
+   case 49:\r
+   case 50:\r
+   case 51:\r
+   case 52:\r
+   case 53:\r
+   case 54:\r
+   case 55:\r
+   case 56:\r
+   case 57:\r
+   case 58:\r
+   case 59:\r
+   case 60:\r
+   case 61:\r
+   case 62:\r
+   case 63:\r
+      VECTORDISPLAY2("Reserved: #%d\n", stackFrameVector);\r
+      break;\r
+   default:\r
+      derivative_interrupt(stackFrameVector);\r
+   break;\r
+   }\r
+}\r
+\r
+#if REGISTER_ABI\r
+asm void asm_exception_handler(void)\r
+{\r
+   link     a6,#0 \r
+   lea     -20(sp), sp\r
+   movem.l d0-d2/a0-a1, (sp)\r
+   lea     24(sp),a0   /* A0 point to exception stack frame on the stack */\r
+   jsr     mcf_exception_handler\r
+   movem.l (sp), d0-d2/a0-a1\r
+   lea     20(sp), sp\r
+   unlk a6\r
+   rte\r
+}\r
+#else\r
+asm void asm_exception_handler(void)\r
+{\r
+   link     a6,#0 \r
+   lea     -20(sp), sp\r
+   movem.l d0-d2/a0-a1, (sp)\r
+   pea     24(sp)   /* push exception frame address */\r
+   jsr     mcf_exception_handler\r
+   movem.l 4(sp), d0-d2/a0-a1\r
+   lea     24(sp), sp\r
+   unlk a6\r
+   rte\r
+}\r
+#endif\r
+\r
+typedef void (* vectorTableEntryType)(void);\r
+\r
+#if CONSOLE_IO_SUPPORT\r
+vectorTableEntryType vector_printf @Vtrap14     = TrapHandler_printf;\r
+#endif\r
+\r
+/*\r
+ *  MCF51CN128 vector table\r
+ *  CF V1 has 114 vector + SP_INIT in the vector table (115 entries)\r
+ */\r
+\r
+__declspec(weak) vectorTableEntryType vector_0   @INITSP = (vectorTableEntryType)&_SP_INIT;\r
+__declspec(weak) vectorTableEntryType vector_1   @INITPC = (vectorTableEntryType)&_startup;\r
+__declspec(weak) vectorTableEntryType vector_2   @Vaccerr = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_3   @Vadderr = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_4   @Viinstr = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_5   @VReserved5 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_6   @VReserved6 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_7   @VReserved7 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_8   @Vprviol = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_9   @Vtrace = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_10  @Vunilaop = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_11  @Vunilfop = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_12  @Vdbgi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_13  @VReserved13 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_14  @Vferror = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_15  @VReserved15 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_16  @VReserved16 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_17  @VReserved17 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_18  @VReserved18 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_19  @VReserved19 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_20  @VReserved20 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_21  @VReserved21 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_22  @VReserved22 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_23  @VReserved23 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_24  @Vspuri = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_25  @VReserved25 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_26  @VReserved26 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_27  @VReserved27 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_28  @VReserved28 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_29  @VReserved29 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_30  @VReserved30 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_31  @VReserved31 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_32  @Vtrap0 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_33  @Vtrap1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_34  @Vtrap2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_35  @Vtrap3 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_36  @Vtrap4 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_37  @Vtrap5 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_38  @Vtrap6 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_39  @Vtrap7 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_40  @Vtrap8 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_41  @Vtrap9 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_42  @Vtrap10 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_43  @Vtrap11 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_44  @Vtrap12 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_45  @Vtrap13 = asm_exception_handler;\r
+#if CONSOLE_IO_SUPPORT == 0\r
+__declspec(weak) vectorTableEntryType vector_46  @Vtrap14 = asm_exception_handler;\r
+#endif\r
+__declspec(weak) vectorTableEntryType vector_47  @Vtrap15 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_48  @VReserved48 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_49  @VReserved49 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_50  @VReserved50 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_51  @VReserved51 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_52  @VReserved52 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_53  @VReserved53 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_54  @VReserved54 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_55  @VReserved55 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_56  @VReserved56 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_57  @VReserved57 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_58  @VReserved58 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_59  @VReserved59 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_60  @VReserved60 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_61  @Vunsinstr = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_62  @VReserved62 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_63  @VReserved63 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_64  @Virq = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_65  @Vlvd = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_66  @Vlol = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_67  @Vtpm1ch0 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_68  @Vtpm1ch1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_69  @Vtpm1ch2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_70  @Vtpm1ovf = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_71  @Vmtim1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_72  @Vtpm2ch0 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_73  @Vtpm2ch1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_74  @Vtpm2ch2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_75  @Vtpm2ovf = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_76  @Vspi1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_77  @Vspi2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_78  @Vmtim2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_79  @Vsci1err = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_80  @Vsci1rx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_81  @Vsci1tx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_82  @Vsci2err = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_83  @Vsci2rx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_84  @Vsci2tx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_85  @Vsci3or = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_86  @Vfectxf = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_87  @Vfecrxf = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_88  @Vfecother = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_89  @Vfechberr = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_90  @Vfecbabr = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_91  @Vfecbabt = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_92  @Vfecgra = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_93  @Vfectxb = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_94  @Vfecrxb = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_95  @Vfecmii = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_96  @Vfeceberr = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_97  @Vfeclc = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_98  @Vfecrl = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_99  @Vfecun = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_100 @Vsci3err = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_101 @Vsci3rx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_102 @Vsci3tx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_103 @VL7swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_104 @VL6swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_105 @VL5swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_106 @VL4swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_107 @VL3swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_108 @VL2swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_109 @VL1swi = vPortYieldISR;\r
+__declspec(weak) vectorTableEntryType vector_110 @Viic1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_111 @Viic2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_112 @Vadc = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_113 @Vkeyboard = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_114 @Vrtc = asm_exception_handler;\r
+\r
+\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/exceptions.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/exceptions.h
new file mode 100644 (file)
index 0000000..7995f30
--- /dev/null
@@ -0,0 +1,52 @@
+/*\r
+ * File: exceptions.h\r
+ * Purpose: Generic exception handling for ColdFire processors\r
+ *\r
+ * Notes:\r
+ */\r
+\r
+#ifndef _MCF_EXCEPTIONS_H\r
+#define _MCF_EXCEPTIONS_H\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/***********************************************************************/\r
+/*\r
+ * This is the handler for all exceptions which are not common to all \r
+ * ColdFire Chips.  \r
+ *\r
+ * Called by mcf_exception_handler\r
+ * \r
+ */\r
+void derivative_interrupt(unsigned long vector);\r
+\r
+/***********************************************************************/\r
+/*\r
+ * This is the exception handler for all  exceptions common to all \r
+ * chips ColdFire.  Most exceptions do nothing, but some of the more \r
+ * important ones are handled to some extent.\r
+ *\r
+ * Called by asm_exception_handler \r
+ */\r
+void mcf_exception_handler(void *framepointer);\r
+\r
+\r
+/***********************************************************************/\r
+/*\r
+ * This is the assembly exception handler defined in the vector table.  \r
+ * This function is in assembler so that the frame pointer can be read  \r
+ * from the stack.\r
+ * Note that the way to give the stack frame as argument to the c handler\r
+ * depends on the used ABI (Register, Compact or Standard).\r
+ *\r
+ */\r
+asm void asm_exception_handler(void);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif   /* _MCF_EXCEPTIONS_H */\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/exceptions.old0.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/exceptions.old0.c
new file mode 100644 (file)
index 0000000..e10f052
--- /dev/null
@@ -0,0 +1,444 @@
+/*\r
+ * File:    exceptions.c\r
+ * Purpose: Generic exception handling for ColdFire processors\r
+ *\r
+ */\r
+\r
+#include "derivative.h"\r
+#include "exceptions.h"\r
+#include "startcf.h"\r
+\r
+#define REGISTER_ABI __REGABI__\r
+\r
+extern asm void interrupt 109 vPortYieldISR( void );\r
+extern void interrupt 86 vFECISRHandler( void );\r
+\r
+/***********************************************************************/\r
+/*\r
+ *  Set NO_PRINTF to 0 in order the exceptions.c interrupt handler\r
+ *  to output messages to the standard io. \r
+ * \r
+ */\r
+#define NO_PRINTF    1\r
+\r
+#if NO_PRINTF\r
+#define VECTORDISPLAY(MESSAGE)                    asm { nop; };\r
+#define VECTORDISPLAY2(MESSAGE,MESSAGE2)          asm { nop; };\r
+#define VECTORDISPLAY3(MESSAGE,MESSAGE2,MESSAGE3) asm { nop; };\r
+#else\r
+#include <stdio.h>\r
+#define VECTORDISPLAY(MESSAGE1)                    printf(MESSAGE1);\r
+#define VECTORDISPLAY2(MESSAGE1,MESSAGE2)          printf(MESSAGE1,MESSAGE2);\r
+#define VECTORDISPLAY3(MESSAGE1,MESSAGE2,MESSAGE3) printf(MESSAGE1,MESSAGE2,MESSAGE3);\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+extern unsigned long far _SP_INIT[];\r
+\r
+/***********************************************************************/\r
+/*\r
+ * Handling of the TRK ColdFire libs (printf support in Debugger Terminal) \r
+ * \r
+ * To enable this support:  \r
+ * - Set CONSOLE_IO_SUPPORT  1 in this file; this will enable \r
+ *   TrapHandler_printf for the trap #14 exception.\r
+ *\r
+ * - Make sure the file console_io_cf.c is in your project. \r
+ *\r
+ * - In the debugger make sure that in the Connection "Setup" dialog, \r
+ *   "Debug Options" property page, the check box \r
+ *   "Enable Terminal printf support" is set.\r
+ *   \r
+ *\r
+ * \r
+ */\r
+#define CONSOLE_IO_SUPPORT  0 \r
+\r
+#if CONSOLE_IO_SUPPORT\r
+asm void TrapHandler_printf(void) {\r
+   HALT\r
+   RTE\r
+}\r
+#endif                                                   \r
+\r
+/***********************************************************************/\r
+/*\r
+ * This is the handler for all exceptions which are not common to all \r
+ * ColdFire Chips.  \r
+ *\r
+ * Called by mcf_exception_handler\r
+ * \r
+ */\r
+void derivative_interrupt(unsigned long vector)\r
+{\r
+   if (vector < 64 || vector > 192) {\r
+      VECTORDISPLAY2("User Defined Vector #%d\n",vector);\r
+   }\r
+}\r
+\r
+/***********************************************************************\r
+ *\r
+ * This is the exception handler for all  exceptions common to all \r
+ * chips ColdFire.  Most exceptions do nothing, but some of the more \r
+ * important ones are handled to some extent.\r
+ *\r
+ * Called by asm_exception_handler \r
+ *\r
+ * The ColdFire family of processors has a simplified exception stack\r
+ * frame that looks like the following:\r
+ *\r
+ *              3322222222221111 111111\r
+ *              1098765432109876 5432109876543210\r
+ *           8 +----------------+----------------+\r
+ *             |         Program Counter         |\r
+ *           4 +----------------+----------------+\r
+ *             |FS/Fmt/Vector/FS|      SR        |\r
+ *   SP -->  0 +----------------+----------------+\r
+ *\r
+ * The stack self-aligns to a 4-byte boundary at an exception, with\r
+ * the FS/Fmt/Vector/FS field indicating the size of the adjustment\r
+ * (SP += 0,1,2,3 bytes).\r
+ *             31     28 27      26 25    18 17      16 15                                  0\r
+ *           4 +---------------------------------------+------------------------------------+\r
+ *             | Format | FS[3..2] | Vector | FS[1..0] |                 SR                 |\r
+ *   SP -->  0 +---------------------------------------+------------------------------------+\r
+ */ \r
+#define MCF5XXX_RD_SF_FORMAT(PTR)   \\r
+   ((*((unsigned short *)(PTR)) >> 12) & 0x00FF)\r
+\r
+#define MCF5XXX_RD_SF_VECTOR(PTR)   \\r
+   ((*((unsigned short *)(PTR)) >>  2) & 0x00FF)\r
+\r
+#define MCF5XXX_RD_SF_FS(PTR)    \\r
+   ( ((*((unsigned short *)(PTR)) & 0x0C00) >> 8) | (*((unsigned short *)(PTR)) & 0x0003) )\r
+\r
+#define MCF5XXX_SF_SR(PTR)    *(((unsigned short *)(PTR))+1)\r
+\r
+#define MCF5XXX_SF_PC(PTR)    *((unsigned long *)(PTR)+1)\r
+\r
+#define MCF5XXX_EXCEPTFMT     "%s -- PC = %#08X\n"\r
+\r
+\r
+void mcf_exception_handler(void *framepointer) \r
+{\r
+   volatile unsigned long exceptionStackFrame = (*(unsigned long *)(framepointer)); \r
+   volatile unsigned short stackFrameSR       = MCF5XXX_SF_SR(framepointer);  \r
+   volatile unsigned short stackFrameWord     = (*(unsigned short *)(framepointer));  \r
+   volatile unsigned long  stackFrameFormat   = (unsigned long)MCF5XXX_RD_SF_FORMAT(&stackFrameWord);\r
+   volatile unsigned long  stackFrameFS       = (unsigned long)MCF5XXX_RD_SF_FS(&stackFrameWord);\r
+   volatile unsigned long  stackFrameVector   = (unsigned long)MCF5XXX_RD_SF_VECTOR(&stackFrameWord);\r
+   volatile unsigned long  stackFramePC       = MCF5XXX_SF_PC(framepointer);\r
+\r
+   switch (stackFrameFormat)\r
+   {\r
+      case 4:\r
+      case 5:\r
+      case 6:\r
+      case 7:\r
+         break;\r
+      default:\r
+         VECTORDISPLAY3(MCF5XXX_EXCEPTFMT,"Illegal stack type", stackFramePC);\r
+         break;\r
+   }\r
+\r
+   switch (stackFrameVector)\r
+   {\r
+   case 2:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Access Error", stackFramePC);\r
+      switch (stackFrameFS)\r
+      {\r
+         case 4:\r
+            VECTORDISPLAY("Error on instruction fetch\n");\r
+            break;\r
+         case 8:\r
+            VECTORDISPLAY("Error on operand write\n");\r
+            break;\r
+         case 9:\r
+            VECTORDISPLAY("Attempted write to write-protected space\n");\r
+            break;\r
+         case 12:\r
+            VECTORDISPLAY("Error on operand read\n");\r
+            break;\r
+         default:\r
+            VECTORDISPLAY("Reserved Fault Status Encoding\n");\r
+            break;\r
+      }\r
+      break;\r
+   case 3:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Address Error", stackFramePC);\r
+      switch (stackFrameFS)\r
+      {\r
+         case 4:\r
+            VECTORDISPLAY("Error on instruction fetch\n");\r
+            break;\r
+         case 8:\r
+            VECTORDISPLAY("Error on operand write\n");\r
+            break;\r
+         case 9:\r
+            VECTORDISPLAY("Attempted write to write-protected space\n");\r
+            break;\r
+         case 12:\r
+            VECTORDISPLAY("Error on operand read\n");\r
+            break;\r
+         default:\r
+            VECTORDISPLAY("Reserved Fault Status Encoding\n");\r
+            break;\r
+      }\r
+      break;\r
+   case 4:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Illegal instruction", stackFramePC);\r
+      break;\r
+   case 8:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Privilege violation", stackFramePC);\r
+      break;\r
+   case 9:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Trace Exception", stackFramePC);\r
+      break;\r
+   case 10:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Unimplemented A-Line Instruction",    stackFramePC);\r
+      break;\r
+   case 11:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Unimplemented F-Line Instruction",    stackFramePC);\r
+      break;\r
+   case 12:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Debug Interrupt", stackFramePC);\r
+      break;\r
+   case 14:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Format Error", stackFramePC);\r
+      break;\r
+   case 15:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Unitialized Interrupt", stackFramePC);\r
+      break;\r
+   case 24:\r
+      VECTORDISPLAY3(MCF5XXX_EXCEPTFMT, "Spurious Interrupt", stackFramePC);\r
+      break;\r
+   case 25:\r
+   case 26:\r
+   case 27:\r
+   case 28:\r
+   case 29:\r
+   case 30:\r
+   case 31:\r
+      VECTORDISPLAY2("Autovector interrupt level %d\n", stackFrameVector - 24);\r
+      break;\r
+   case 32:\r
+   case 33:\r
+   case 34:\r
+   case 35:\r
+   case 36:\r
+   case 37:\r
+   case 38:\r
+   case 39:\r
+   case 40:\r
+   case 41:\r
+   case 42:\r
+   case 43:\r
+   case 44:\r
+   case 45:\r
+   case 46:\r
+   case 47:\r
+      VECTORDISPLAY2("TRAP #%d\n", stackFrameVector - 32);\r
+      break;\r
+   case 5:\r
+   case 6:\r
+   case 7:\r
+   case 13:\r
+   case 16:\r
+   case 17:\r
+   case 18:\r
+   case 19:\r
+   case 20:\r
+   case 21:\r
+   case 22:\r
+   case 23:\r
+   case 48:\r
+   case 49:\r
+   case 50:\r
+   case 51:\r
+   case 52:\r
+   case 53:\r
+   case 54:\r
+   case 55:\r
+   case 56:\r
+   case 57:\r
+   case 58:\r
+   case 59:\r
+   case 60:\r
+   case 61:\r
+   case 62:\r
+   case 63:\r
+      VECTORDISPLAY2("Reserved: #%d\n", stackFrameVector);\r
+      break;\r
+   default:\r
+      derivative_interrupt(stackFrameVector);\r
+   break;\r
+   }\r
+}\r
+\r
+#if REGISTER_ABI\r
+asm void asm_exception_handler(void)\r
+{\r
+   link     a6,#0 \r
+   lea     -20(sp), sp\r
+   movem.l d0-d2/a0-a1, (sp)\r
+   lea     24(sp),a0   /* A0 point to exception stack frame on the stack */\r
+   jsr     mcf_exception_handler\r
+   movem.l (sp), d0-d2/a0-a1\r
+   lea     20(sp), sp\r
+   unlk a6\r
+   rte\r
+}\r
+#else\r
+asm void asm_exception_handler(void)\r
+{\r
+   link     a6,#0 \r
+   lea     -20(sp), sp\r
+   movem.l d0-d2/a0-a1, (sp)\r
+   pea     24(sp)   /* push exception frame address */\r
+   jsr     mcf_exception_handler\r
+   movem.l 4(sp), d0-d2/a0-a1\r
+   lea     24(sp), sp\r
+   unlk a6\r
+   rte\r
+}\r
+#endif\r
+\r
+typedef void (* vectorTableEntryType)(void);\r
+\r
+#if CONSOLE_IO_SUPPORT\r
+vectorTableEntryType vector_printf @Vtrap14     = TrapHandler_printf;\r
+#endif\r
+\r
+/*\r
+ *  MCF51CN128 vector table\r
+ *  CF V1 has 114 vector + SP_INIT in the vector table (115 entries)\r
+ */\r
+\r
+__declspec(weak) vectorTableEntryType vector_0   @INITSP = (vectorTableEntryType)&_SP_INIT;\r
+__declspec(weak) vectorTableEntryType vector_1   @INITPC = (vectorTableEntryType)&_startup;\r
+__declspec(weak) vectorTableEntryType vector_2   @Vaccerr = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_3   @Vadderr = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_4   @Viinstr = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_5   @VReserved5 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_6   @VReserved6 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_7   @VReserved7 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_8   @Vprviol = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_9   @Vtrace = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_10  @Vunilaop = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_11  @Vunilfop = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_12  @Vdbgi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_13  @VReserved13 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_14  @Vferror = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_15  @VReserved15 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_16  @VReserved16 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_17  @VReserved17 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_18  @VReserved18 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_19  @VReserved19 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_20  @VReserved20 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_21  @VReserved21 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_22  @VReserved22 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_23  @VReserved23 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_24  @Vspuri = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_25  @VReserved25 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_26  @VReserved26 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_27  @VReserved27 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_28  @VReserved28 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_29  @VReserved29 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_30  @VReserved30 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_31  @VReserved31 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_32  @Vtrap0 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_33  @Vtrap1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_34  @Vtrap2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_35  @Vtrap3 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_36  @Vtrap4 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_37  @Vtrap5 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_38  @Vtrap6 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_39  @Vtrap7 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_40  @Vtrap8 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_41  @Vtrap9 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_42  @Vtrap10 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_43  @Vtrap11 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_44  @Vtrap12 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_45  @Vtrap13 = asm_exception_handler;\r
+#if CONSOLE_IO_SUPPORT == 0\r
+__declspec(weak) vectorTableEntryType vector_46  @Vtrap14 = asm_exception_handler;\r
+#endif\r
+__declspec(weak) vectorTableEntryType vector_47  @Vtrap15 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_48  @VReserved48 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_49  @VReserved49 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_50  @VReserved50 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_51  @VReserved51 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_52  @VReserved52 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_53  @VReserved53 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_54  @VReserved54 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_55  @VReserved55 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_56  @VReserved56 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_57  @VReserved57 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_58  @VReserved58 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_59  @VReserved59 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_60  @VReserved60 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_61  @Vunsinstr = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_62  @VReserved62 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_63  @VReserved63 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_64  @Virq = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_65  @Vlvd = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_66  @Vlol = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_67  @Vtpm1ch0 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_68  @Vtpm1ch1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_69  @Vtpm1ch2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_70  @Vtpm1ovf = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_71  @Vmtim1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_72  @Vtpm2ch0 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_73  @Vtpm2ch1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_74  @Vtpm2ch2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_75  @Vtpm2ovf = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_76  @Vspi1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_77  @Vspi2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_78  @Vmtim2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_79  @Vsci1err = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_80  @Vsci1rx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_81  @Vsci1tx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_82  @Vsci2err = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_83  @Vsci2rx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_84  @Vsci2tx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_85  @Vsci3or = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_86  @Vfectxf = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_87  @Vfecrxf = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_88  @Vfecother = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_89  @Vfechberr = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_90  @Vfecbabr = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_91  @Vfecbabt = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_92  @Vfecgra = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_93  @Vfectxb = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_94  @Vfecrxb = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_95  @Vfecmii = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_96  @Vfeceberr = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_97  @Vfeclc = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_98  @Vfecrl = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_99  @Vfecun = vFECISRHandler;\r
+__declspec(weak) vectorTableEntryType vector_100 @Vsci3err = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_101 @Vsci3rx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_102 @Vsci3tx = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_103 @VL7swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_104 @VL6swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_105 @VL5swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_106 @VL4swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_107 @VL3swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_108 @VL2swi = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_109 @VL1swi = vPortYieldISR;\r
+__declspec(weak) vectorTableEntryType vector_110 @Viic1 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_111 @Viic2 = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_112 @Vadc = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_113 @Vkeyboard = asm_exception_handler;\r
+__declspec(weak) vectorTableEntryType vector_114 @Vrtc = asm_exception_handler;\r
+\r
+\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/fecbd.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/fecbd.h
new file mode 100644 (file)
index 0000000..4be8049
--- /dev/null
@@ -0,0 +1,101 @@
+/*\r
+ * File:    fecbd.h\r
+ * Purpose:     \r
+ *\r
+ * Purpose: Provide a simple buffer management driver\r
+ */\r
+\r
+#ifndef _FECBD_H_\r
+#define _FECBD_H_\r
+\r
+/********************************************************************/\r
+\r
+#define Rx  1\r
+#define Tx  0\r
+\r
+/*\r
+ * Buffer sizes in bytes \r
+ */\r
+#ifndef RX_BUF_SZ\r
+#define RX_BUF_SZ  1520 //2048 \r
+#endif\r
+#ifndef TX_BUF_SZ\r
+#define TX_BUF_SZ  1520\r
+#endif\r
+\r
+/* \r
+ * Buffer Descriptor Format \r
+ */\r
+#pragma options align= packed\r
+typedef struct\r
+{\r
+    unsigned portSHORT status;  /* control and status */\r
+    unsigned portSHORT length;  /* transfer length */\r
+    unsigned portCHAR  *data;   /* buffer address */\r
+} FECBD;\r
+\r
+/*\r
+ * Bit level definitions for status field of buffer descriptors\r
+ */\r
+#define TX_BD_R         0x8000\r
+#define TX_BD_TO1       0x4000\r
+#define TX_BD_W         0x2000\r
+#define TX_BD_TO2       0x1000\r
+#define TX_BD_INTERRUPT 0x1000  /* MCF547x/8x Only */\r
+#define TX_BD_L         0x0800\r
+#define TX_BD_TC        0x0400\r
+#define TX_BD_DEF       0x0200  /* MCF5272 Only */\r
+#define TX_BD_ABC       0x0200\r
+#define TX_BD_HB        0x0100  /* MCF5272 Only */\r
+#define TX_BD_LC        0x0080  /* MCF5272 Only */\r
+#define TX_BD_RL        0x0040  /* MCF5272 Only */\r
+#define TX_BD_UN        0x0002  /* MCF5272 Only */\r
+#define TX_BD_CSL       0x0001  /* MCF5272 Only */\r
+\r
+#define RX_BD_E         0x8000\r
+#define RX_BD_R01       0x4000\r
+#define RX_BD_W         0x2000\r
+#define RX_BD_R02       0x1000\r
+#define RX_BD_INTERRUPT 0x1000  /* MCF547x/8x Only */\r
+#define RX_BD_L         0x0800\r
+#define RX_BD_M         0x0100\r
+#define RX_BD_BC        0x0080\r
+#define RX_BD_MC        0x0040\r
+#define RX_BD_LG        0x0020\r
+#define RX_BD_NO        0x0010\r
+#define RX_BD_CR        0x0004\r
+#define RX_BD_OV        0x0002\r
+#define RX_BD_TR        0x0001\r
+#define RX_BD_ERROR     (RX_BD_NO | RX_BD_CR | RX_BD_OV | RX_BD_TR)\r
+\r
+/*\r
+ * The following defines are provided by the MCF547x/8x \r
+ * DMA API.  These are shown here to show their correlation\r
+ * to the other FEC buffer descriptor status bits\r
+ * \r
+ * #define MCD_FEC_BUF_READY   0x8000\r
+ * #define MCD_FEC_WRAP        0x2000\r
+ * #define MCD_FEC_INTERRUPT   0x1000\r
+ * #define MCD_FEC_END_FRAME   0x0800\r
+ */\r
+\r
+/* \r
+ * Functions provided in fec_bd.c \r
+ */\r
+int     fecbd_init(int, int, int);\r
+void    fecbd_flush(int);\r
+void    fecbd_dump( void );\r
+unsigned portLONG  fecbd_get_start(int, int);\r
+FECBD*  fecbd_rx_alloc(int);\r
+FECBD*  fecbd_tx_alloc(int);\r
+FECBD*  fecbd_tx_free(int);\r
+\r
+/*\r
+ * Error codes\r
+ */\r
+#define ERR_MALLOC      (-1)\r
+#define ERR_NBUFALLOC   (-2)\r
+\r
+/*******************************************************************/\r
+\r
+#endif /* _FECBD_H_ */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/clock-arch.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/clock-arch.h
new file mode 100644 (file)
index 0000000..cde657b
--- /dev/null
@@ -0,0 +1,42 @@
+/*\r
+ * Copyright (c) 2006, Swedish Institute of Computer Science.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. Neither the name of the Institute nor the names of its contributors\r
+ *    may be used to endorse or promote products derived from this software\r
+ *    without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ *\r
+ * This file is part of the uIP TCP/IP stack\r
+ *\r
+ * $Id: clock-arch.h,v 1.2 2006/06/12 08:00:31 adam Exp $\r
+ */\r
+\r
+#ifndef __CLOCK_ARCH_H__\r
+#define __CLOCK_ARCH_H__\r
+\r
+#include "FreeRTOS.h"\r
+\r
+typedef unsigned long clock_time_t;\r
+#define CLOCK_CONF_SECOND configTICK_RATE_HZ\r
+\r
+#endif /* __CLOCK_ARCH_H__ */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/http-strings b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/http-strings
new file mode 100644 (file)
index 0000000..0d3c30c
--- /dev/null
@@ -0,0 +1,35 @@
+http_http "http://"\r
+http_200 "200 "\r
+http_301 "301 "\r
+http_302 "302 "\r
+http_get "GET "\r
+http_10 "HTTP/1.0"\r
+http_11 "HTTP/1.1"\r
+http_content_type "content-type: "\r
+http_texthtml "text/html"\r
+http_location "location: "\r
+http_host "host: "\r
+http_crnl "\r\n"\r
+http_index_html "/index.html"\r
+http_404_html "/404.html"\r
+http_referer "Referer:"\r
+http_header_200 "HTTP/1.0 200 OK\r\nServer: uIP/1.0 http://www.sics.se/~adam/uip/\r\nConnection: close\r\n"\r
+http_header_404 "HTTP/1.0 404 Not found\r\nServer: uIP/1.0 http://www.sics.se/~adam/uip/\r\nConnection: close\r\n"\r
+http_content_type_plain "Content-type: text/plain\r\n\r\n"\r
+http_content_type_html "Content-type: text/html\r\n\r\n"\r
+http_content_type_css  "Content-type: text/css\r\n\r\n"\r
+http_content_type_text "Content-type: text/text\r\n\r\n"\r
+http_content_type_png  "Content-type: image/png\r\n\r\n"\r
+http_content_type_gif  "Content-type: image/gif\r\n\r\n"\r
+http_content_type_jpg  "Content-type: image/jpeg\r\n\r\n"\r
+http_content_type_binary "Content-type: application/octet-stream\r\n\r\n"\r
+http_html ".html"\r
+http_shtml ".shtml"\r
+http_htm ".htm"\r
+http_css ".css"\r
+http_png ".png"\r
+http_gif ".gif"\r
+http_jpg ".jpg"\r
+http_text ".txt"\r
+http_txt ".txt"\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/http-strings.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/http-strings.c
new file mode 100644 (file)
index 0000000..ef7a41c
--- /dev/null
@@ -0,0 +1,102 @@
+const char http_http[8] = \r
+/* "http://" */\r
+{0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, };\r
+const char http_200[5] = \r
+/* "200 " */\r
+{0x32, 0x30, 0x30, 0x20, };\r
+const char http_301[5] = \r
+/* "301 " */\r
+{0x33, 0x30, 0x31, 0x20, };\r
+const char http_302[5] = \r
+/* "302 " */\r
+{0x33, 0x30, 0x32, 0x20, };\r
+const char http_get[5] = \r
+/* "GET " */\r
+{0x47, 0x45, 0x54, 0x20, };\r
+const char http_10[9] = \r
+/* "HTTP/1.0" */\r
+{0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, };\r
+const char http_11[9] = \r
+/* "HTTP/1.1" */\r
+{0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x31, };\r
+const char http_content_type[15] = \r
+/* "content-type: " */\r
+{0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, };\r
+const char http_texthtml[10] = \r
+/* "text/html" */\r
+{0x74, 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, };\r
+const char http_location[11] = \r
+/* "location: " */\r
+{0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, };\r
+const char http_host[7] = \r
+/* "host: " */\r
+{0x68, 0x6f, 0x73, 0x74, 0x3a, 0x20, };\r
+const char http_crnl[3] = \r
+/* "\r\n" */\r
+{0xd, 0xa, };\r
+const char http_index_html[12] = \r
+/* "/index.html" */\r
+{0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, };\r
+const char http_404_html[10] = \r
+/* "/404.html" */\r
+{0x2f, 0x34, 0x30, 0x34, 0x2e, 0x68, 0x74, 0x6d, 0x6c, };\r
+const char http_referer[9] = \r
+/* "Referer:" */\r
+{0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x3a, };\r
+const char http_header_200[84] = \r
+/* "HTTP/1.0 200 OK\r\nServer: uIP/1.0 http://www.sics.se/~adam/uip/\r\nConnection: close\r\n" */\r
+{0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, 0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x69, 0x63, 0x73, 0x2e, 0x73, 0x65, 0x2f, 0x7e, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, 0x70, 0x2f, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0xd, 0xa, };\r
+const char http_header_404[91] = \r
+/* "HTTP/1.0 404 Not found\r\nServer: uIP/1.0 http://www.sics.se/~adam/uip/\r\nConnection: close\r\n" */\r
+{0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x34, 0x30, 0x34, 0x20, 0x4e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0xd, 0xa, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x69, 0x63, 0x73, 0x2e, 0x73, 0x65, 0x2f, 0x7e, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, 0x70, 0x2f, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0xd, 0xa, };\r
+const char http_content_type_plain[29] = \r
+/* "Content-type: text/plain\r\n\r\n" */\r
+{0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0xd, 0xa, 0xd, 0xa, };\r
+const char http_content_type_html[28] = \r
+/* "Content-type: text/html\r\n\r\n" */\r
+{0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, 0xd, 0xa, };\r
+const char http_content_type_css [27] = \r
+/* "Content-type: text/css\r\n\r\n" */\r
+{0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0xd, 0xa, 0xd, 0xa, };\r
+const char http_content_type_text[28] = \r
+/* "Content-type: text/text\r\n\r\n" */\r
+{0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x74, 0x65, 0x78, 0x74, 0xd, 0xa, 0xd, 0xa, };\r
+const char http_content_type_png [28] = \r
+/* "Content-type: image/png\r\n\r\n" */\r
+{0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x6e, 0x67, 0xd, 0xa, 0xd, 0xa, };\r
+const char http_content_type_gif [28] = \r
+/* "Content-type: image/gif\r\n\r\n" */\r
+{0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66, 0xd, 0xa, 0xd, 0xa, };\r
+const char http_content_type_jpg [29] = \r
+/* "Content-type: image/jpeg\r\n\r\n" */\r
+{0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x6a, 0x70, 0x65, 0x67, 0xd, 0xa, 0xd, 0xa, };\r
+const char http_content_type_binary[43] = \r
+/* "Content-type: application/octet-stream\r\n\r\n" */\r
+{0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6f, 0x63, 0x74, 0x65, 0x74, 0x2d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xd, 0xa, 0xd, 0xa, };\r
+const char http_html[6] = \r
+/* ".html" */\r
+{0x2e, 0x68, 0x74, 0x6d, 0x6c, };\r
+const char http_shtml[7] = \r
+/* ".shtml" */\r
+{0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, };\r
+const char http_htm[5] = \r
+/* ".htm" */\r
+{0x2e, 0x68, 0x74, 0x6d, };\r
+const char http_css[5] = \r
+/* ".css" */\r
+{0x2e, 0x63, 0x73, 0x73, };\r
+const char http_png[5] = \r
+/* ".png" */\r
+{0x2e, 0x70, 0x6e, 0x67, };\r
+const char http_gif[5] = \r
+/* ".gif" */\r
+{0x2e, 0x67, 0x69, 0x66, };\r
+const char http_jpg[5] = \r
+/* ".jpg" */\r
+{0x2e, 0x6a, 0x70, 0x67, };\r
+const char http_text[5] = \r
+/* ".txt" */\r
+{0x2e, 0x74, 0x78, 0x74, };\r
+const char http_txt[5] = \r
+/* ".txt" */\r
+{0x2e, 0x74, 0x78, 0x74, };\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/http-strings.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/http-strings.h
new file mode 100644 (file)
index 0000000..acbe7e1
--- /dev/null
@@ -0,0 +1,34 @@
+extern const char http_http[8];\r
+extern const char http_200[5];\r
+extern const char http_301[5];\r
+extern const char http_302[5];\r
+extern const char http_get[5];\r
+extern const char http_10[9];\r
+extern const char http_11[9];\r
+extern const char http_content_type[15];\r
+extern const char http_texthtml[10];\r
+extern const char http_location[11];\r
+extern const char http_host[7];\r
+extern const char http_crnl[3];\r
+extern const char http_index_html[12];\r
+extern const char http_404_html[10];\r
+extern const char http_referer[9];\r
+extern const char http_header_200[84];\r
+extern const char http_header_404[91];\r
+extern const char http_content_type_plain[29];\r
+extern const char http_content_type_html[28];\r
+extern const char http_content_type_css [27];\r
+extern const char http_content_type_text[28];\r
+extern const char http_content_type_png [28];\r
+extern const char http_content_type_gif [28];\r
+extern const char http_content_type_jpg [29];\r
+extern const char http_content_type_binary[43];\r
+extern const char http_html[6];\r
+extern const char http_shtml[7];\r
+extern const char http_htm[5];\r
+extern const char http_css[5];\r
+extern const char http_png[5];\r
+extern const char http_gif[5];\r
+extern const char http_jpg[5];\r
+extern const char http_text[5];\r
+extern const char http_txt[5];\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-cgi.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-cgi.c
new file mode 100644 (file)
index 0000000..88cd4cb
--- /dev/null
@@ -0,0 +1,284 @@
+/**\r
+ * \addtogroup httpd\r
+ * @{\r
+ */\r
+\r
+/**\r
+ * \file\r
+ *         Web server script interface\r
+ * \author\r
+ *         Adam Dunkels <adam@sics.se>\r
+ *\r
+ */\r
+\r
+/*\r
+ * Copyright (c) 2001-2006, Adam Dunkels.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. The name of the author may not be used to endorse or promote\r
+ *    products derived from this software without specific prior\r
+ *    written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ * This file is part of the uIP TCP/IP stack.\r
+ *\r
+ * $Id: httpd-cgi.c,v 1.2 2006/06/11 21:46:37 adam Exp $\r
+ *\r
+ */\r
+\r
+#include "uip.h"\r
+#include "psock.h"\r
+#include "httpd.h"\r
+#include "httpd-cgi.h"\r
+#include "httpd-fs.h"\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+\r
+HTTPD_CGI_CALL(file, "file-stats", file_stats);\r
+HTTPD_CGI_CALL(tcp, "tcp-connections", tcp_stats);\r
+HTTPD_CGI_CALL(net, "net-stats", net_stats);\r
+HTTPD_CGI_CALL(rtos, "rtos-stats", rtos_stats );\r
+HTTPD_CGI_CALL(io, "led-io", led_io );\r
+\r
+\r
+static const struct httpd_cgi_call *calls[] = { &file, &tcp, &net, &rtos, &io, NULL };\r
+\r
+/*---------------------------------------------------------------------------*/\r
+static\r
+PT_THREAD(nullfunction(struct httpd_state *s, char *ptr))\r
+{\r
+  ( void ) ptr;\r
+  PSOCK_BEGIN(&s->sout);\r
+  PSOCK_END(&s->sout);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+httpd_cgifunction\r
+httpd_cgi(char *name)\r
+{\r
+  const struct httpd_cgi_call **f;\r
+\r
+  /* Find the matching name in the table, return the function. */\r
+  for(f = calls; *f != NULL; ++f) {\r
+    if(strncmp((*f)->name, name, strlen((*f)->name)) == 0) {\r
+      return (*f)->function;\r
+    }\r
+  }\r
+  return nullfunction;\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static unsigned short\r
+generate_file_stats(void *arg)\r
+{\r
+  char *f = (char *)arg;\r
+  return snprintf((char *)uip_appdata, UIP_APPDATA_SIZE, "%5u", httpd_fs_count(f));\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static\r
+PT_THREAD(file_stats(struct httpd_state *s, char *ptr))\r
+{\r
+  PSOCK_BEGIN(&s->sout);\r
+\r
+  PSOCK_GENERATOR_SEND(&s->sout, generate_file_stats, strchr(ptr, ' ') + 1);\r
+\r
+  PSOCK_END(&s->sout);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static const char closed[] =   /*  "CLOSED",*/\r
+{0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0};\r
+static const char syn_rcvd[] = /*  "SYN-RCVD",*/\r
+{0x53, 0x59, 0x4e, 0x2d, 0x52, 0x43, 0x56,\r
+ 0x44,  0};\r
+static const char syn_sent[] = /*  "SYN-SENT",*/\r
+{0x53, 0x59, 0x4e, 0x2d, 0x53, 0x45, 0x4e,\r
+ 0x54,  0};\r
+static const char established[] = /*  "ESTABLISHED",*/\r
+{0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48,\r
+ 0x45, 0x44, 0};\r
+static const char fin_wait_1[] = /*  "FIN-WAIT-1",*/\r
+{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49,\r
+ 0x54, 0x2d, 0x31, 0};\r
+static const char fin_wait_2[] = /*  "FIN-WAIT-2",*/\r
+{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49,\r
+ 0x54, 0x2d, 0x32, 0};\r
+static const char closing[] = /*  "CLOSING",*/\r
+{0x43, 0x4c, 0x4f, 0x53, 0x49,\r
+ 0x4e, 0x47, 0};\r
+static const char time_wait[] = /*  "TIME-WAIT,"*/\r
+{0x54, 0x49, 0x4d, 0x45, 0x2d, 0x57, 0x41,\r
+ 0x49, 0x54, 0};\r
+static const char last_ack[] = /*  "LAST-ACK"*/\r
+{0x4c, 0x41, 0x53, 0x54, 0x2d, 0x41, 0x43,\r
+ 0x4b, 0};\r
+\r
+static const char *states[] = {\r
+  closed,\r
+  syn_rcvd,\r
+  syn_sent,\r
+  established,\r
+  fin_wait_1,\r
+  fin_wait_2,\r
+  closing,\r
+  time_wait,\r
+  last_ack};\r
+\r
+\r
+static unsigned short\r
+generate_tcp_stats(void *arg)\r
+{\r
+  struct uip_conn *conn;\r
+  struct httpd_state *s = (struct httpd_state *)arg;\r
+\r
+  conn = &uip_conns[s->count];\r
+  return snprintf((char *)uip_appdata, UIP_APPDATA_SIZE,\r
+                "<tr><td>%d</td><td>%u.%u.%u.%u:%u</td><td>%s</td><td>%u</td><td>%u</td><td>%c %c</td></tr>\r\n",\r
+                htons(conn->lport),\r
+                htons(conn->ripaddr[0]) >> 8,\r
+                htons(conn->ripaddr[0]) & 0xff,\r
+                htons(conn->ripaddr[1]) >> 8,\r
+                htons(conn->ripaddr[1]) & 0xff,\r
+                htons(conn->rport),\r
+                states[conn->tcpstateflags & UIP_TS_MASK],\r
+                conn->nrtx,\r
+                conn->timer,\r
+                (uip_outstanding(conn))? '*':' ',\r
+                (uip_stopped(conn))? '!':' ');\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static\r
+PT_THREAD(tcp_stats(struct httpd_state *s, char *ptr))\r
+{\r
+\r
+  ( void ) ptr;\r
+  PSOCK_BEGIN(&s->sout);\r
+\r
+  for(s->count = 0; s->count < UIP_CONNS; ++s->count) {\r
+    if((uip_conns[s->count].tcpstateflags & UIP_TS_MASK) != UIP_CLOSED) {\r
+      PSOCK_GENERATOR_SEND(&s->sout, generate_tcp_stats, s);\r
+    }\r
+  }\r
+\r
+  PSOCK_END(&s->sout);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static unsigned short\r
+generate_net_stats(void *arg)\r
+{\r
+  struct httpd_state *s = (struct httpd_state *)arg;\r
+  return snprintf((char *)uip_appdata, UIP_APPDATA_SIZE,\r
+                 "%5u\n", ((uip_stats_t *)&uip_stat)[s->count]);\r
+}\r
+\r
+static\r
+PT_THREAD(net_stats(struct httpd_state *s, char *ptr))\r
+{\r
+  ( void ) ptr;\r
+  PSOCK_BEGIN(&s->sout);\r
+\r
+#if UIP_STATISTICS\r
+\r
+  for(s->count = 0; s->count < sizeof(uip_stat) / sizeof(uip_stats_t);\r
+      ++s->count) {\r
+    PSOCK_GENERATOR_SEND(&s->sout, generate_net_stats, s);\r
+  }\r
+\r
+#endif /* UIP_STATISTICS */\r
+\r
+  PSOCK_END(&s->sout);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+\r
+extern void vTaskList( signed char *pcWriteBuffer );\r
+extern unsigned long ulCheckErrors;\r
+static char cCountBuf[ 32 ];\r
+long lRefreshCount = 0;\r
+static unsigned short\r
+generate_rtos_stats(void *arg)\r
+{\r
+       ( void ) arg;\r
+       lRefreshCount++;\r
+       sprintf( cCountBuf, "<p><br>Refresh count = %d", lRefreshCount );\r
+    vTaskList( uip_appdata );\r
+       strcat( uip_appdata, cCountBuf );\r
+       \r
+       /* Have any errors been latched? */\r
+       if( ulCheckErrors != 0 )\r
+       {\r
+               strcat( uip_appdata, "<p><br><p>The check function has detected an error!  Error code = " );\r
+               sprintf( cCountBuf, "%x", ulCheckErrors );\r
+               strcat( uip_appdata, cCountBuf );\r
+       }\r
+       else\r
+       {\r
+               strcat( uip_appdata, "<p><br><p>All tasks are executing with no errors reported.<p>" );\r
+       }\r
+\r
+       return strlen( uip_appdata );\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+\r
+\r
+static\r
+PT_THREAD(rtos_stats(struct httpd_state *s, char *ptr))\r
+{\r
+  ( void ) ptr;\r
+  PSOCK_BEGIN(&s->sout);\r
+  PSOCK_GENERATOR_SEND(&s->sout, generate_rtos_stats, NULL);\r
+  PSOCK_END(&s->sout);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+\r
+char *pcStatus;\r
+extern unsigned long uxParTestGetLED( unsigned long uxLED );\r
+\r
+static unsigned short generate_io_state( void *arg )\r
+{\r
+       ( void ) arg;\r
+       if( uxParTestGetLED( 3 ) )\r
+       {\r
+               pcStatus = "checked";\r
+       }\r
+       else\r
+       {\r
+               pcStatus = "";\r
+       }\r
+\r
+       sprintf( uip_appdata, "<input type=\"checkbox\" name=\"LED3\" value=\"1\" %s>LED", pcStatus );\r
+       return strlen( uip_appdata );\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+\r
+static PT_THREAD(led_io(struct httpd_state *s, char *ptr))\r
+{\r
+  ( void ) ptr;\r
+  PSOCK_BEGIN(&s->sout);\r
+  PSOCK_GENERATOR_SEND(&s->sout, generate_io_state, NULL);\r
+  PSOCK_END(&s->sout);\r
+}\r
+\r
+/** @} */\r
+\r
+\r
+\r
+\r
+\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-cgi.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-cgi.h
new file mode 100644 (file)
index 0000000..7ae9283
--- /dev/null
@@ -0,0 +1,84 @@
+/**\r
+ * \addtogroup httpd\r
+ * @{\r
+ */\r
+\r
+/**\r
+ * \file\r
+ *         Web server script interface header file\r
+ * \author\r
+ *         Adam Dunkels <adam@sics.se>\r
+ *\r
+ */\r
+\r
+\r
+\r
+/*\r
+ * Copyright (c) 2001, Adam Dunkels.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. The name of the author may not be used to endorse or promote\r
+ *    products derived from this software without specific prior\r
+ *    written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ * This file is part of the uIP TCP/IP stack.\r
+ *\r
+ * $Id: httpd-cgi.h,v 1.2 2006/06/11 21:46:38 adam Exp $\r
+ *\r
+ */\r
+\r
+#ifndef __HTTPD_CGI_H__\r
+#define __HTTPD_CGI_H__\r
+\r
+#include "psock.h"\r
+#include "httpd.h"\r
+\r
+typedef PT_THREAD((* httpd_cgifunction)(struct httpd_state *, char *));\r
+\r
+httpd_cgifunction httpd_cgi(char *name);\r
+\r
+struct httpd_cgi_call {\r
+  const char *name;\r
+  const httpd_cgifunction function;\r
+};\r
+\r
+/**\r
+ * \brief      HTTPD CGI function declaration\r
+ * \param name The C variable name of the function\r
+ * \param str  The string name of the function, used in the script file\r
+ * \param function A pointer to the function that implements it\r
+ *\r
+ *             This macro is used for declaring a HTTPD CGI\r
+ *             function. This function is then added to the list of\r
+ *             HTTPD CGI functions with the httpd_cgi_add() function.\r
+ *\r
+ * \hideinitializer\r
+ */\r
+#define HTTPD_CGI_CALL(name, str, function) \\r
+static PT_THREAD(function(struct httpd_state *, char *)); \\r
+static const struct httpd_cgi_call name = {str, function}\r
+\r
+void httpd_cgi_init(void);\r
+#endif /* __HTTPD_CGI_H__ */\r
+\r
+/** @} */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs.c
new file mode 100644 (file)
index 0000000..dc4aef0
--- /dev/null
@@ -0,0 +1,132 @@
+/*\r
+ * Copyright (c) 2001, Swedish Institute of Computer Science.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. Neither the name of the Institute nor the names of its contributors\r
+ *    may be used to endorse or promote products derived from this software\r
+ *    without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ *\r
+ * This file is part of the lwIP TCP/IP stack.\r
+ *\r
+ * Author: Adam Dunkels <adam@sics.se>\r
+ *\r
+ * $Id: httpd-fs.c,v 1.1 2006/06/07 09:13:08 adam Exp $\r
+ */\r
+\r
+#include "httpd.h"\r
+#include "httpd-fs.h"\r
+#include "httpd-fsdata.h"\r
+\r
+#ifndef NULL\r
+#define NULL 0\r
+#endif /* NULL */\r
+\r
+#include "httpd-fsdata.c"\r
+\r
+#if HTTPD_FS_STATISTICS\r
+static u16_t count[HTTPD_FS_NUMFILES];\r
+#endif /* HTTPD_FS_STATISTICS */\r
+\r
+/*-----------------------------------------------------------------------------------*/\r
+static u8_t\r
+httpd_fs_strcmp(const char *str1, const char *str2)\r
+{\r
+  u8_t i;\r
+  i = 0;\r
+ loop:\r
+\r
+  if(str2[i] == 0 ||\r
+     str1[i] == '\r' ||\r
+     str1[i] == '\n') {\r
+    return 0;\r
+  }\r
+\r
+  if(str1[i] != str2[i]) {\r
+    return 1;\r
+  }\r
+\r
+\r
+  ++i;\r
+  goto loop;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+int\r
+httpd_fs_open(const char *name, struct httpd_fs_file *file)\r
+{\r
+#if HTTPD_FS_STATISTICS\r
+  u16_t i = 0;\r
+#endif /* HTTPD_FS_STATISTICS */\r
+  struct httpd_fsdata_file_noconst *f;\r
+\r
+  for(f = (struct httpd_fsdata_file_noconst *)HTTPD_FS_ROOT;\r
+      f != NULL;\r
+      f = (struct httpd_fsdata_file_noconst *)f->next) {\r
+\r
+    if(httpd_fs_strcmp(name, f->name) == 0) {\r
+      file->data = f->data;\r
+      file->len = f->len;\r
+#if HTTPD_FS_STATISTICS\r
+      ++count[i];\r
+#endif /* HTTPD_FS_STATISTICS */\r
+      return 1;\r
+    }\r
+#if HTTPD_FS_STATISTICS\r
+    ++i;\r
+#endif /* HTTPD_FS_STATISTICS */\r
+\r
+  }\r
+  return 0;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+void\r
+httpd_fs_init(void)\r
+{\r
+#if HTTPD_FS_STATISTICS\r
+  u16_t i;\r
+  for(i = 0; i < HTTPD_FS_NUMFILES; i++) {\r
+    count[i] = 0;\r
+  }\r
+#endif /* HTTPD_FS_STATISTICS */\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+#if HTTPD_FS_STATISTICS\r
+u16_t httpd_fs_count\r
+(char *name)\r
+{\r
+  struct httpd_fsdata_file_noconst *f;\r
+  u16_t i;\r
+\r
+  i = 0;\r
+  for(f = (struct httpd_fsdata_file_noconst *)HTTPD_FS_ROOT;\r
+      f != NULL;\r
+      f = (struct httpd_fsdata_file_noconst *)f->next) {\r
+\r
+    if(httpd_fs_strcmp(name, f->name) == 0) {\r
+      return count[i];\r
+    }\r
+    ++i;\r
+  }\r
+  return 0;\r
+}\r
+#endif /* HTTPD_FS_STATISTICS */\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs.h
new file mode 100644 (file)
index 0000000..b594eea
--- /dev/null
@@ -0,0 +1,57 @@
+/*\r
+ * Copyright (c) 2001, Swedish Institute of Computer Science.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. Neither the name of the Institute nor the names of its contributors\r
+ *    may be used to endorse or promote products derived from this software\r
+ *    without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ *\r
+ * This file is part of the lwIP TCP/IP stack.\r
+ *\r
+ * Author: Adam Dunkels <adam@sics.se>\r
+ *\r
+ * $Id: httpd-fs.h,v 1.1 2006/06/07 09:13:08 adam Exp $\r
+ */\r
+#ifndef __HTTPD_FS_H__\r
+#define __HTTPD_FS_H__\r
+\r
+#define HTTPD_FS_STATISTICS 1\r
+\r
+struct httpd_fs_file {\r
+  char *data;\r
+  int len;\r
+};\r
+\r
+/* file must be allocated by caller and will be filled in\r
+   by the function. */\r
+int httpd_fs_open(const char *name, struct httpd_fs_file *file);\r
+\r
+#ifdef HTTPD_FS_STATISTICS\r
+#if HTTPD_FS_STATISTICS == 1\r
+u16_t httpd_fs_count(char *name);\r
+#endif /* HTTPD_FS_STATISTICS */\r
+#endif /* HTTPD_FS_STATISTICS */\r
+\r
+void httpd_fs_init(void);\r
+\r
+#endif /* __HTTPD_FS_H__ */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/404.html b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/404.html
new file mode 100644 (file)
index 0000000..43e7f4c
--- /dev/null
@@ -0,0 +1,8 @@
+<html>\r
+  <body bgcolor="white">\r
+    <center>\r
+      <h1>404 - file not found</h1>\r
+      <h3>Go <a href="/">here</a> instead.</h3>\r
+    </center>\r
+  </body>\r
+</html>
\ No newline at end of file
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/index.html b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/index.html
new file mode 100644 (file)
index 0000000..4937dc6
--- /dev/null
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
+<html>\r
+  <head>\r
+    <title>FreeRTOS.org uIP WEB server demo</title>\r
+  </head>\r
+  <BODY onLoad="window.setTimeout(&quot;location.href='index.shtml'&quot;,100)">\r
+<font face="arial">\r
+Loading index.shtml.  Click <a href="index.shtml">here</a> if not automatically redirected.\r
+</font>\r
+</font>\r
+</body>\r
+</html>\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/index.shtml b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/index.shtml
new file mode 100644 (file)
index 0000000..2f9a9fc
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
+<html>\r
+  <head>\r
+    <title>FreeRTOS.org uIP WEB server demo</title>\r
+  </head>\r
+  <BODY onLoad="window.setTimeout(&quot;location.href='index.shtml'&quot;,2000)">\r
+<font face="arial">\r
+<a href="index.shtml">RTOS Stats</a> <b>|</b> <a href="tcp.shtml">Connections</a> <b>|</b> <a href="io.shtml">IO</a>\r
+<br><p>\r
+<hr>\r
+<br><p>\r
+<h2>Task status</h2>\r
+This page shows dynamically generated task state information.  The page will refresh evey 2 seconds.<p>\r
+<font face="courier"><pre>Task          State  Priority  Stack #<br>************************************************<br>\r
+%! rtos-stats\r
+</pre></font>\r
+</font>\r
+</body>\r
+</html>\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/io.shtml b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/io.shtml
new file mode 100644 (file)
index 0000000..ff8f311
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
+<html>\r
+  <head>\r
+    <title>FreeRTOS.org uIP WEB server demo</title>\r
+  </head>\r
+  <BODY>\r
+<font face="arial">\r
+<a href="index.shtml">RTOS Stats</a> <b>|</b> <a href="tcp.shtml">Connections</a> <b>|</b> <a href="io.shtml">IO</a>\r
+<br><p>\r
+<hr>\r
+<b>Dynamic IO demonstration</b><br>\r
+\r
+<p>\r
+This page demonstrates two way communication.  By using the check box this WEB interface can influence the program execution.<p>\r
+Use the check box and "Update IO button" to set the state of LED1.  Refresh the page to display the state of LED1.\r
+\r
+\r
+<p>\r
+<form name="aForm" action="/io.shtml" method="get">\r
+%! led-io\r
+<p>\r
+<input type="submit" value="Update IO">\r
+</form>\r
+<br><p>\r
+</font>\r
+</body>\r
+</html>\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/stats.shtml b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/stats.shtml
new file mode 100644 (file)
index 0000000..d762f40
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
+<html>\r
+  <head>\r
+    <title>FreeRTOS.org uIP WEB server demo</title>\r
+  </head>\r
+  <BODY bgcolor="#CCCCff">\r
+<font face="arial">\r
+<a href="index.shtml">RTOS Stats</a> <b>|</b> <a href="stats.shtml">TCP Stats</a> <b>|</b> <a href="tcp.shtml">Connections</a> <b>|</b> <a href="http://www.freertos.org/">FreeRTOS.org Homepage</a> <b>|</b> <a href="io.shtml">IO</a>\r
+<br><p>\r
+<hr>\r
+<br><p>\r
+<h2>Network statistics</h2>\r
+<table width="300" border="0">\r
+<tr><td align="left"><font face="courier"><pre>\r
+IP           Packets dropped\r
+             Packets received\r
+             Packets sent\r
+IP errors    IP version/header length\r
+             IP length, high byte\r
+             IP length, low byte\r
+             IP fragments\r
+             Header checksum\r
+             Wrong protocol\r
+ICMP        Packets dropped\r
+             Packets received\r
+             Packets sent\r
+             Type errors\r
+TCP          Packets dropped\r
+             Packets received\r
+             Packets sent\r
+             Checksum errors\r
+             Data packets without ACKs\r
+             Resets\r
+             Retransmissions\r
+            No connection avaliable\r
+            Connection attempts to closed ports\r
+</pre></font></td><td><pre>%! net-stats\r
+</pre></table>\r
+</font>\r
+</body>\r
+</html>\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/tcp.shtml b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fs/tcp.shtml
new file mode 100644 (file)
index 0000000..e9a143e
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
+<html>\r
+  <head>\r
+    <title>FreeRTOS.org uIP WEB server demo</title>\r
+  </head>\r
+  <BODY>\r
+<font face="arial">\r
+<a href="index.shtml">RTOS Stats</a> <b>|</b> <a href="tcp.shtml">Connections</a> <b>|</b> <a href="io.shtml">IO</a>\r
+<br><p>\r
+<hr>\r
+<br>\r
+<h2>Network connections</h2>\r
+This page displays dynamically generated status information on the TCP/IP connections.\r
+<p>\r
+<table>\r
+<tr><th>Local</th><th>Remote</th><th>State</th><th>Retransmissions</th><th>Timer</th><th>Flags</th></tr>\r
+%! tcp-connections\r
+</pre></font>\r
+</font>\r
+</body>\r
+</html>\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fsdata.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fsdata.c
new file mode 100644 (file)
index 0000000..781b734
--- /dev/null
@@ -0,0 +1,445 @@
+static const char data_404_html[] = {\r
+       /* /404.html */\r
+       0x2f, 0x34, 0x30, 0x34, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
+       0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x20, 0x20, 0x3c, \r
+       0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, \r
+       0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65, 0x22, \r
+       0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x63, 0x65, 0x6e, \r
+       0x74, 0x65, 0x72, 0x3e, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x3c, 0x68, 0x31, 0x3e, 0x34, 0x30, 0x34, 0x20, 0x2d, \r
+       0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, \r
+       0x66, 0x6f, 0x75, 0x6e, 0x64, 0x3c, 0x2f, 0x68, 0x31, 0x3e, \r
+       0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x68, 0x33, \r
+       0x3e, 0x47, 0x6f, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, \r
+       0x66, 0x3d, 0x22, 0x2f, 0x22, 0x3e, 0x68, 0x65, 0x72, 0x65, \r
+       0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, \r
+       0x61, 0x64, 0x2e, 0x3c, 0x2f, 0x68, 0x33, 0x3e, 0xa, 0x20, \r
+       0x20, 0x20, 0x20, 0x3c, 0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, \r
+       0x72, 0x3e, 0xa, 0x20, 0x20, 0x3c, 0x2f, 0x62, 0x6f, 0x64, \r
+       0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, \r
+0};\r
+\r
+static const char data_index_html[] = {\r
+       /* /index.html */\r
+       0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
+       0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, \r
+       0x48, 0x54, 0x4d, 0x4c, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, \r
+       0x43, 0x20, 0x22, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, \r
+       0x2f, 0x44, 0x54, 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, \r
+       0x34, 0x2e, 0x30, 0x31, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, \r
+       0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x45, \r
+       0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
+       0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, \r
+       0x67, 0x2f, 0x54, 0x52, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x34, \r
+       0x2f, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x2e, 0x64, 0x74, 0x64, \r
+       0x22, 0x3e, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, \r
+       0x20, 0x20, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x20, \r
+       0x20, 0x20, 0x20, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0x46, 0x72, 0x65, 0x65, 0x52, 0x54, 0x4f, 0x53, 0x2e, 0x6f, \r
+       0x72, 0x67, 0x20, 0x75, 0x49, 0x50, 0x20, 0x57, 0x45, 0x42, \r
+       0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x64, 0x65, \r
+       0x6d, 0x6f, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x42, 0x4f, 0x44, 0x59, 0x20, 0x6f, \r
+       0x6e, 0x4c, 0x6f, 0x61, 0x64, 0x3d, 0x22, 0x77, 0x69, 0x6e, \r
+       0x64, 0x6f, 0x77, 0x2e, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, \r
+       0x65, 0x6f, 0x75, 0x74, 0x28, 0x26, 0x71, 0x75, 0x6f, 0x74, \r
+       0x3b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, \r
+       0x68, 0x72, 0x65, 0x66, 0x3d, 0x27, 0x69, 0x6e, 0x64, 0x65, \r
+       0x78, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0x27, 0x26, 0x71, \r
+       0x75, 0x6f, 0x74, 0x3b, 0x2c, 0x31, 0x30, 0x30, 0x29, 0x22, \r
+       0x3e, 0xa, 0x3c, 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x66, 0x61, \r
+       0x63, 0x65, 0x3d, 0x22, 0x61, 0x72, 0x69, 0x61, 0x6c, 0x22, \r
+       0x3e, 0xa, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, \r
+       0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x73, 0x68, 0x74, 0x6d, \r
+       0x6c, 0x2e, 0x20, 0x20, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x20, \r
+       0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x69, \r
+       0x6e, 0x64, 0x65, 0x78, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, \r
+       0x22, 0x3e, 0x68, 0x65, 0x72, 0x65, 0x3c, 0x2f, 0x61, 0x3e, \r
+       0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, \r
+       0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, \r
+       0x79, 0x20, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, \r
+       0x65, 0x64, 0x2e, 0xa, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, 0x74, \r
+       0x3e, 0xa, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x3e, 0xa, \r
+       0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, \r
+       0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0xa, 0};\r
+\r
+static const char data_index_shtml[] = {\r
+       /* /index.shtml */\r
+       0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0,\r
+       0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, \r
+       0x48, 0x54, 0x4d, 0x4c, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, \r
+       0x43, 0x20, 0x22, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, \r
+       0x2f, 0x44, 0x54, 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, \r
+       0x34, 0x2e, 0x30, 0x31, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, \r
+       0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x45, \r
+       0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
+       0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, \r
+       0x67, 0x2f, 0x54, 0x52, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x34, \r
+       0x2f, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x2e, 0x64, 0x74, 0x64, \r
+       0x22, 0x3e, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, \r
+       0x20, 0x20, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x20, \r
+       0x20, 0x20, 0x20, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0x46, 0x72, 0x65, 0x65, 0x52, 0x54, 0x4f, 0x53, 0x2e, 0x6f, \r
+       0x72, 0x67, 0x20, 0x75, 0x49, 0x50, 0x20, 0x57, 0x45, 0x42, \r
+       0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x64, 0x65, \r
+       0x6d, 0x6f, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x42, 0x4f, 0x44, 0x59, 0x20, 0x6f, \r
+       0x6e, 0x4c, 0x6f, 0x61, 0x64, 0x3d, 0x22, 0x77, 0x69, 0x6e, \r
+       0x64, 0x6f, 0x77, 0x2e, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, \r
+       0x65, 0x6f, 0x75, 0x74, 0x28, 0x26, 0x71, 0x75, 0x6f, 0x74, \r
+       0x3b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, \r
+       0x68, 0x72, 0x65, 0x66, 0x3d, 0x27, 0x69, 0x6e, 0x64, 0x65, \r
+       0x78, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0x27, 0x26, 0x71, \r
+       0x75, 0x6f, 0x74, 0x3b, 0x2c, 0x32, 0x30, 0x30, 0x30, 0x29, \r
+       0x22, 0x3e, 0xa, 0x3c, 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x66, \r
+       0x61, 0x63, 0x65, 0x3d, 0x22, 0x61, 0x72, 0x69, 0x61, 0x6c, \r
+       0x22, 0x3e, 0xa, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, \r
+       0x3d, 0x22, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x73, 0x68, \r
+       0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x52, 0x54, 0x4f, 0x53, 0x20, \r
+       0x53, 0x74, 0x61, 0x74, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x20, \r
+       0x3c, 0x62, 0x3e, 0x7c, 0x3c, 0x2f, 0x62, 0x3e, 0x20, 0x3c, \r
+       0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x74, 0x63, \r
+       0x70, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x43, \r
+       0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, \r
+       0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x62, 0x3e, 0x7c, 0x3c, \r
+       0x2f, 0x62, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, \r
+       0x66, 0x3d, 0x22, 0x69, 0x6f, 0x2e, 0x73, 0x68, 0x74, 0x6d, \r
+       0x6c, 0x22, 0x3e, 0x49, 0x4f, 0x3c, 0x2f, 0x61, 0x3e, 0xa, \r
+       0x3c, 0x62, 0x72, 0x3e, 0x3c, 0x70, 0x3e, 0xa, 0x3c, 0x68, \r
+       0x72, 0x3e, 0xa, 0x3c, 0x62, 0x72, 0x3e, 0x3c, 0x70, 0x3e, \r
+       0xa, 0x3c, 0x68, 0x32, 0x3e, 0x54, 0x61, 0x73, 0x6b, 0x20, \r
+       0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3c, 0x2f, 0x68, 0x32, \r
+       0x3e, 0xa, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x61, 0x67, \r
+       0x65, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x73, 0x20, 0x64, 0x79, \r
+       0x6e, 0x61, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, \r
+       0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, \r
+       0x74, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, \r
+       0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, \r
+       0x6f, 0x6e, 0x2e, 0x20, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, \r
+       0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x72, \r
+       0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x20, 0x65, 0x76, 0x65, \r
+       0x79, 0x20, 0x32, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, \r
+       0x73, 0x2e, 0x3c, 0x70, 0x3e, 0xa, 0x3c, 0x66, 0x6f, 0x6e, \r
+       0x74, 0x20, 0x66, 0x61, 0x63, 0x65, 0x3d, 0x22, 0x63, 0x6f, \r
+       0x75, 0x72, 0x69, 0x65, 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, \r
+       0x65, 0x3e, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x74, 0x61, 0x74, \r
+       0x65, 0x20, 0x20, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, \r
+       0x79, 0x20, 0x20, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x9, 0x23, \r
+       0x3c, 0x62, 0x72, 0x3e, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
+       0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
+       0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
+       0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
+       0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
+       0x2a, 0x2a, 0x3c, 0x62, 0x72, 0x3e, 0xa, 0x25, 0x21, 0x20, \r
+       0x72, 0x74, 0x6f, 0x73, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x73, \r
+       0xa, 0x3c, 0x2f, 0x70, 0x72, 0x65, 0x3e, 0x3c, 0x2f, 0x66, \r
+       0x6f, 0x6e, 0x74, 0x3e, 0xa, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, \r
+       0x74, 0x3e, 0xa, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, \r
+       0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0xa, \r
+0};\r
+\r
+static const char data_io_shtml[] = {\r
+       /* /io.shtml */\r
+       0x2f, 0x69, 0x6f, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0,\r
+       0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, \r
+       0x48, 0x54, 0x4d, 0x4c, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, \r
+       0x43, 0x20, 0x22, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, \r
+       0x2f, 0x44, 0x54, 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, \r
+       0x34, 0x2e, 0x30, 0x31, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, \r
+       0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x45, \r
+       0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
+       0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, \r
+       0x67, 0x2f, 0x54, 0x52, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x34, \r
+       0x2f, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x2e, 0x64, 0x74, 0x64, \r
+       0x22, 0x3e, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, \r
+       0x20, 0x20, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x20, \r
+       0x20, 0x20, 0x20, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0x46, 0x72, 0x65, 0x65, 0x52, 0x54, 0x4f, 0x53, 0x2e, 0x6f, \r
+       0x72, 0x67, 0x20, 0x75, 0x49, 0x50, 0x20, 0x57, 0x45, 0x42, \r
+       0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x64, 0x65, \r
+       0x6d, 0x6f, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x42, 0x4f, 0x44, 0x59, 0x3e, 0xa, \r
+       0x3c, 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x66, 0x61, 0x63, 0x65, \r
+       0x3d, 0x22, 0x61, 0x72, 0x69, 0x61, 0x6c, 0x22, 0x3e, 0xa, \r
+       0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x69, \r
+       0x6e, 0x64, 0x65, 0x78, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, \r
+       0x22, 0x3e, 0x52, 0x54, 0x4f, 0x53, 0x20, 0x53, 0x74, 0x61, \r
+       0x74, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x62, 0x3e, \r
+       0x7c, 0x3c, 0x2f, 0x62, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, \r
+       0x72, 0x65, 0x66, 0x3d, 0x22, 0x74, 0x63, 0x70, 0x2e, 0x73, \r
+       0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x43, 0x6f, 0x6e, 0x6e, \r
+       0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x61, \r
+       0x3e, 0x20, 0x3c, 0x62, 0x3e, 0x7c, 0x3c, 0x2f, 0x62, 0x3e, \r
+       0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, \r
+       0x69, 0x6f, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, \r
+       0x49, 0x4f, 0x3c, 0x2f, 0x61, 0x3e, 0xa, 0x3c, 0x62, 0x72, \r
+       0x3e, 0x3c, 0x70, 0x3e, 0xa, 0x3c, 0x68, 0x72, 0x3e, 0xa, \r
+       0x3c, 0x62, 0x3e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, \r
+       0x20, 0x49, 0x4f, 0x20, 0x64, 0x65, 0x6d, 0x6f, 0x6e, 0x73, \r
+       0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x62, \r
+       0x3e, 0x3c, 0x62, 0x72, 0x3e, 0xa, 0xa, 0x3c, 0x70, 0x3e, \r
+       0xa, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x61, 0x67, 0x65, \r
+       0x20, 0x64, 0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, \r
+       0x74, 0x65, 0x73, 0x20, 0x74, 0x77, 0x6f, 0x20, 0x77, 0x61, \r
+       0x79, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, \r
+       0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x20, 0x42, 0x79, \r
+       0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, \r
+       0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x62, 0x6f, 0x78, \r
+       0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x57, 0x45, 0x42, 0x20, \r
+       0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, \r
+       0x63, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, \r
+       0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, \r
+       0x6f, 0x67, 0x72, 0x61, 0x6d, 0x20, 0x65, 0x78, 0x65, 0x63, \r
+       0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x3c, 0x70, 0x3e, 0xa, \r
+       0x55, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, \r
+       0x65, 0x63, 0x6b, 0x20, 0x62, 0x6f, 0x78, 0x20, 0x61, 0x6e, \r
+       0x64, 0x20, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, \r
+       0x49, 0x4f, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, \r
+       0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x68, \r
+       0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, \r
+       0x20, 0x4c, 0x45, 0x44, 0x31, 0x2e, 0x20, 0x20, 0x52, 0x65, \r
+       0x66, 0x72, 0x65, 0x73, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, \r
+       0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, \r
+       0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, \r
+       0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x4c, \r
+       0x45, 0x44, 0x31, 0x2e, 0xa, 0xa, 0xa, 0x3c, 0x70, 0x3e, \r
+       0xa, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6e, 0x61, 0x6d, \r
+       0x65, 0x3d, 0x22, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x22, 0x20, \r
+       0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x2f, 0x69, \r
+       0x6f, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, 0x6d, \r
+       0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x67, 0x65, 0x74, \r
+       0x22, 0x3e, 0xa, 0x25, 0x21, 0x20, 0x6c, 0x65, 0x64, 0x2d, \r
+       0x69, 0x6f, 0xa, 0x3c, 0x70, 0x3e, 0xa, 0x3c, 0x69, 0x6e, \r
+       0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, \r
+       0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x76, 0x61, \r
+       0x6c, 0x75, 0x65, 0x3d, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, \r
+       0x65, 0x20, 0x49, 0x4f, 0x22, 0x3e, 0xa, 0x3c, 0x2f, 0x66, \r
+       0x6f, 0x72, 0x6d, 0x3e, 0xa, 0x3c, 0x62, 0x72, 0x3e, 0x3c, \r
+       0x70, 0x3e, 0xa, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x3e, \r
+       0xa, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa, 0x3c, \r
+       0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0xa, 0};\r
+\r
+static const char data_stats_shtml[] = {\r
+       /* /stats.shtml */\r
+       0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0,\r
+       0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, \r
+       0x48, 0x54, 0x4d, 0x4c, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, \r
+       0x43, 0x20, 0x22, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, \r
+       0x2f, 0x44, 0x54, 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, \r
+       0x34, 0x2e, 0x30, 0x31, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, \r
+       0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x45, \r
+       0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
+       0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, \r
+       0x67, 0x2f, 0x54, 0x52, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x34, \r
+       0x2f, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x2e, 0x64, 0x74, 0x64, \r
+       0x22, 0x3e, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, \r
+       0x20, 0x20, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x20, \r
+       0x20, 0x20, 0x20, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0x46, 0x72, 0x65, 0x65, 0x52, 0x54, 0x4f, 0x53, 0x2e, 0x6f, \r
+       0x72, 0x67, 0x20, 0x75, 0x49, 0x50, 0x20, 0x57, 0x45, 0x42, \r
+       0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x64, 0x65, \r
+       0x6d, 0x6f, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x42, 0x4f, 0x44, 0x59, 0x20, 0x62, \r
+       0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x23, 0x43, \r
+       0x43, 0x43, 0x43, 0x66, 0x66, 0x22, 0x3e, 0xa, 0x3c, 0x66, \r
+       0x6f, 0x6e, 0x74, 0x20, 0x66, 0x61, 0x63, 0x65, 0x3d, 0x22, \r
+       0x61, 0x72, 0x69, 0x61, 0x6c, 0x22, 0x3e, 0xa, 0x3c, 0x61, \r
+       0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x69, 0x6e, 0x64, \r
+       0x65, 0x78, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, \r
+       0x52, 0x54, 0x4f, 0x53, 0x20, 0x53, 0x74, 0x61, 0x74, 0x73, \r
+       0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x62, 0x3e, 0x7c, 0x3c, \r
+       0x2f, 0x62, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, \r
+       0x66, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x73, \r
+       0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x54, 0x43, 0x50, 0x20, \r
+       0x53, 0x74, 0x61, 0x74, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x20, \r
+       0x3c, 0x62, 0x3e, 0x7c, 0x3c, 0x2f, 0x62, 0x3e, 0x20, 0x3c, \r
+       0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x74, 0x63, \r
+       0x70, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x43, \r
+       0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, \r
+       0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x62, 0x3e, 0x7c, 0x3c, \r
+       0x2f, 0x62, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, \r
+       0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, \r
+       0x77, 0x77, 0x77, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x72, 0x74, \r
+       0x6f, 0x73, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x22, 0x3e, 0x46, \r
+       0x72, 0x65, 0x65, 0x52, 0x54, 0x4f, 0x53, 0x2e, 0x6f, 0x72, \r
+       0x67, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x70, 0x61, 0x67, 0x65, \r
+       0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x62, 0x3e, 0x7c, 0x3c, \r
+       0x2f, 0x62, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, \r
+       0x66, 0x3d, 0x22, 0x69, 0x6f, 0x2e, 0x73, 0x68, 0x74, 0x6d, \r
+       0x6c, 0x22, 0x3e, 0x49, 0x4f, 0x3c, 0x2f, 0x61, 0x3e, 0xa, \r
+       0x3c, 0x62, 0x72, 0x3e, 0x3c, 0x70, 0x3e, 0xa, 0x3c, 0x68, \r
+       0x72, 0x3e, 0xa, 0x3c, 0x62, 0x72, 0x3e, 0x3c, 0x70, 0x3e, \r
+       0xa, 0x3c, 0x68, 0x32, 0x3e, 0x4e, 0x65, 0x74, 0x77, 0x6f, \r
+       0x72, 0x6b, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, \r
+       0x69, 0x63, 0x73, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0xa, 0x3c, \r
+       0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74, \r
+       0x68, 0x3d, 0x22, 0x33, 0x30, 0x30, 0x22, 0x20, 0x62, 0x6f, \r
+       0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x3e, 0xa, \r
+       0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x20, 0x61, 0x6c, \r
+       0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c, 0x65, 0x66, 0x74, 0x22, \r
+       0x3e, 0x3c, 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x66, 0x61, 0x63, \r
+       0x65, 0x3d, 0x22, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, \r
+       0x22, 0x3e, 0x3c, 0x70, 0x72, 0x65, 0x3e, 0xa, 0x49, 0x50, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x64, \r
+       0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, \r
+       0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x73, 0x65, \r
+       0x6e, 0x74, 0xa, 0x49, 0x50, 0x20, 0x65, 0x72, 0x72, 0x6f, \r
+       0x72, 0x73, 0x20, 0x20, 0x20, 0x20, 0x49, 0x50, 0x20, 0x76, \r
+       0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x65, 0x61, \r
+       0x64, 0x65, 0x72, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, \r
+       0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x49, 0x50, 0x20, 0x6c, 0x65, 0x6e, \r
+       0x67, 0x74, 0x68, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x20, \r
+       0x62, 0x79, 0x74, 0x65, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x50, \r
+       0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2c, 0x20, 0x6c, \r
+       0x6f, 0x77, 0x20, 0x62, 0x79, 0x74, 0x65, 0xa, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x49, 0x50, 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, \r
+       0x6e, 0x74, 0x73, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x65, 0x61, \r
+       0x64, 0x65, 0x72, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, \r
+       0x75, 0x6d, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x57, 0x72, 0x6f, 0x6e, \r
+       0x67, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, \r
+       0xa, 0x49, 0x43, 0x4d, 0x50, 0x9, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x64, \r
+       0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, \r
+       0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x73, 0x65, \r
+       0x6e, 0x74, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, \r
+       0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0xa, 0x54, 0x43, \r
+       0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x64, \r
+       0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, \r
+       0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x73, 0x65, \r
+       0x6e, 0x74, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x68, 0x65, 0x63, \r
+       0x6b, 0x73, 0x75, 0x6d, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, \r
+       0x73, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x61, 0x74, 0x61, 0x20, \r
+       0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, \r
+       0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x41, 0x43, 0x4b, 0x73, \r
+       0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x73, 0x65, 0x74, 0x73, \r
+       0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
+       0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x74, 0x72, 0x61, 0x6e, \r
+       0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0xa, \r
+       0x9, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x20, 0x63, \r
+       0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, \r
+       0x61, 0x76, 0x61, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0xa, \r
+       0x9, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x6e, \r
+       0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, \r
+       0x65, 0x6d, 0x70, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, \r
+       0x6c, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x70, 0x6f, 0x72, 0x74, \r
+       0x73, 0xa, 0x3c, 0x2f, 0x70, 0x72, 0x65, 0x3e, 0x3c, 0x2f, \r
+       0x66, 0x6f, 0x6e, 0x74, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, \r
+       0x3c, 0x74, 0x64, 0x3e, 0x3c, 0x70, 0x72, 0x65, 0x3e, 0x25, \r
+       0x21, 0x20, 0x6e, 0x65, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x74, \r
+       0x73, 0xa, 0x3c, 0x2f, 0x70, 0x72, 0x65, 0x3e, 0x3c, 0x2f, \r
+       0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0xa, 0x3c, 0x2f, 0x66, \r
+       0x6f, 0x6e, 0x74, 0x3e, 0xa, 0x3c, 0x2f, 0x62, 0x6f, 0x64, \r
+       0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, \r
+       0xa, 0};\r
+\r
+static const char data_tcp_shtml[] = {\r
+       /* /tcp.shtml */\r
+       0x2f, 0x74, 0x63, 0x70, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0,\r
+       0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, \r
+       0x48, 0x54, 0x4d, 0x4c, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, \r
+       0x43, 0x20, 0x22, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, \r
+       0x2f, 0x44, 0x54, 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, \r
+       0x34, 0x2e, 0x30, 0x31, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, \r
+       0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x45, \r
+       0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
+       0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, \r
+       0x67, 0x2f, 0x54, 0x52, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x34, \r
+       0x2f, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x2e, 0x64, 0x74, 0x64, \r
+       0x22, 0x3e, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, \r
+       0x20, 0x20, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x20, \r
+       0x20, 0x20, 0x20, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0x46, 0x72, 0x65, 0x65, 0x52, 0x54, 0x4f, 0x53, 0x2e, 0x6f, \r
+       0x72, 0x67, 0x20, 0x75, 0x49, 0x50, 0x20, 0x57, 0x45, 0x42, \r
+       0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x64, 0x65, \r
+       0x6d, 0x6f, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, \r
+       0xa, 0x20, 0x20, 0x3c, 0x42, 0x4f, 0x44, 0x59, 0x3e, 0xa, \r
+       0x3c, 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x66, 0x61, 0x63, 0x65, \r
+       0x3d, 0x22, 0x61, 0x72, 0x69, 0x61, 0x6c, 0x22, 0x3e, 0xa, \r
+       0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x69, \r
+       0x6e, 0x64, 0x65, 0x78, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, \r
+       0x22, 0x3e, 0x52, 0x54, 0x4f, 0x53, 0x20, 0x53, 0x74, 0x61, \r
+       0x74, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x62, 0x3e, \r
+       0x7c, 0x3c, 0x2f, 0x62, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, \r
+       0x72, 0x65, 0x66, 0x3d, 0x22, 0x74, 0x63, 0x70, 0x2e, 0x73, \r
+       0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x43, 0x6f, 0x6e, 0x6e, \r
+       0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x61, \r
+       0x3e, 0x20, 0x3c, 0x62, 0x3e, 0x7c, 0x3c, 0x2f, 0x62, 0x3e, \r
+       0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, \r
+       0x69, 0x6f, 0x2e, 0x73, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, \r
+       0x49, 0x4f, 0x3c, 0x2f, 0x61, 0x3e, 0xa, 0x3c, 0x62, 0x72, \r
+       0x3e, 0x3c, 0x70, 0x3e, 0xa, 0x3c, 0x68, 0x72, 0x3e, 0xa, \r
+       0x3c, 0x62, 0x72, 0x3e, 0xa, 0x3c, 0x68, 0x32, 0x3e, 0x4e, \r
+       0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x63, 0x6f, 0x6e, \r
+       0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, \r
+       0x68, 0x32, 0x3e, 0xa, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, \r
+       0x61, 0x67, 0x65, 0x20, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, \r
+       0x79, 0x73, 0x20, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, \r
+       0x61, 0x6c, 0x6c, 0x79, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, \r
+       0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, \r
+       0x73, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, \r
+       0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, \r
+       0x20, 0x54, 0x43, 0x50, 0x2f, 0x49, 0x50, 0x20, 0x63, 0x6f, \r
+       0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, \r
+       0xa, 0x3c, 0x70, 0x3e, 0xa, 0x3c, 0x74, 0x61, 0x62, 0x6c, \r
+       0x65, 0x3e, 0xa, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x68, \r
+       0x3e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x3c, 0x2f, 0x74, 0x68, \r
+       0x3e, 0x3c, 0x74, 0x68, 0x3e, 0x52, 0x65, 0x6d, 0x6f, 0x74, \r
+       0x65, 0x3c, 0x2f, 0x74, 0x68, 0x3e, 0x3c, 0x74, 0x68, 0x3e, \r
+       0x53, 0x74, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x74, 0x68, 0x3e, \r
+       0x3c, 0x74, 0x68, 0x3e, 0x52, 0x65, 0x74, 0x72, 0x61, 0x6e, \r
+       0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3c, \r
+       0x2f, 0x74, 0x68, 0x3e, 0x3c, 0x74, 0x68, 0x3e, 0x54, 0x69, \r
+       0x6d, 0x65, 0x72, 0x3c, 0x2f, 0x74, 0x68, 0x3e, 0x3c, 0x74, \r
+       0x68, 0x3e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x3c, 0x2f, 0x74, \r
+       0x68, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0xa, 0x25, 0x21, \r
+       0x20, 0x74, 0x63, 0x70, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, \r
+       0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa, 0x3c, 0x2f, 0x70, \r
+       0x72, 0x65, 0x3e, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x3e, \r
+       0xa, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x3e, 0xa, 0x3c, \r
+       0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68, \r
+       0x74, 0x6d, 0x6c, 0x3e, 0xa, 0xa, 0};\r
+\r
+const struct httpd_fsdata_file file_404_html[] = {{NULL, data_404_html, data_404_html + 10, sizeof(data_404_html) - 10}};\r
+\r
+const struct httpd_fsdata_file file_index_html[] = {{file_404_html, data_index_html, data_index_html + 12, sizeof(data_index_html) - 12}};\r
+\r
+const struct httpd_fsdata_file file_index_shtml[] = {{file_index_html, data_index_shtml, data_index_shtml + 13, sizeof(data_index_shtml) - 13}};\r
+\r
+const struct httpd_fsdata_file file_io_shtml[] = {{file_index_shtml, data_io_shtml, data_io_shtml + 10, sizeof(data_io_shtml) - 10}};\r
+\r
+const struct httpd_fsdata_file file_stats_shtml[] = {{file_io_shtml, data_stats_shtml, data_stats_shtml + 13, sizeof(data_stats_shtml) - 13}};\r
+\r
+const struct httpd_fsdata_file file_tcp_shtml[] = {{file_stats_shtml, data_tcp_shtml, data_tcp_shtml + 11, sizeof(data_tcp_shtml) - 11}};\r
+\r
+#define HTTPD_FS_ROOT file_tcp_shtml\r
+\r
+#define HTTPD_FS_NUMFILES 6\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fsdata.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd-fsdata.h
new file mode 100644 (file)
index 0000000..52d35c2
--- /dev/null
@@ -0,0 +1,64 @@
+/*\r
+ * Copyright (c) 2001, Swedish Institute of Computer Science.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. Neither the name of the Institute nor the names of its contributors\r
+ *    may be used to endorse or promote products derived from this software\r
+ *    without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ *\r
+ * This file is part of the lwIP TCP/IP stack.\r
+ *\r
+ * Author: Adam Dunkels <adam@sics.se>\r
+ *\r
+ * $Id: httpd-fsdata.h,v 1.1 2006/06/07 09:13:08 adam Exp $\r
+ */\r
+#ifndef __HTTPD_FSDATA_H__\r
+#define __HTTPD_FSDATA_H__\r
+\r
+#include "uip.h"\r
+\r
+struct httpd_fsdata_file {\r
+  const struct httpd_fsdata_file *next;\r
+  const char *name;\r
+  const char *data;\r
+  const int len;\r
+#ifdef HTTPD_FS_STATISTICS\r
+#if HTTPD_FS_STATISTICS == 1\r
+  u16_t count;\r
+#endif /* HTTPD_FS_STATISTICS */\r
+#endif /* HTTPD_FS_STATISTICS */\r
+};\r
+\r
+struct httpd_fsdata_file_noconst {\r
+  struct httpd_fsdata_file *next;\r
+  char *name;\r
+  char *data;\r
+  int len;\r
+#ifdef HTTPD_FS_STATISTICS\r
+#if HTTPD_FS_STATISTICS == 1\r
+  u16_t count;\r
+#endif /* HTTPD_FS_STATISTICS */\r
+#endif /* HTTPD_FS_STATISTICS */\r
+};\r
+\r
+#endif /* __HTTPD_FSDATA_H__ */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd.c
new file mode 100644 (file)
index 0000000..644cf16
--- /dev/null
@@ -0,0 +1,346 @@
+/**\r
+ * \addtogroup apps\r
+ * @{\r
+ */\r
+\r
+/**\r
+ * \defgroup httpd Web server\r
+ * @{\r
+ * The uIP web server is a very simplistic implementation of an HTTP\r
+ * server. It can serve web pages and files from a read-only ROM\r
+ * filesystem, and provides a very small scripting language.\r
+\r
+ */\r
+\r
+/**\r
+ * \file\r
+ *         Web server\r
+ * \author\r
+ *         Adam Dunkels <adam@sics.se>\r
+ */\r
+\r
+\r
+/*\r
+ * Copyright (c) 2004, Adam Dunkels.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. Neither the name of the Institute nor the names of its contributors\r
+ *    may be used to endorse or promote products derived from this software\r
+ *    without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ *\r
+ * This file is part of the uIP TCP/IP stack.\r
+ *\r
+ * Author: Adam Dunkels <adam@sics.se>\r
+ *\r
+ * $Id: httpd.c,v 1.2 2006/06/11 21:46:38 adam Exp $\r
+ */\r
+\r
+#include "uip.h"\r
+#include "httpd.h"\r
+#include "httpd-fs.h"\r
+#include "httpd-cgi.h"\r
+#include "http-strings.h"\r
+\r
+#include <string.h>\r
+\r
+#define STATE_WAITING 0\r
+#define STATE_OUTPUT  1\r
+\r
+#define ISO_nl      0x0a\r
+#define ISO_space   0x20\r
+#define ISO_bang    0x21\r
+#define ISO_percent 0x25\r
+#define ISO_period  0x2e\r
+#define ISO_slash   0x2f\r
+#define ISO_colon   0x3a\r
+\r
+\r
+/*---------------------------------------------------------------------------*/\r
+static unsigned short\r
+generate_part_of_file(void *state)\r
+{\r
+  struct httpd_state *s = (struct httpd_state *)state;\r
+\r
+  if(s->file.len > uip_mss()) {\r
+    s->len = uip_mss();\r
+  } else {\r
+    s->len = s->file.len;\r
+  }\r
+  memcpy(uip_appdata, s->file.data, s->len);\r
+  \r
+  return s->len;\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static\r
+PT_THREAD(send_file(struct httpd_state *s))\r
+{\r
+  PSOCK_BEGIN(&s->sout);\r
+  \r
+  do {\r
+    PSOCK_GENERATOR_SEND(&s->sout, generate_part_of_file, s);\r
+    s->file.len -= s->len;\r
+    s->file.data += s->len;\r
+  } while(s->file.len > 0);\r
+      \r
+  PSOCK_END(&s->sout);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static\r
+PT_THREAD(send_part_of_file(struct httpd_state *s))\r
+{\r
+  PSOCK_BEGIN(&s->sout);\r
+\r
+  PSOCK_SEND(&s->sout, s->file.data, s->len);\r
+  \r
+  PSOCK_END(&s->sout);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static void\r
+next_scriptstate(struct httpd_state *s)\r
+{\r
+  char *p;\r
+  p = strchr(s->scriptptr, ISO_nl) + 1;\r
+  s->scriptlen -= (unsigned short)(p - s->scriptptr);\r
+  s->scriptptr = p;\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static\r
+PT_THREAD(handle_script(struct httpd_state *s))\r
+{\r
+  char *ptr;\r
+  \r
+  PT_BEGIN(&s->scriptpt);\r
+\r
+\r
+  while(s->file.len > 0) {\r
+\r
+    /* Check if we should start executing a script. */\r
+    if(*s->file.data == ISO_percent &&\r
+       *(s->file.data + 1) == ISO_bang) {\r
+      s->scriptptr = s->file.data + 3;\r
+      s->scriptlen = s->file.len - 3;\r
+      if(*(s->scriptptr - 1) == ISO_colon) {\r
+       httpd_fs_open(s->scriptptr + 1, &s->file);\r
+       PT_WAIT_THREAD(&s->scriptpt, send_file(s));\r
+      } else {\r
+       PT_WAIT_THREAD(&s->scriptpt,\r
+                      httpd_cgi(s->scriptptr)(s, s->scriptptr));\r
+      }\r
+      next_scriptstate(s);\r
+      \r
+      /* The script is over, so we reset the pointers and continue\r
+        sending the rest of the file. */\r
+      s->file.data = s->scriptptr;\r
+      s->file.len = s->scriptlen;\r
+    } else {\r
+      /* See if we find the start of script marker in the block of HTML\r
+        to be sent. */\r
+\r
+      if(s->file.len > uip_mss()) {\r
+       s->len = uip_mss();\r
+      } else {\r
+       s->len = s->file.len;\r
+      }\r
+\r
+      if(*s->file.data == ISO_percent) {\r
+       ptr = strchr(s->file.data + 1, ISO_percent);\r
+      } else {\r
+       ptr = strchr(s->file.data, ISO_percent);\r
+      }\r
+      if(ptr != NULL &&\r
+        ptr != s->file.data) {\r
+       s->len = (int)(ptr - s->file.data);\r
+       if(s->len >= uip_mss()) {\r
+         s->len = uip_mss();\r
+       }\r
+      }\r
+      PT_WAIT_THREAD(&s->scriptpt, send_part_of_file(s));\r
+      s->file.data += s->len;\r
+      s->file.len -= s->len;\r
+      \r
+    }\r
+  }\r
+  \r
+  PT_END(&s->scriptpt);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static\r
+PT_THREAD(send_headers(struct httpd_state *s, const char *statushdr))\r
+{\r
+  char *ptr;\r
+\r
+  PSOCK_BEGIN(&s->sout);\r
+\r
+  PSOCK_SEND_STR(&s->sout, statushdr);\r
+\r
+  ptr = strrchr(s->filename, ISO_period);\r
+  if(ptr == NULL) {\r
+    PSOCK_SEND_STR(&s->sout, http_content_type_binary);\r
+  } else if(strncmp(http_html, ptr, 5) == 0 ||\r
+           strncmp(http_shtml, ptr, 6) == 0) {\r
+    PSOCK_SEND_STR(&s->sout, http_content_type_html);\r
+  } else if(strncmp(http_css, ptr, 4) == 0) {\r
+    PSOCK_SEND_STR(&s->sout, http_content_type_css);\r
+  } else if(strncmp(http_png, ptr, 4) == 0) {\r
+    PSOCK_SEND_STR(&s->sout, http_content_type_png);\r
+  } else if(strncmp(http_gif, ptr, 4) == 0) {\r
+    PSOCK_SEND_STR(&s->sout, http_content_type_gif);\r
+  } else if(strncmp(http_jpg, ptr, 4) == 0) {\r
+    PSOCK_SEND_STR(&s->sout, http_content_type_jpg);\r
+  } else {\r
+    PSOCK_SEND_STR(&s->sout, http_content_type_plain);\r
+  }\r
+  PSOCK_END(&s->sout);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static\r
+PT_THREAD(handle_output(struct httpd_state *s))\r
+{\r
+  char *ptr;\r
+  \r
+  PT_BEGIN(&s->outputpt);\r
\r
+  if(!httpd_fs_open(s->filename, &s->file)) {\r
+    httpd_fs_open(http_404_html, &s->file);\r
+    strcpy(s->filename, http_404_html);\r
+    PT_WAIT_THREAD(&s->outputpt,\r
+                  send_headers(s,\r
+                  http_header_404));\r
+    PT_WAIT_THREAD(&s->outputpt,\r
+                  send_file(s));\r
+  } else {\r
+    PT_WAIT_THREAD(&s->outputpt,\r
+                  send_headers(s,\r
+                  http_header_200));\r
+    ptr = strchr(s->filename, ISO_period);\r
+    if(ptr != NULL && strncmp(ptr, http_shtml, 6) == 0) {\r
+      PT_INIT(&s->scriptpt);\r
+      PT_WAIT_THREAD(&s->outputpt, handle_script(s));\r
+    } else {\r
+      PT_WAIT_THREAD(&s->outputpt,\r
+                    send_file(s));\r
+    }\r
+  }\r
+  PSOCK_CLOSE(&s->sout);\r
+  PT_END(&s->outputpt);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static\r
+PT_THREAD(handle_input(struct httpd_state *s))\r
+{\r
+  PSOCK_BEGIN(&s->sin);\r
+\r
+  PSOCK_READTO(&s->sin, ISO_space);\r
+\r
+  \r
+  if(strncmp(s->inputbuf, http_get, 4) != 0) {\r
+    PSOCK_CLOSE_EXIT(&s->sin);\r
+  }\r
+  PSOCK_READTO(&s->sin, ISO_space);\r
+\r
+  if(s->inputbuf[0] != ISO_slash) {\r
+    PSOCK_CLOSE_EXIT(&s->sin);\r
+  }\r
+\r
+  if(s->inputbuf[1] == ISO_space) {\r
+    strncpy(s->filename, http_index_html, sizeof(s->filename));\r
+  } else {\r
+\r
+    s->inputbuf[PSOCK_DATALEN(&s->sin) - 1] = 0;\r
+\r
+    /* Process any form input being sent to the server. */\r
+    {\r
+        extern void vApplicationProcessFormInput( char *pcInputString, long xInputLength );\r
+        vApplicationProcessFormInput( s->inputbuf, PSOCK_DATALEN(&s->sin) );\r
+    }\r
+\r
+    strncpy(s->filename, &s->inputbuf[0], sizeof(s->filename));\r
+  }\r
+\r
+  /*  httpd_log_file(uip_conn->ripaddr, s->filename);*/\r
+  \r
+  s->state = STATE_OUTPUT;\r
+\r
+  while(1) {\r
+    PSOCK_READTO(&s->sin, ISO_nl);\r
+\r
+    if(strncmp(s->inputbuf, http_referer, 8) == 0) {\r
+      s->inputbuf[PSOCK_DATALEN(&s->sin) - 2] = 0;\r
+      /*      httpd_log(&s->inputbuf[9]);*/\r
+    }\r
+  }\r
+  \r
+  PSOCK_END(&s->sin);\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+static void\r
+handle_connection(struct httpd_state *s)\r
+{\r
+  handle_input(s);\r
+  if(s->state == STATE_OUTPUT) {\r
+    handle_output(s);\r
+  }\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+void\r
+httpd_appcall(void)\r
+{\r
+  struct httpd_state *s = (struct httpd_state *)&(uip_conn->appstate);\r
+\r
+  if(uip_closed() || uip_aborted() || uip_timedout()) {\r
+  } else if(uip_connected()) {\r
+    PSOCK_INIT(&s->sin, s->inputbuf, sizeof(s->inputbuf) - 1);\r
+    PSOCK_INIT(&s->sout, s->inputbuf, sizeof(s->inputbuf) - 1);\r
+    PT_INIT(&s->outputpt);\r
+    s->state = STATE_WAITING;\r
+    /*    timer_set(&s->timer, CLOCK_SECOND * 100);*/\r
+    s->timer = 0;\r
+    handle_connection(s);\r
+  } else if(s != NULL) {\r
+    if(uip_poll()) {\r
+      ++s->timer;\r
+      if(s->timer >= 20) {\r
+       uip_abort();\r
+      }\r
+    } else {\r
+      s->timer = 0;\r
+    }\r
+    handle_connection(s);\r
+  } else {\r
+    uip_abort();\r
+  }\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+/**\r
+ * \brief      Initialize the web server\r
+ *\r
+ *             This function initializes the web server and should be\r
+ *             called at system boot-up.\r
+ */\r
+void\r
+httpd_init(void)\r
+{\r
+  uip_listen(HTONS(80));\r
+}\r
+/*---------------------------------------------------------------------------*/\r
+/** @} */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/httpd.h
new file mode 100644 (file)
index 0000000..7f7a666
--- /dev/null
@@ -0,0 +1,62 @@
+/*\r
+ * Copyright (c) 2001-2005, Adam Dunkels.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. The name of the author may not be used to endorse or promote\r
+ *    products derived from this software without specific prior\r
+ *    written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ * This file is part of the uIP TCP/IP stack.\r
+ *\r
+ * $Id: httpd.h,v 1.2 2006/06/11 21:46:38 adam Exp $\r
+ *\r
+ */\r
+\r
+#ifndef __HTTPD_H__\r
+#define __HTTPD_H__\r
+\r
+#include "psock.h"\r
+#include "httpd-fs.h"\r
+\r
+struct httpd_state {\r
+  unsigned char timer;\r
+  struct psock sin, sout;\r
+  struct pt outputpt, scriptpt;\r
+  char inputbuf[50];\r
+  char filename[20];\r
+  char state;\r
+  struct httpd_fs_file file;\r
+  int len;\r
+  char *scriptptr;\r
+  int scriptlen;\r
+  \r
+  unsigned short count;\r
+};\r
+\r
+void httpd_init(void);\r
+void httpd_appcall(void);\r
+\r
+void httpd_log(char *msg);\r
+void httpd_log_file(u16_t *requester, char *file);\r
+\r
+#endif /* __HTTPD_H__ */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/makefsdata b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/makefsdata
new file mode 100644 (file)
index 0000000..d4bc8bf
--- /dev/null
@@ -0,0 +1,78 @@
+#!/usr/bin/perl\r
+\r
+open(OUTPUT, "> httpd-fsdata.c");\r
+\r
+chdir("httpd-fs");\r
+\r
+opendir(DIR, ".");\r
+@files =  grep { !/^\./ && !/(CVS|~)/ } readdir(DIR);\r
+closedir(DIR);\r
+\r
+foreach $file (@files) {  \r
+   \r
+    if(-d $file && $file !~ /^\./) {\r
+       print "Processing directory $file\n";\r
+       opendir(DIR, $file);\r
+       @newfiles =  grep { !/^\./ && !/(CVS|~)/ } readdir(DIR);\r
+       closedir(DIR);\r
+       printf "Adding files @newfiles\n";\r
+       @files = (@files, map { $_ = "$file/$_" } @newfiles);\r
+       next;\r
+    }\r
+}\r
+\r
+foreach $file (@files) {\r
+    if(-f $file) {\r
+       \r
+       print "Adding file $file\n";\r
+       \r
+       open(FILE, $file) || die "Could not open file $file\n";\r
+\r
+       $file =~ s-^-/-;\r
+       $fvar = $file;\r
+       $fvar =~ s-/-_-g;\r
+       $fvar =~ s-\.-_-g;\r
+       # for AVR, add PROGMEM here\r
+       print(OUTPUT "static const char data".$fvar."[] = {\n");\r
+       print(OUTPUT "\t/* $file */\n\t");\r
+       for($j = 0; $j < length($file); $j++) {\r
+           printf(OUTPUT "%#02x, ", unpack("C", substr($file, $j, 1)));\r
+       }\r
+       printf(OUTPUT "0,\n");\r
+       \r
+       \r
+       $i = 0;        \r
+       while(read(FILE, $data, 1)) {\r
+           if($i == 0) {\r
+               print(OUTPUT "\t");\r
+           }\r
+           printf(OUTPUT "%#02x, ", unpack("C", $data));\r
+           $i++;\r
+           if($i == 10) {\r
+               print(OUTPUT "\n");\r
+               $i = 0;\r
+           }\r
+       }\r
+       print(OUTPUT "0};\n\n");\r
+       close(FILE);\r
+       push(@fvars, $fvar);\r
+       push(@pfiles, $file);\r
+    }\r
+}\r
+\r
+for($i = 0; $i < @fvars; $i++) {\r
+    $file = $pfiles[$i];\r
+    $fvar = $fvars[$i];\r
+\r
+    if($i == 0) {\r
+        $prevfile = "NULL";\r
+    } else {\r
+        $prevfile = "file" . $fvars[$i - 1];\r
+    }\r
+    print(OUTPUT "const struct httpd_fsdata_file file".$fvar."[] = {{$prevfile, data$fvar, ");\r
+    print(OUTPUT "data$fvar + ". (length($file) + 1) .", ");\r
+    print(OUTPUT "sizeof(data$fvar) - ". (length($file) + 1) ."}};\n\n");\r
+}\r
+\r
+print(OUTPUT "#define HTTPD_FS_ROOT file$fvars[$i - 1]\n\n");\r
+print(OUTPUT "#define HTTPD_FS_NUMFILES $i\n");\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/makestrings b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/makestrings
new file mode 100644 (file)
index 0000000..8a13c6d
--- /dev/null
@@ -0,0 +1,40 @@
+#!/usr/bin/perl\r
+\r
+\r
+sub stringify {\r
+  my $name = shift(@_);\r
+  open(OUTPUTC, "> $name.c");\r
+  open(OUTPUTH, "> $name.h");\r
+  \r
+  open(FILE, "$name");\r
+  \r
+  while(<FILE>) {\r
+    if(/(.+) "(.+)"/) {\r
+      $var = $1;\r
+      $data = $2;\r
+      \r
+      $datan = $data;\r
+      $datan =~ s/\\r/\r/g;\r
+      $datan =~ s/\\n/\n/g;\r
+      $datan =~ s/\\01/\01/g;      \r
+      $datan =~ s/\\0/\0/g;\r
+      \r
+      printf(OUTPUTC "const char $var\[%d] = \n", length($datan) + 1);\r
+      printf(OUTPUTC "/* \"$data\" */\n");\r
+      printf(OUTPUTC "{");\r
+      for($j = 0; $j < length($datan); $j++) {\r
+       printf(OUTPUTC "%#02x, ", unpack("C", substr($datan, $j, 1)));\r
+      }\r
+      printf(OUTPUTC "};\n");\r
+      \r
+      printf(OUTPUTH "extern const char $var\[%d];\n", length($datan) + 1);\r
+      \r
+    }\r
+  }\r
+  close(OUTPUTC);\r
+  close(OUTPUTH);\r
+}\r
+stringify("http-strings");\r
+\r
+exit 0;\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/pack_struct_end.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/pack_struct_end.h
new file mode 100644 (file)
index 0000000..13ce031
--- /dev/null
@@ -0,0 +1 @@
+#pragma pack()\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/pack_struct_start.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/pack_struct_start.h
new file mode 100644 (file)
index 0000000..5e9b48c
--- /dev/null
@@ -0,0 +1 @@
+#pragma pack(1)\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/uIP_Task.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/uIP_Task.c
new file mode 100644 (file)
index 0000000..2432245
--- /dev/null
@@ -0,0 +1,225 @@
+/*\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
+\r
+       This file is part of the FreeRTOS.org distribution.\r
+\r
+       FreeRTOS.org is free software; you can redistribute it and/or modify it\r
+       under the terms of the GNU General Public License (version 2) as published\r
+       by the Free Software Foundation and modified by the FreeRTOS exception.\r
+       **NOTE** The exception to the GPL is included to allow you to distribute a\r
+       combined work that includes FreeRTOS.org without being obliged to provide\r
+       the source code for any proprietary components.  Alternative commercial\r
+       license and support terms are also available upon request.  See the \r
+       licensing section of http://www.FreeRTOS.org for full details.\r
+\r
+       FreeRTOS.org is distributed in the hope that it will be useful, but WITHOUT\r
+       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+       FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+       more details.\r
+\r
+       You should have received a copy of the GNU General Public License along\r
+       with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59\r
+       Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
+\r
+\r
+       ***************************************************************************\r
+       *                                                                         *\r
+       * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *\r
+       *                                                                         *\r
+       * This is a concise, step by step, 'hands on' guide that describes both   *\r
+       * general multitasking concepts and FreeRTOS specifics. It presents and   *\r
+       * explains numerous examples that are written using the FreeRTOS API.     *\r
+       * Full source code for all the examples is provided in an accompanying    *\r
+       * .zip file.                                                              *\r
+       *                                                                         *\r
+       ***************************************************************************\r
+\r
+       1 tab == 4 spaces!\r
+\r
+       Please ensure to read the configuration and relevant port sections of the\r
+       online documentation.\r
+\r
+       http://www.FreeRTOS.org - Documentation, latest information, license and\r
+       contact details.\r
+\r
+       http://www.SafeRTOS.com - A version that is certified for use in safety\r
+       critical systems.\r
+\r
+       http://www.OpenRTOS.com - Commercial support, development, porting,\r
+       licensing and training services.\r
+*/\r
+\r
+/* Standard includes. */\r
+#include <string.h>\r
+\r
+/* Scheduler includes. */\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+#include "semphr.h"\r
+\r
+/* uip includes. */\r
+#include "uip.h"\r
+#include "uip_arp.h"\r
+#include "httpd.h"\r
+#include "timer.h"\r
+#include "clock-arch.h"\r
+#include "timer.h"\r
+\r
+/* Demo includes. */\r
+#include "FEC.h"\r
+#include "partest.h"\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* Shortcut to the header within the Rx buffer. */\r
+#define xHeader ((struct uip_eth_hdr *) &uip_buf[ 0 ])\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/*\r
+ * Port functions required by the uIP stack.\r
+ */\r
+clock_time_t clock_time( void );\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* The semaphore used by the ISR to wake the uIP task. */\r
+extern xSemaphoreHandle xFECSemaphore;\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+clock_time_t clock_time( void )\r
+{\r
+       return xTaskGetTickCount();\r
+}\r
+\r
+\r
+void vuIP_Task( void *pvParameters )\r
+{\r
+portBASE_TYPE i;\r
+uip_ipaddr_t xIPAddr;\r
+struct timer periodic_timer, arp_timer;\r
+extern void ( vEMAC_ISR )( void );\r
+\r
+       /* Just to get rid of the compiler warning. */\r
+       ( void ) pvParameters;\r
+\r
+       /* Enable/Reset the Ethernet Controller */\r
+\r
+       /* Create the semaphore used by the ISR to wake this task. */\r
+       vSemaphoreCreateBinary( xFECSemaphore );\r
+       \r
+       /* Initialise the uIP stack. */\r
+       timer_set( &periodic_timer, configTICK_RATE_HZ / 2 );\r
+       timer_set( &arp_timer, configTICK_RATE_HZ * 10 );\r
+       uip_init();\r
+       uip_ipaddr( xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );\r
+       uip_sethostaddr( xIPAddr );\r
+       uip_ipaddr( xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );\r
+       uip_setnetmask( xIPAddr );              \r
+       httpd_init();\r
+\r
+       vInitFEC();\r
+\r
+       for( ;; )\r
+       {\r
+               /* Is there received data ready to be processed? */\r
+               uip_len = ( unsigned short ) ulFECRx();\r
+               \r
+               if( ( uip_len > 0 ) && ( uip_buf != NULL ) )\r
+               {\r
+                       /* Standard uIP loop taken from the uIP manual. */\r
+\r
+                       if( xHeader->type == htons( UIP_ETHTYPE_IP ) )\r
+                       {\r
+                               uip_arp_ipin();\r
+                               uip_input();\r
+\r
+                               /* If the above function invocation resulted in data that\r
+                               should be sent out on the network, the global variable\r
+                               uip_len is set to a value > 0. */\r
+                               if( uip_len > 0 )\r
+                               {\r
+                                       uip_arp_out();\r
+                                       vFECTx();\r
+                               }\r
+                       }\r
+                       else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )\r
+                       {\r
+                               uip_arp_arpin();\r
+\r
+                               /* If the above function invocation resulted in data that\r
+                               should be sent out on the network, the global variable\r
+                               uip_len is set to a value > 0. */\r
+                               if( uip_len > 0 )\r
+                               {\r
+                                       vFECTx();\r
+                               }\r
+                       }                       \r
+               }\r
+               else\r
+               {\r
+                       if( ( timer_expired( &periodic_timer ) ) && ( uip_buf != NULL ) )\r
+                       {\r
+                               timer_reset( &periodic_timer );\r
+                               for( i = 0; i < UIP_CONNS; i++ )\r
+                               {\r
+                                       uip_periodic( i );\r
+       \r
+                                       /* If the above function invocation resulted in data that\r
+                                       should be sent out on the network, the global variable\r
+                                       uip_len is set to a value > 0. */\r
+                                       if( uip_len > 0 )\r
+                                       {\r
+                                               uip_arp_out();\r
+                                               vFECTx();\r
+                                       }\r
+                               }       \r
+       \r
+                               /* Call the ARP timer function every 10 seconds. */\r
+                               if( timer_expired( &arp_timer ) )\r
+                               {\r
+                                       timer_reset( &arp_timer );\r
+                                       uip_arp_timer();\r
+                               }\r
+                       }\r
+                       else\r
+                       {                       \r
+                               /* We did not receive a packet, and there was no periodic\r
+                               processing to perform.  Block for a fixed period.  If a packet\r
+                               is received during this period we will be woken by the ISR\r
+                               giving us the Semaphore. */\r
+                               xSemaphoreTake( xFECSemaphore, configTICK_RATE_HZ / 2 );                        \r
+                       }\r
+               }\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationProcessFormInput( portCHAR *pcInputString, portBASE_TYPE xInputLength )\r
+{\r
+char *c;\r
+\r
+       /* Just to get rid of the compiler warning - other ports/demos use the parameter. */\r
+       ( void ) xInputLength;\r
+\r
+       /* Process the form input sent by the IO page of the served HTML. */\r
+\r
+       c = strstr( pcInputString, "?" );\r
+\r
+    if( c )\r
+    {\r
+               /* Turn LED's on or off in accordance with the check box status. */\r
+               if( strstr( c, "LED3=1" ) != NULL )\r
+               {\r
+                       /* Turn LED 3 on. */\r
+                       vParTestSetLED( 3, 1 );\r
+               }\r
+               else\r
+               {\r
+                       /* Turn LED 3 off. */\r
+                       vParTestSetLED( 3, 0 );\r
+               }               \r
+    }\r
+}\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/uip-conf.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/uip-conf.h
new file mode 100644 (file)
index 0000000..16d9923
--- /dev/null
@@ -0,0 +1,163 @@
+/**\r
+ * \addtogroup uipopt\r
+ * @{\r
+ */\r
+\r
+/**\r
+ * \name Project-specific configuration options\r
+ * @{\r
+ *\r
+ * uIP has a number of configuration options that can be overridden\r
+ * for each project. These are kept in a project-specific uip-conf.h\r
+ * file and all configuration names have the prefix UIP_CONF.\r
+ */\r
+\r
+/*\r
+ * Copyright (c) 2006, Swedish Institute of Computer Science.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. Neither the name of the Institute nor the names of its contributors\r
+ *    may be used to endorse or promote products derived from this software\r
+ *    without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ *\r
+ * This file is part of the uIP TCP/IP stack\r
+ *\r
+ * $Id: uip-conf.h,v 1.6 2006/06/12 08:00:31 adam Exp $\r
+ */\r
+\r
+/**\r
+ * \file\r
+ *         An example uIP configuration file\r
+ * \author\r
+ *         Adam Dunkels <adam@sics.se>\r
+ */\r
+\r
+#ifndef __UIP_CONF_H__\r
+#define __UIP_CONF_H__\r
+\r
+#include <stdint.h>\r
+\r
+/**\r
+ * 8 bit datatype\r
+ *\r
+ * This typedef defines the 8-bit type used throughout uIP.\r
+ *\r
+ * \hideinitializer\r
+ */\r
+typedef uint8_t u8_t;\r
+\r
+/**\r
+ * 16 bit datatype\r
+ *\r
+ * This typedef defines the 16-bit type used throughout uIP.\r
+ *\r
+ * \hideinitializer\r
+ */\r
+typedef uint16_t u16_t;\r
+\r
+/**\r
+ * Statistics datatype\r
+ *\r
+ * This typedef defines the dataype used for keeping statistics in\r
+ * uIP.\r
+ *\r
+ * \hideinitializer\r
+ */\r
+typedef unsigned short uip_stats_t;\r
+\r
+/**\r
+ * Maximum number of TCP connections.\r
+ *\r
+ * \hideinitializer\r
+ */\r
+#define UIP_CONF_MAX_CONNECTIONS 15\r
+\r
+/**\r
+ * Maximum number of listening TCP ports.\r
+ *\r
+ * \hideinitializer\r
+ */\r
+#define UIP_CONF_MAX_LISTENPORTS 2\r
+\r
+/**\r
+ * uIP buffer size.\r
+ *\r
+ * \hideinitializer\r
+ */\r
+#define UIP_CONF_BUFFER_SIZE     1480\r
+\r
+/**\r
+ * CPU byte order.\r
+ *\r
+ * \hideinitializer\r
+ */\r
+#define UIP_CONF_BYTE_ORDER      UIP_BIG_ENDIAN\r
+\r
+/**\r
+ * Logging on or off\r
+ *\r
+ * \hideinitializer\r
+ */\r
+#define UIP_CONF_LOGGING         0\r
+\r
+/**\r
+ * UDP support on or off\r
+ *\r
+ * \hideinitializer\r
+ */\r
+#define UIP_CONF_UDP             0\r
+\r
+/**\r
+ * UDP checksums on or off\r
+ *\r
+ * \hideinitializer\r
+ */\r
+#define UIP_CONF_UDP_CHECKSUMS   1\r
+\r
+/**\r
+ * uIP statistics on or off\r
+ *\r
+ * \hideinitializer\r
+ */\r
+#define UIP_CONF_STATISTICS      1\r
+\r
+\r
+/* Here we include the header file for the application(s) we use in\r
+   our project. */\r
+/*#include "smtp.h"*/\r
+/*#include "hello-world.h"*/\r
+/*#include "telnetd.h"*/\r
+#include "webserver.h"\r
+/*#include "dhcpc.h"*/\r
+/*#include "resolv.h"*/\r
+/*#include "webclient.h"*/\r
+\r
+#define UIP_CONF_EXTERNAL_BUFFER\r
+\r
+#define PACK_STRUCT_START\r
+#define PACK_STRUCT_END\r
+\r
+#endif /* __UIP_CONF_H__ */\r
+\r
+/** @} */\r
+/** @} */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/webserver.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/httpd/webserver.h
new file mode 100644 (file)
index 0000000..1acb290
--- /dev/null
@@ -0,0 +1,49 @@
+/*\r
+ * Copyright (c) 2002, Adam Dunkels.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above\r
+ *    copyright notice, this list of conditions and the following\r
+ *    disclaimer in the documentation and/or other materials provided\r
+ *    with the distribution.\r
+ * 3. The name of the author may not be used to endorse or promote\r
+ *    products derived from this software without specific prior\r
+ *    written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ * This file is part of the uIP TCP/IP stack\r
+ *\r
+ * $Id: webserver.h,v 1.2 2006/06/11 21:46:38 adam Exp $\r
+ *\r
+ */\r
+#ifndef __WEBSERVER_H__\r
+#define __WEBSERVER_H__\r
+\r
+#include "httpd.h"\r
+\r
+typedef struct httpd_state uip_tcp_appstate_t;\r
+/* UIP_APPCALL: the name of the application function. This function\r
+   must return void and take no arguments (i.e., C type "void\r
+   appfunc(void)"). */\r
+#ifndef UIP_APPCALL\r
+#define UIP_APPCALL     httpd_appcall\r
+#endif\r
+\r
+\r
+#endif /* __WEBSERVER_H__ */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/main.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/main.c
new file mode 100644 (file)
index 0000000..ef6aef9
--- /dev/null
@@ -0,0 +1,441 @@
+/*\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
+\r
+       This file is part of the FreeRTOS.org distribution.\r
+\r
+       FreeRTOS.org is free software; you can redistribute it and/or modify it\r
+       under the terms of the GNU General Public License (version 2) as published\r
+       by the Free Software Foundation and modified by the FreeRTOS exception.\r
+       **NOTE** The exception to the GPL is included to allow you to distribute a\r
+       combined work that includes FreeRTOS.org without being obliged to provide\r
+       the source code for any proprietary components.  Alternative commercial\r
+       license and support terms are also available upon request.  See the \r
+       licensing section of http://www.FreeRTOS.org for full details.\r
+\r
+       FreeRTOS.org is distributed in the hope that it will be useful, but WITHOUT\r
+       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+       FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+       more details.\r
+\r
+       You should have received a copy of the GNU General Public License along\r
+       with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59\r
+       Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
+\r
+\r
+       ***************************************************************************\r
+       *                                                                         *\r
+       * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *\r
+       *                                                                         *\r
+       * This is a concise, step by step, 'hands on' guide that describes both   *\r
+       * general multitasking concepts and FreeRTOS specifics. It presents and   *\r
+       * explains numerous examples that are written using the FreeRTOS API.     *\r
+       * Full source code for all the examples is provided in an accompanying    *\r
+       * .zip file.                                                              *\r
+       *                                                                         *\r
+       ***************************************************************************\r
+\r
+       1 tab == 4 spaces!\r
+\r
+       Please ensure to read the configuration and relevant port sections of the\r
+       online documentation.\r
+\r
+       http://www.FreeRTOS.org - Documentation, latest information, license and\r
+       contact details.\r
+\r
+       http://www.SafeRTOS.com - A version that is certified for use in safety\r
+       critical systems.\r
+\r
+       http://www.OpenRTOS.com - Commercial support, development, porting,\r
+       licensing and training services.\r
+*/\r
+\r
+\r
+/*\r
+ * Creates all the demo application tasks, then starts the scheduler.  The WEB\r
+ * documentation provides more details of the standard demo application tasks.\r
+ * In addition to the standard demo tasks, the following tasks and tests are\r
+ * defined and/or created within this file:\r
+ *\r
+ * "Web server" - Very basic demonstration of the uIP stack.  The WEB server\r
+ * simply generates a page that shows the current state of all the tasks within\r
+ * the system, including the high water mark of each task stack. The high water\r
+ * mark is displayed as the amount of stack that has never been used, so the\r
+ * closer the value is to zero the closer the task has come to overflowing its\r
+ * stack.  The IP address and net mask are set within FreeRTOSConfig.h.  Sub\r
+ * pages display some TCP/IP status information and permit LED3 to be turned on\r
+ * and off using a check box.\r
+ *\r
+ * Tick hook function that implements a "Check" function -  This is executed \r
+ * every 5 seconds from the tick hook function.  It checks to ensure that all \r
+ * the standard demo tasks are still operational and running without error.  \r
+ * The system status (pass/fail) is then displayed underneith the task table on \r
+ * the served WEB pages.  \r
+ *\r
+ * "Reg test" tasks - These fill the registers with known values, then check\r
+ * that each register still contains its expected value.  Each task uses\r
+ * different values.  The tasks run with very low priority so get preempted very\r
+ * frequently.  A register containing an unexpected value is indicative of an\r
+ * error in the context switching mechanism.\r
+ *\r
+ */\r
+\r
+/* Standard includes. */\r
+#include <stdio.h>\r
+\r
+/* Scheduler includes. */\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+#include "queue.h"\r
+#include "semphr.h"\r
+\r
+/* Demo app includes. */\r
+#include "BlockQ.h"\r
+#include "death.h"\r
+#include "flash.h"\r
+#include "partest.h"\r
+#include "GenQTest.h"\r
+#include "QPeek.h"\r
+#include "recmutex.h"\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* ComTest constants - there is no free LED for the comtest tasks. */\r
+#define mainCOM_TEST_BAUD_RATE                         ( ( unsigned portLONG ) 19200 )\r
+#define mainCOM_TEST_LED                                       ( 5 )\r
+\r
+/* Task priorities. */\r
+#define mainQUEUE_POLL_PRIORITY                                ( tskIDLE_PRIORITY + 2 )\r
+#define mainCHECK_TASK_PRIORITY                                ( tskIDLE_PRIORITY + 3 )\r
+#define mainSEM_TEST_PRIORITY                          ( tskIDLE_PRIORITY + 1 )\r
+#define mainBLOCK_Q_PRIORITY                           ( tskIDLE_PRIORITY + 2 )\r
+#define mainCREATOR_TASK_PRIORITY           ( tskIDLE_PRIORITY + 2 )\r
+#define mainINTEGER_TASK_PRIORITY           ( tskIDLE_PRIORITY )\r
+#define mainGEN_QUEUE_TASK_PRIORITY                    ( tskIDLE_PRIORITY )\r
+#define mainWEB_TASK_PRIORITY                  ( tskIDLE_PRIORITY + 2 )\r
+\r
+/* WEB server requires enough stack for the string handling functions. */\r
+#define mainBASIC_WEB_STACK_SIZE            ( configMINIMAL_STACK_SIZE * 2 )\r
+\r
+/*\r
+ * Configure the hardware for the demo.\r
+ */\r
+static void prvSetupHardware( void );\r
+\r
+/*\r
+ * Implements the 'check' function as described at the top of this file.\r
+ */\r
+static void prvCheckFunction( void );\r
+\r
+/*\r
+ * Implement the 'Reg test' functionality as described at the top of this file.\r
+ */\r
+static void vRegTest1Task( void *pvParameters );\r
+static void vRegTest2Task( void *pvParameters );\r
+\r
+/*\r
+ * The task that handles the uIP stack.  All TCP/IP processing is performed in\r
+ * this task.\r
+ */\r
+extern void vuIP_Task( void *pvParameters );\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* Counters used to detect errors within the reg test tasks. */\r
+static volatile unsigned portLONG ulRegTest1Counter = 0x11111111, ulRegTest2Counter = 0x22222222;\r
+\r
+/* Flag that latches any errors detected in the system. */\r
+unsigned long ulCheckErrors = 0;\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+int main( void )\r
+{\r
+extern void vBasicWEBServer( void *pv );\r
+\r
+       /* Setup the hardware ready for this demo. */\r
+       prvSetupHardware();\r
+       \r
+       xTaskCreate( vuIP_Task, ( signed portCHAR * ) "uIP", mainBASIC_WEB_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY - 1, NULL );\r
+\r
+       /* Start the standard demo tasks. */\r
+       vStartLEDFlashTasks( tskIDLE_PRIORITY );\r
+       vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY );\r
+       vStartQueuePeekTasks();\r
+       vStartRecursiveMutexTasks();\r
+       vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );\r
+\r
+       /* Start the reg test tasks - defined in this file. */\r
+       xTaskCreate( vRegTest1Task, ( signed portCHAR * ) "Reg1", configMINIMAL_STACK_SIZE, ( void * ) &ulRegTest1Counter, tskIDLE_PRIORITY, NULL );\r
+       xTaskCreate( vRegTest2Task, ( signed portCHAR * ) "Reg2", configMINIMAL_STACK_SIZE, ( void * ) &ulRegTest2Counter, tskIDLE_PRIORITY, NULL );\r
+\r
+       /* Start the scheduler. */\r
+       vTaskStartScheduler();\r
+\r
+    /* Will only get here if there was insufficient memory to create the idle\r
+    task. */\r
+       for( ;; )\r
+       {\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationTickHook( void )\r
+{\r
+static unsigned long ulExecutionCount = 0, ulLastRegTest1Count = 0, ulLastRegTest2Count = 0;\r
+const unsigned long ulExecutionRate = 5000 / portTICK_RATE_MS;\r
+       \r
+    /* Increment the count of how many times the tick hook has been called. */\r
+    ulExecutionCount++;\r
+    \r
+    /* Is it time to perform the check again? */\r
+       if( ulExecutionCount >= ulExecutionRate )\r
+       {\r
+               /* Reset the execution count so this function is called again in 5\r
+               seconds time. */\r
+               ulExecutionCount = 0;\r
+       \r
+               /* Has an error been found in any task? */\r
+               if( xAreGenericQueueTasksStillRunning() != pdTRUE )\r
+               {\r
+                       ulCheckErrors |= 0x01UL;\r
+               }\r
+\r
+               if( xAreQueuePeekTasksStillRunning() != pdTRUE )\r
+               {\r
+                       ulCheckErrors |= 0x02UL;\r
+               }\r
+\r
+               if( xAreBlockingQueuesStillRunning() != pdTRUE )\r
+               {\r
+                       ulCheckErrors |= 0x04UL;\r
+               }\r
+\r
+               if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )\r
+           {\r
+               ulCheckErrors |= 0x200UL;\r
+           }\r
+\r
+               if( ulLastRegTest1Count == ulRegTest1Counter )\r
+               {\r
+                       ulCheckErrors |= 0x1000UL;\r
+               }\r
+\r
+               if( ulLastRegTest2Count == ulRegTest2Counter )\r
+               {\r
+                       ulCheckErrors |= 0x1000UL;\r
+               }\r
+\r
+               ulLastRegTest1Count = ulRegTest1Counter;\r
+               ulLastRegTest2Count = ulRegTest2Counter;\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvSetupHardware( void ) \r
+{\r
+       /* Disable the watchdog, STOP and WAIT modes. */\r
+       SOPT1 = 0;\r
+\r
+       /* --- Setup clock to use external 25MHz source. --- */\r
+       \r
+       /* Extal and xtal pin ON. */\r
+       PTDPF1_D4 = 0x03;\r
+       PTDPF1_D5 = 0x03;\r
+\r
+       /* Switch from FEI to FBE (FLL bypassed external)\r
+       enable external clock source */\r
+       MCGC2 = MCGC2_ERCLKEN_MASK  /* Activate external reference clock */\r
+             | MCGC2_EREFS_MASK    /* Because crystal is being used */\r
+             | MCGC2_RANGE_MASK;   /* High range */\r
+               \r
+       /* Select clock mode and clear IREFs. */\r
+       MCGC1 = (0x02 << 6 )        /* CLKS = 10 -> external reference clock. */\r
+             | (0x04 << 3 )        /* RDIV = 2^4 -> 25MHz/16 = 1.5625 MHz */\r
+             | MCGC1_IRCLKEN_MASK; /* IRCLK to RTC enabled */\r
+         \r
+       /* Wait for Reference and Clock status bits to update. */\r
+       while( MCGSC_IREFST | ( MCGSC_CLKST != 0x02 ) )\r
+       {\r
+               /* Nothing to do here. */\r
+       }\r
+\r
+       /* Switch from FBE to PBE (PLL bypassed internal) mode. */\r
+       MCGC3 =  0x08               /* Set PLL multi 50MHz. */\r
+             |  MCGC3_PLLS_MASK;   /* Select PLL. */\r
+\r
+       /* Wait for PLL status and lock bits to update. */\r
+       while( !MCGSC_PLLST | !MCGSC_LOCK )\r
+       {\r
+               /* Nothing to do here. */\r
+       }\r
+\r
+\r
+       /* Now in PBE Mode, finally switch from PBE to PEE (PLL enabled external \r
+       mode). */\r
+       MCGC1_CLKS  = 0b00; /* PLL clock to system (MCGOUT) */\r
+\r
+       /* Wait for the clock status bits to update. */\r
+       while( MCGSC_CLKST != 0x03 )\r
+       {\r
+               /* Nothing to do here. */\r
+       }\r
+\r
+       /* Setup the IO for the LED outputs. */\r
+       vParTestInitialise();\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed portCHAR *pcTaskName )\r
+{\r
+       /* This will get called if a stack overflow is detected during the context\r
+       switch.  Set configCHECK_FOR_STACK_OVERFLOWS to 2 to also check for stack\r
+       problems within nested interrupts, but only do this for debug purposes as\r
+       it will increase the context switch time. */\r
+\r
+       ( void ) pxTask;\r
+       ( void ) pcTaskName;\r
+\r
+       for( ;; )\r
+       {\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void vRegTest1Task( void *pvParameters )\r
+{\r
+  /* Just to remove compiler warnings. */\r
+  ( void ) pvParameters;\r
+  \r
+       /* Set all the registers to known values, then check that each retains its\r
+       expected value - as described at the top of this file.  If an error is\r
+       found then the loop counter will no longer be incremented allowing the check\r
+       task to recognise the error. */\r
+       asm volatile    (       "reg_test_1_start:                                              \n\t"\r
+                                               "       moveq           #1, d0                                  \n\t"\r
+                                               "       moveq           #2, d1                                  \n\t"\r
+                                               "       moveq           #3, d2                                  \n\t"\r
+                                               "       moveq           #4, d3                                  \n\t"\r
+                                               "       moveq           #5, d4                                  \n\t"\r
+                                               "       moveq           #6, d5                                  \n\t"                                           \r
+                                               "       moveq           #7, d6                                  \n\t"\r
+                                               "       moveq           #8, d7                                  \n\t"\r
+                                               "       move            #9, a0                                  \n\t"\r
+                                               "       move            #10, a1                                 \n\t"\r
+                                               "       move            #11, a2                                 \n\t"\r
+                                               "       move            #12, a3                                 \n\t"\r
+                                               "       move            #13, a4                                 \n\t"\r
+                                               "       move            #15, a6                                 \n\t"\r
+                                               "                                                                               \n\t"\r
+                                               "       cmpi.l          #1, d0                                  \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       cmpi.l          #2, d1                                  \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       cmpi.l          #3, d2                                  \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       cmpi.l          #4, d3                                  \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       cmpi.l          #5, d4                                  \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       cmpi.l          #6, d5                                  \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       cmpi.l          #7, d6                                  \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       cmpi.l          #8, d7                                  \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       move            a0, d0                                  \n\t"\r
+                                               "       cmpi.l          #9, d0                                  \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       move            a1, d0                                  \n\t"\r
+                                               "       cmpi.l          #10, d0                                 \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       move            a2, d0                                  \n\t"\r
+                                               "       cmpi.l          #11, d0                                 \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       move            a3, d0                                  \n\t"\r
+                                               "       cmpi.l          #12, d0                                 \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       move            a4, d0                                  \n\t"\r
+                                               "       cmpi.l          #13, d0                                 \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       move            a6, d0                                  \n\t"\r
+                                               "       cmpi.l          #15, d0                                 \n\t"\r
+                                               "       bne                     reg_test_1_error                \n\t"\r
+                                               "       move            ulRegTest1Counter, d0   \n\t"\r
+                                               "       addq            #1, d0                                  \n\t"\r
+                                               "       move            d0, ulRegTest1Counter   \n\t"\r
+                                               "       bra                     reg_test_1_start                \n\t"\r
+                                               "reg_test_1_error:                                              \n\t"\r
+                                               "       bra                     reg_test_1_error                \n\t"\r
+                                       );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void vRegTest2Task( void *pvParameters )\r
+{\r
+  /* Just to remove compiler warnings. */\r
+  ( void ) pvParameters;\r
+\r
+       /* Set all the registers to known values, then check that each retains its\r
+       expected value - as described at the top of this file.  If an error is\r
+       found then the loop counter will no longer be incremented allowing the check\r
+       task to recognise the error. */\r
+       asm volatile    (       "reg_test_2_start:                                              \n\t"\r
+                                               "       moveq           #10, d0                                 \n\t"\r
+                                               "       moveq           #20, d1                                 \n\t"\r
+                                               "       moveq           #30, d2                                 \n\t"\r
+                                               "       moveq           #40, d3                                 \n\t"\r
+                                               "       moveq           #50, d4                                 \n\t"\r
+                                               "       moveq           #60, d5                                 \n\t"\r
+                                               "       moveq           #70, d6                                 \n\t"\r
+                                               "       moveq           #80, d7                                 \n\t"\r
+                                               "       move            #90, a0                                 \n\t"\r
+                                               "       move            #100, a1                                \n\t"\r
+                                               "       move            #110, a2                                \n\t"\r
+                                               "       move            #120, a3                                \n\t"\r
+                                               "       move            #130, a4                                \n\t"\r
+                                               "       move            #150, a6                                \n\t"\r
+                                               "                                                                               \n\t"\r
+                                               "       cmpi.l          #10, d0                                 \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       cmpi.l          #20, d1                                 \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       cmpi.l          #30, d2                                 \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       cmpi.l          #40, d3                                 \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       cmpi.l          #50, d4                                 \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       cmpi.l          #60, d5                                 \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       cmpi.l          #70, d6                                 \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       cmpi.l          #80, d7                                 \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       move            a0, d0                                  \n\t"\r
+                                               "       cmpi.l          #90, d0                                 \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       move            a1, d0                                  \n\t"\r
+                                               "       cmpi.l          #100, d0                                \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       move            a2, d0                                  \n\t"\r
+                                               "       cmpi.l          #110, d0                                \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       move            a3, d0                                  \n\t"\r
+                                               "       cmpi.l          #120, d0                                \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       move            a4, d0                                  \n\t"\r
+                                               "       cmpi.l          #130, d0                                \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       move            a6, d0                                  \n\t"\r
+                                               "       cmpi.l          #150, d0                                \n\t"\r
+                                               "       bne                     reg_test_2_error                \n\t"\r
+                                               "       move            ulRegTest1Counter, d0   \n\t"\r
+                                               "       addq            #1, d0                                  \n\t"\r
+                                               "       move            d0, ulRegTest2Counter   \n\t"\r
+                                               "       bra                     reg_test_2_start                \n\t"\r
+                                               "reg_test_2_error:                                              \n\t"\r
+                                               "       bra                     reg_test_2_error                \n\t"\r
+                                       );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/mii.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/mii.h
new file mode 100644 (file)
index 0000000..98586b8
--- /dev/null
@@ -0,0 +1,147 @@
+/*\r
+ * File:    mii.h\r
+ * Purpose:     \r
+ *\r
+ * Notes:\r
+ */\r
+\r
+#ifndef _MII_H_\r
+#define _MII_H_\r
+\r
+/********************************************************************/\r
+\r
+/* Timeout for MII communications */\r
+#define FEC_MII_TIMEOUT         0x10000\r
+\r
+\r
+/********************************************************************/\r
+//Fucntion Protoypes\r
+\r
+int  FEC_Mii_Write(int, int, int);\r
+int  FEC_Mii_Read(int, int, unsigned short*);\r
+void FEC_Mii_Init(void);\r
+void fec_mii_reg_printf(void);\r
+\r
+/********************************************************************/\r
+//Register Mask and Other\r
+//===============\r
+/* Definition of allowed values for MDCSEL */\r
+#define MII_MDCSEL(x) x/5000000\r
+\r
+#define MII_WRITE   0x01\r
+#define MII_READ    0x02\r
+\r
+#define TCMD_START 0x01        /* Transmit buffer frame */\r
+#define TCMD_PAUSE 0x02        /* Transmit PAUSE frame */\r
+#define TCMD_ABORT 0x03        /* Abort transmission */\r
+\r
+/* PHY registers symbolic names */\r
+/* (located in MII memory map, accessible through MDIO) */\r
+#define PHY_REG_CR      0x00 /* Control Register */\r
+#define PHY_REG_SR      0x01 /* Status Register */\r
+#define PHY_REG_ID1     0x02 /* PHY Identification Register 1 */\r
+#define PHY_REG_ID2     0x03 /* PHY Identification Register 2 */\r
+#define PHY_REG_ANAR    0x04 /* Auto-Negotiation Advertisement Register */\r
+#define PHY_REG_ANLPAR  0x05 /* Auto-Negotiation Link Partner Ability Register */\r
+#define PHY_REG_ER      0x06 /* Auto-Negotiation Expansion Register */\r
+#define PHY_REG_NPTR    0x07 /* Auto-Negotiation Next Page Transfer Register */\r
+#define PHY_REG_IR      0x10 /* Interrupt Register */\r
+#define PHY_REG_PSR     0x11 /* Proprietary Status Register */\r
+#define PHY_REG_PCR     0x12 /* Proprietary Control Register */\r
+#define PHY_REG_10BTBC  0x13 /* 10Base-T Bypass Control Register */\r
+#define PHY_REG_100BXBC 0x14 /* 100Base-X Bypass Control Register */\r
+#define PHY_REG_ADDR    0x15 /* Test & Trim Control Register */\r
+#define PHY_REG_DSPRC   0x17 /* DSP Reset Control */\r
+#define PHY_REG_DSPRR1  0x18 /* 100Base-X DSP Read Registers */\r
+#define PHY_REG_DSPRR2  0x19\r
+#define PHY_REG_DSPRR3  0x1A\r
+#define PHY_REG_DSPWR1  0x1B /* 100Base-X DSP Write Registers */\r
+#define PHY_REG_DSPWR2  0x1C\r
+#define PHY_REG_DSPWR3  0x1D\r
+\r
+/* PHY registers structure */\r
+/* 0 - Control Register */\r
+#define PHY_R0_RESET    0x8000  /* Reset */\r
+#define PHY_R0_LB       0x4000  /* Loop Back */\r
+#define PHY_R0_DR       0x2000  /* Data Rate (100Mb/s) */\r
+#define PHY_R0_ANE      0x1000  /* Auto-Negotiation Enable */\r
+#define PHY_R0_PD       0x0800  /* Power Down */\r
+#define PHY_R0_ISOLATE  0x0400  /* Isolate (MII is disconnected) */\r
+#define PHY_R0_RAN      0x0200  /* Restart Auto-Negotiation */\r
+#define PHY_R0_DPLX     0x0100  /* Duplex (Full duplex) */\r
+#define PHY_R0_CT       0x0080  /* Collision Test (Enable) */\r
+\r
+/* 1 - Status Register */\r
+#define PHY_R1_100T4    0x8000  /* 100BASET4 Supported */\r
+#define PHY_R1_100F     0x4000  /* 100Mb/s Full Duplex Supported */\r
+#define PHY_R1_100H     0x2000  /* 100Mb/s Half Duplex Supported */\r
+#define PHY_R1_10F      0x1000  /* 10Mb/s Full Duplex Supported */\r
+#define PHY_R1_10H      0x0800  /* 10Mb/s Half Duplex Supported */\r
+#define PHY_R1_SUP      0x0040  /* MI Preamble Supression (capable of) */\r
+#define PHY_R1_ANC      0x0020  /* Auto Negotiation Complete */\r
+#define PHY_R1_RF       0x0010  /* Remote Fault */\r
+#define PHY_R1_ANA      0x0008  /* Auto-Negotiation Ability (present) */\r
+#define PHY_R1_LS       0x0004  /* Link Status (Link is Up) */\r
+#define PHY_R1_JD       0x0002  /* Jabber Detect (detected) */\r
+#define PHY_R1_EC       0x0001  /* Extended Capability (regs 2 to 31 exists) */\r
+\r
+/* 2 - PHY Identifier Register 1 */\r
+/* 3 - PHY Identifier Register 2 */\r
+/* read only - contains Manufacturer's info etc.\r
+   see documentation for the detailed description */\r
+\r
+/* 4 - Auto Negotiation Advertisement Register */\r
+#define PHY_R4_NP       0x8000  /* Next Page (capable of sending next pages) */\r
+#define PHY_R4_RF       0x2000  /* Remote Fault */\r
+#define PHY_R4_FC       0x0400  /* Flow Control */\r
+#define PHY_R4_100F     0x0100  /* 100Base-TX Full Duplex Capable */\r
+#define PHY_R4_100H     0x0080  /* 100Base-TX Half Duplex Capable */\r
+#define PHY_R4_10F      0x0040  /* 10Base-T Full Duplex Capable */\r
+#define PHY_R4_10H      0x0020  /* 10Base-T Half Duplex Capable */\r
+/* bits 4 to 0 are Selector Field (IEEE Std 802.3 = 00001) */\r
+\r
+/* 5 - Auto Negotiation Link Partner Ability Register (Base Page & Next Page) */\r
+/* read only - please consult PHY documentation */\r
+#define PHY_R5_FCTL      0x0400  /* 10Base-T Half Duplex Capable */\r
+\r
+/* 16 - Interrupt Control Register */\r
+#define PHY_R16_ACKIE  0x4000  //Acknowledge Bit Received Interrupt Enable\r
+#define PHY_R16_PRIE   0x2000  //Page Received INT Enable\r
+#define PHY_R16_LCIE   0x1000  //Link Changed Enable\r
+#define PHY_R16_ANIE   0x0800  //Auto-Negotiation Changed Enable\r
+#define PHY_R16_PDFIE  0x0400  //Parallel Detect Fault Enable\r
+#define PHY_R16_RFIE   0x0200  //Remote Fault Interrupt Enable\r
+#define PHY_R16_JABIE  0x0100  //Jabber Interrupt Enable\r
+\r
+#define PHY_R16_ACKR    0x0040 //Acknowledge Bit Received Interrupt\r
+#define PHY_R16_PGR    0x0020  //Page Received \r
+#define PHY_R16_LKC    0x0010  //Link Changed \r
+#define PHY_R16_ANC    0x0008  //Auto-Negotiation Changed \r
+#define PHY_R16_PDF    0x0004  //Parallel Detect Fault\r
+#define PHY_R16_RMTF   0x0002  //Remote Fault Interrupt\r
+#define PHY_R16_JABI   0x0001  //Jabber Interrupt\r
+\r
+////Proprietary Status Register\r
+#define PHY_R17_LNK   0x4000   //\r
+#define PHY_R17_DPM   0x2000   //Duplex Mode\r
+#define PHY_R17_SPD   0x1000   //Speed\r
+#define PHY_R17_ANNC  0x0400   //Auto-Negotiation Complete\r
+#define PHY_R17_PRCVD 0x0200   //\r
+#define PHY_R17_ANCM  0x0100   // Auto-Negotiation (A-N) Common Operating Mode\r
+#define PHY_R17_PLR   0x0020   //\r
+\r
+/* Bit definitions and macros for MCF_FEC_MMFR */\r
+#define FEC_MMFR_DATA(x)          (((x)&0x0000FFFF)<<0)\r
+#define FEC_MMFR_TA(x)            (((x)&0x00000003)<<16)\r
+#define FEC_MMFR_RA(x)            (((x)&0x0000001F)<<18)\r
+#define FEC_MMFR_PA(x)            (((x)&0x0000001F)<<23)\r
+#define FEC_MMFR_OP(x)            (((x)&0x00000003)<<28)\r
+#define FEC_MMFR_ST(x)            (((x)&0x00000003)<<30)\r
+#define FEC_MMFR_ST_01            (0x40000000)\r
+#define FEC_MMFR_OP_READ          (0x20000000)\r
+#define FEC_MMFR_OP_WRITE         (0x10000000)\r
+#define FEC_MMFR_TA_10            (0x00020000)\r
+\r
+/********************************************************************/\r
+\r
+#endif /* _MII_H_ */\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/printf-stdarg.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/printf-stdarg.c
new file mode 100644 (file)
index 0000000..f6139dc
--- /dev/null
@@ -0,0 +1,293 @@
+/*\r
+       Copyright 2001, 2002 Georges Menie (www.menie.org)\r
+       stdarg version contributed by Christian Ettinger\r
+\r
+    This program is free software; you can redistribute it and/or modify\r
+    it under the terms of the GNU Lesser General Public License as published by\r
+    the Free Software Foundation; either version 2 of the License, or\r
+    (at your option) any later version.\r
+\r
+    This program is distributed in the hope that it will be useful,\r
+    but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+    GNU Lesser General Public License for more details.\r
+\r
+    You should have received a copy of the GNU Lesser General Public License\r
+    along with this program; if not, write to the Free Software\r
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+*/\r
+\r
+/*\r
+       putchar is the only external dependency for this file,\r
+       if you have a working putchar, leave it commented out.\r
+       If not, uncomment the define below and\r
+       replace outbyte(c) by your own function call.\r
+\r
+*/\r
+\r
+#define putchar(c) c\r
+\r
+#include <stdarg.h>\r
+\r
+static void printchar(char **str, int c)\r
+{\r
+       //extern int putchar(int c);\r
+       \r
+       if (str) {\r
+               **str = (char)c;\r
+               ++(*str);\r
+       }\r
+       else\r
+       { \r
+               (void)putchar(c);\r
+       }\r
+}\r
+\r
+#define PAD_RIGHT 1\r
+#define PAD_ZERO 2\r
+\r
+static int prints(char **out, const char *string, int width, int pad)\r
+{\r
+       register int pc = 0, padchar = ' ';\r
+\r
+       if (width > 0) {\r
+               register int len = 0;\r
+               register const char *ptr;\r
+               for (ptr = string; *ptr; ++ptr) ++len;\r
+               if (len >= width) width = 0;\r
+               else width -= len;\r
+               if (pad & PAD_ZERO) padchar = '0';\r
+       }\r
+       if (!(pad & PAD_RIGHT)) {\r
+               for ( ; width > 0; --width) {\r
+                       printchar (out, padchar);\r
+                       ++pc;\r
+               }\r
+       }\r
+       for ( ; *string ; ++string) {\r
+               printchar (out, *string);\r
+               ++pc;\r
+       }\r
+       for ( ; width > 0; --width) {\r
+               printchar (out, padchar);\r
+               ++pc;\r
+       }\r
+\r
+       return pc;\r
+}\r
+\r
+/* the following should be enough for 32 bit int */\r
+#define PRINT_BUF_LEN 12\r
+\r
+static int printi(char **out, int i, int b, int sg, int width, int pad, int letbase)\r
+{\r
+       char print_buf[PRINT_BUF_LEN];\r
+       register char *s;\r
+       register int t, neg = 0, pc = 0;\r
+       register unsigned int u = (unsigned int)i;\r
+\r
+       if (i == 0) {\r
+               print_buf[0] = '0';\r
+               print_buf[1] = '\0';\r
+               return prints (out, print_buf, width, pad);\r
+       }\r
+\r
+       if (sg && b == 10 && i < 0) {\r
+               neg = 1;\r
+               u = (unsigned int)-i;\r
+       }\r
+\r
+       s = print_buf + PRINT_BUF_LEN-1;\r
+       *s = '\0';\r
+\r
+       while (u) {\r
+               t = (int)u % b;\r
+               if( t >= 10 )\r
+                       t += letbase - '0' - 10;\r
+               *--s = (char)(t + '0');\r
+               u /= b;\r
+       }\r
+\r
+       if (neg) {\r
+               if( width && (pad & PAD_ZERO) ) {\r
+                       printchar (out, '-');\r
+                       ++pc;\r
+                       --width;\r
+               }\r
+               else {\r
+                       *--s = '-';\r
+               }\r
+       }\r
+\r
+       return pc + prints (out, s, width, pad);\r
+}\r
+\r
+static int print( char **out, const char *format, va_list args )\r
+{\r
+       register int width, pad;\r
+       register int pc = 0;\r
+       char scr[2];\r
+\r
+       for (; *format != 0; ++format) {\r
+               if (*format == '%') {\r
+                       ++format;\r
+                       width = pad = 0;\r
+                       if (*format == '\0') break;\r
+                       if (*format == '%') goto out;\r
+                       if (*format == '-') {\r
+                               ++format;\r
+                               pad = PAD_RIGHT;\r
+                       }\r
+                       while (*format == '0') {\r
+                               ++format;\r
+                               pad |= PAD_ZERO;\r
+                       }\r
+                       for ( ; *format >= '0' && *format <= '9'; ++format) {\r
+                               width *= 10;\r
+                               width += *format - '0';\r
+                       }\r
+                       if( *format == 's' ) {\r
+                               register char *s = (char *)va_arg( args, int );\r
+                               pc += prints (out, s?s:"(null)", width, pad);\r
+                               continue;\r
+                       }\r
+                       if( *format == 'd' ) {\r
+                               pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a');\r
+                               continue;\r
+                       }\r
+                       if( *format == 'x' ) {\r
+                               pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a');\r
+                               continue;\r
+                       }\r
+                       if( *format == 'X' ) {\r
+                               pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A');\r
+                               continue;\r
+                       }\r
+                       if( *format == 'u' ) {\r
+                               pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a');\r
+                               continue;\r
+                       }\r
+                       if( *format == 'c' ) {\r
+                               /* char are converted to int then pushed on the stack */\r
+                               scr[0] = (char)va_arg( args, int );\r
+                               scr[1] = '\0';\r
+                               pc += prints (out, scr, width, pad);\r
+                               continue;\r
+                       }\r
+               }\r
+               else {\r
+               out:\r
+                       printchar (out, *format);\r
+                       ++pc;\r
+               }\r
+       }\r
+       if (out) **out = '\0';\r
+       va_end( args );\r
+       return pc;\r
+}\r
+\r
+int printf(const char *format, ...)\r
+{\r
+        va_list args;\r
+        \r
+        va_start( args, format );\r
+        return print( 0, format, args );\r
+}\r
+\r
+int sprintf(char *out, const char *format, ...)\r
+{\r
+        va_list args;\r
+        \r
+        va_start( args, format );\r
+        return print( &out, format, args );\r
+}\r
+\r
+\r
+int snprintf( char *buf, unsigned int count, const char *format, ... )\r
+{\r
+        va_list args;\r
+        \r
+        ( void ) count;\r
+        \r
+        va_start( args, format );\r
+        return print( &buf, format, args );\r
+}\r
+\r
+\r
+#ifdef TEST_PRINTF\r
+int main(void)\r
+{\r
+       char *ptr = "Hello world!";\r
+       char *np = 0;\r
+       int i = 5;\r
+       unsigned int bs = sizeof(int)*8;\r
+       int mi;\r
+       char buf[80];\r
+\r
+       mi = (1 << (bs-1)) + 1;\r
+       printf("%s\n", ptr);\r
+       printf("printf test\n");\r
+       printf("%s is null pointer\n", np);\r
+       printf("%d = 5\n", i);\r
+       printf("%d = - max int\n", mi);\r
+       printf("char %c = 'a'\n", 'a');\r
+       printf("hex %x = ff\n", 0xff);\r
+       printf("hex %02x = 00\n", 0);\r
+       printf("signed %d = unsigned %u = hex %x\n", -3, -3, -3);\r
+       printf("%d %s(s)%", 0, "message");\r
+       printf("\n");\r
+       printf("%d %s(s) with %%\n", 0, "message");\r
+       sprintf(buf, "justif: \"%-10s\"\n", "left"); printf("%s", buf);\r
+       sprintf(buf, "justif: \"%10s\"\n", "right"); printf("%s", buf);\r
+       sprintf(buf, " 3: %04d zero padded\n", 3); printf("%s", buf);\r
+       sprintf(buf, " 3: %-4d left justif.\n", 3); printf("%s", buf);\r
+       sprintf(buf, " 3: %4d right justif.\n", 3); printf("%s", buf);\r
+       sprintf(buf, "-3: %04d zero padded\n", -3); printf("%s", buf);\r
+       sprintf(buf, "-3: %-4d left justif.\n", -3); printf("%s", buf);\r
+       sprintf(buf, "-3: %4d right justif.\n", -3); printf("%s", buf);\r
+\r
+       return 0;\r
+}\r
+\r
+/*\r
+ * if you compile this file with\r
+ *   gcc -Wall $(YOUR_C_OPTIONS) -DTEST_PRINTF -c printf.c\r
+ * you will get a normal warning:\r
+ *   printf.c:214: warning: spurious trailing `%' in format\r
+ * this line is testing an invalid % at the end of the format string.\r
+ *\r
+ * this should display (on 32bit int machine) :\r
+ *\r
+ * Hello world!\r
+ * printf test\r
+ * (null) is null pointer\r
+ * 5 = 5\r
+ * -2147483647 = - max int\r
+ * char a = 'a'\r
+ * hex ff = ff\r
+ * hex 00 = 00\r
+ * signed -3 = unsigned 4294967293 = hex fffffffd\r
+ * 0 message(s)\r
+ * 0 message(s) with %\r
+ * justif: "left      "\r
+ * justif: "     right"\r
+ *  3: 0003 zero padded\r
+ *  3: 3    left justif.\r
+ *  3:    3 right justif.\r
+ * -3: -003 zero padded\r
+ * -3: -3   left justif.\r
+ * -3:   -3 right justif.\r
+ */\r
+\r
+#endif\r
+\r
+\r
+/* To keep linker happy. */\r
+int    write( int i, char* c, int n)\r
+{\r
+       (void)i;\r
+       (void)n;\r
+       (void)c;\r
+       return 0;\r
+}\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/startcf.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/startcf.c
new file mode 100644 (file)
index 0000000..dabac67
--- /dev/null
@@ -0,0 +1,312 @@
+/*\r
+ *    CF_Startup.c - Default init/startup/termination routines for\r
+ *                     Embedded Metrowerks C++\r
+ *\r
+ *    Copyright Â© 1993-1998 Metrowerks, Inc. All Rights Reserved.\r
+ *    Copyright Â© 2005 Freescale semiConductor Inc. All Rights Reserved.\r
+ *\r
+ *\r
+ *    THEORY OF OPERATION\r
+ *\r
+ *    This version of thestartup code is intended for linker relocated\r
+ *    executables.  The startup code will assign the stack pointer to\r
+ *    __SP_INIT, assign the address of the data relative base address\r
+ *    to a5, initialize the .bss/.sbss sections to zero, call any\r
+ *    static C++ initializers and then call main.  Upon returning from\r
+ *    main it will call C++ destructors and call exit to terminate.\r
+ */\r
+\r
+#ifdef __cplusplus\r
+#pragma cplusplus off\r
+#endif\r
+#pragma PID off\r
+#pragma PIC off\r
+\r
+#include "startcf.h"\r
+#include "RuntimeConfig.h"\r
+\r
+       /* imported data */\r
+\r
+extern unsigned long far _SP_INIT, _SDA_BASE;\r
+extern unsigned long far _START_BSS, _END_BSS;\r
+extern unsigned long far _START_SBSS, _END_SBSS;\r
+extern unsigned long far __DATA_RAM, __DATA_ROM, __DATA_END;\r
+\r
+       /* imported routines */\r
+\r
+extern void __call_static_initializers(void);\r
+extern int main(int, char **);\r
+extern void exit(int);\r
+\r
+       /* exported routines */\r
+\r
+extern void _ExitProcess(void);\r
+extern asm void _startup(void);\r
+extern void __initialize_hardware(void);\r
+extern void __initialize_system(void);\r
+\r
+\r
+/*\r
+ *    Dummy routine for initializing hardware.  For user's custom systems, you\r
+ *    can create your own routine of the same name that will perform HW\r
+ *    initialization.  The linker will do the right thing to ignore this\r
+ *    definition and use the version in your file.\r
+ */\r
+#pragma overload void __initialize_hardware(void);\r
+void __initialize_hardware(void)\r
+{\r
+}\r
+\r
+/*\r
+ *    Dummy routine for initializing systems.  For user's custom systems,\r
+ *    you can create your own routine of the same name that will perform\r
+ *    initialization.  The linker will do the right thing to ignore this\r
+ *    definition and use the version in your file.\r
+ */\r
+#pragma overload void __initialize_system(void);\r
+void __initialize_system(void)\r
+{\r
+}\r
+\r
+/*\r
+ *    Dummy routine for initializing C++.  This routine will get overloaded by the C++ runtime.\r
+ */\r
+#pragma overload void __call_static_initializers(void);\r
+void __call_static_initializers(void)\r
+{\r
+}\r
+\r
+/*\r
+ *     Routine to copy a single section from ROM to RAM ...\r
+ */\r
+static __declspec(register_abi) void __copy_rom_section(char* dst, const char* src, unsigned long size)\r
+{\r
+       if (dst != src)\r
+                while (size--)\r
+                   *dst++ = *src++;\r
+}\r
+\r
+/*\r
+ *     Routine that copies all sections the user marked as ROM into\r
+ *     their target RAM addresses ...\r
+ *\r
+ *     __S_romp is automatically generated by the linker if it\r
+ *     is referenced by the program.  It is a table of RomInfo\r
+ *     structures.  The final entry in the table has all-zero\r
+ *     fields.\r
+ */\r
+static void __copy_rom_sections_to_ram(void)\r
+{\r
+       RomInfo         *info;\r
+\r
+       /*\r
+        *      Go through the entire table, copying sections from ROM to RAM.\r
+        */\r
+       for (info = _S_romp; info->Source != 0L || info->Target != 0L || info->Size != 0; ++info)\r
+    __copy_rom_section( (char *)info->Target,(char *)info->Source, info->Size);\r
+                                                       \r
+}\r
+\r
+/*\r
+ *    Exit handler called from the exit routine, if your OS needs\r
+ *    to do something special for exit handling just replace this\r
+ *    routines with what the OS needs to do ...\r
+ */\r
+asm void _ExitProcess(void)\r
+{\r
+       illegal\r
+       rts\r
+}\r
+\r
+/*\r
+ *    Routine to clear out blocks of memory should give good\r
+ *    performance regardless of 68k or ColdFire part.\r
+ */\r
+static __declspec(register_abi) void clear_mem(char *dst, unsigned long n)\r
+{\r
+       unsigned long i;\r
+       long *lptr;\r
+\r
+       if (n >= 32)\r
+       {\r
+               /* align start address to a 4 byte boundary */\r
+               i = (- (unsigned long) dst) & 3;\r
+\r
+               if (i)\r
+               {\r
+                       n -= i;\r
+                       do\r
+                               *dst++ = 0;\r
+                       while (--i);\r
+               }\r
+\r
+               /* use an unrolled loop to zero out 32byte blocks */\r
+               i = n >> 5;\r
+               if (i)\r
+               {\r
+                       lptr = (long *)dst;\r
+                       dst += i * 32;\r
+                       do\r
+                       {\r
+                               *lptr++ = 0;\r
+                               *lptr++ = 0;\r
+                               *lptr++ = 0;\r
+                               *lptr++ = 0;\r
+                               *lptr++ = 0;\r
+                               *lptr++ = 0;\r
+                               *lptr++ = 0;\r
+                               *lptr++ = 0;\r
+                       }\r
+                       while (--i);\r
+               }\r
+               i = (n & 31) >> 2;\r
+\r
+               /* handle any 4 byte blocks left */\r
+               if (i)\r
+               {\r
+                       lptr = (long *)dst;\r
+                       dst += i * 4;\r
+                       do\r
+                               *lptr++ = 0;\r
+                       while (--i);\r
+               }\r
+               n &= 3;\r
+       }\r
+\r
+       /* handle any byte blocks left */\r
+       if (n)\r
+               do\r
+                       *dst++ = 0;\r
+               while (--n);\r
+}\r
+\r
+/*\r
+ *    Startup routine for embedded application ...\r
+ */\r
+\r
+asm void _startup(void)\r
+{\r
+       /* disable interrupts */\r
+    move.w        #0x2700,sr\r
+\r
+       /* Pre-init SP, in case memory for stack is not valid it should be setup using \r
+          MEMORY_INIT before __initialize_hardware is called \r
+       */\r
+       lea __SP_AFTER_RESET,a7; \r
+\r
+    /* initialize memory */\r
+    MEMORY_INIT\r
+\r
+       /* initialize any hardware specific issues */\r
+    jsr           __initialize_hardware   \r
+  \r
+       /* setup the stack pointer */\r
+    lea           _SP_INIT,a7\r
+\r
+       /* setup A6 dummy stackframe */\r
+    movea.l       #0,a6\r
+    link          a6,#0\r
+\r
+       /* setup A5 */\r
+    lea           _SDA_BASE,a5\r
+\r
+\r
+       /* zero initialize the .bss section */\r
+\r
+    lea           _END_BSS, a0\r
+    lea           _START_BSS, a1\r
+    suba.l        a1, a0\r
+    move.l        a0, d0\r
+\r
+    beq           __skip_bss__\r
+\r
+    lea           _START_BSS, a0\r
+\r
+    /* call clear_mem with base pointer in a0 and size in d0 */\r
+    jsr           clear_mem\r
+\r
+__skip_bss__:\r
+\r
+       /* zero initialize the .sbss section */\r
+\r
+    lea           _END_SBSS, a0\r
+    lea           _START_SBSS, a1\r
+    suba.l        a1, a0\r
+    move.l        a0, d0\r
+\r
+    beq           __skip_sbss__\r
+\r
+    lea           _START_SBSS, a0\r
+\r
+    /* call clear_mem with base pointer in a0 and size in d0 */\r
+    jsr           clear_mem\r
+\r
+__skip_sbss__:\r
+\r
+       /* copy all ROM sections to their RAM locations ... */\r
+#if SUPPORT_ROM_TO_RAM\r
+\r
+       /*\r
+        * _S_romp is a null terminated array of\r
+        * typedef struct RomInfo {\r
+     *      unsigned long      Source;\r
+     *      unsigned long      Target;\r
+     *      unsigned long      Size;\r
+     *  } RomInfo;\r
+     *\r
+     * Watch out if you're rebasing using _PICPID_DELTA\r
+     */\r
+\r
+    lea           _S_romp, a0\r
+    move.l        a0, d0\r
+    beq           __skip_rom_copy__            \r
+    jsr           __copy_rom_sections_to_ram\r
+\r
+#else\r
+\r
+       /*\r
+   * There's a single block to copy from ROM to RAM, perform\r
+   * the copy directly without using the __S_romp structure\r
+   */\r
+\r
+    lea           __DATA_RAM, a0\r
+    lea           __DATA_ROM, a1\r
+    \r
+    cmpa          a0,a1\r
+    beq           __skip_rom_copy__\r
+              \r
+    move.l        #__DATA_END, d0\r
+    sub.l         a0, d0\r
+                  \r
+    jsr           __copy_rom_section\r
+\r
+#endif\r
+__skip_rom_copy__:\r
+       \r
+       /* call C++ static initializers (__sinit__(void)) */\r
+       jsr                       __call_static_initializers\r
+\r
+       jsr                       __initialize_system\r
+\r
+       /* call main(int, char **) */\r
+       pea                       __argv\r
+       clr.l             -(sp)                         /* clearing a long is ok since it's caller cleanup */\r
+       jsr                       main\r
+       addq.l          #8, sp\r
+       \r
+       unlk              a6\r
+       \r
+       /* now call exit(0) to terminate the application */\r
+       clr.l             -(sp)\r
+       jsr                       exit\r
+       addq.l          #4, sp\r
+\r
+       /* should never reach here but just in case */\r
+       illegal\r
+       rts\r
+\r
+       /* exit will never return */\r
+__argv:\r
+    dc.l          0\r
+}\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/startcf.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/startcf.h
new file mode 100644 (file)
index 0000000..51c315d
--- /dev/null
@@ -0,0 +1,77 @@
+/******************************************************************************\r
+  FILE    : startcf.h\r
+  PURPOSE : startup code for ColdFire\r
+  LANGUAGE: C\r
+\r
+\r
+  Notes:\r
+        1) Default entry point is _startup. \r
+           . disable interrupts\r
+           . the SP is set to __SP_AFTER_RESET\r
+           . SP must be initialized to valid memory \r
+             in case the memory it points to is not valid using MEMORY_INIT macro\r
+        2) __initialize_hardware is called. Here you can initialize memory and some peripherics\r
+           at this point global variables are not initialized yet\r
+        3) After __initialize_hardware memory is setup; initialize SP to _SP_INIT and perform \r
+           needed initialisations for the language (clear memory, data rom copy).\r
+        4) void __initialize_system(void); is called\r
+           to allow additional hardware initialization (UART, GPIOs, etc...)\r
+        5) Jump to main \r
+\r
+*/\r
+/********************************************************************************/\r
+\r
+#ifndef STARTCF_H\r
+#define STARTCF_H\r
+\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+#ifdef STARTCF_INCLUDE\r
+#include STARTCF_INCLUDE\r
+#endif\r
+\r
+#pragma warn_any_ptr_int_conv off\r
+#pragma warn_absolute off\r
+\r
+extern unsigned long far __SP_INIT[];\r
+extern unsigned long far __SP_AFTER_RESET[];\r
+\r
+#ifndef MEMORY_INIT\r
+/* If MEMORY_INIT is set then it performs\r
+   minimal memory initialization (to preset SP to __SP_AFTER_RESET, etc...) \r
+*/\r
+#define MEMORY_INIT\r
+#endif\r
+\r
+void _startup(void);\r
+\r
+#ifndef SUPPORT_ROM_TO_RAM\r
+  /*\r
+   * If SUPPORT_ROM_TO_RAM is set, _S_romp is used to define the copy to be performed.\r
+   * If it is not set, there's a single block to copy, performed directly without \r
+   * using the __S_romp structure, based on __DATA_RAM, __DATA_ROM and\r
+   * __DATA_END symbols.\r
+   *\r
+   * Set to 0 for more aggressive dead stripping ...\r
+   */\r
+#define SUPPORT_ROM_TO_RAM 1\r
+#endif\r
+\r
+/* format of the ROM table info entry ... */\r
+typedef struct RomInfo {\r
+       void            *Source;\r
+       void            *Target;\r
+       unsigned long    Size;\r
+} RomInfo;\r
+\r
+/* imported data */\r
+extern far RomInfo _S_romp[];          /* linker defined symbol */\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/stdlib.c b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/stdlib.c
new file mode 100644 (file)
index 0000000..8fd7de6
--- /dev/null
@@ -0,0 +1,497 @@
+/* FILENAME: stdlib.c\r
+ *\r
+ * Functions normally found in a standard C lib.\r
+ *\r
+ * 12/28/2005 - added memcmp and memmove\r
+ *\r
+ * Notes: These functions support ASCII only!!!\r
+ */\r
+\r
+//#include "m51cn128evb.h"\r
+#include "stdlib.h"\r
+\r
+#define TRUE 1\r
+#define FALSE 0\r
+#define NULL 0\r
+\r
+/****************************************************************/\r
+int\r
+isspace (int ch)\r
+{\r
+       if ((ch == ' ') || (ch == '\t'))        /* \n ??? */\r
+               return TRUE;\r
+       else\r
+               return FALSE;\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+isalnum (int ch)\r
+{\r
+       /* ASCII only */\r
+       if (((ch >= '0') && (ch <= '9')) ||\r
+               ((ch >= 'A') && (ch <= 'Z')) ||\r
+               ((ch >= 'a') && (ch <= 'z')))\r
+               return TRUE;\r
+       else\r
+               return FALSE;\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+isdigit (int ch)\r
+{\r
+       /* ASCII only */\r
+       if ((ch >= '0') && (ch <= '9'))\r
+               return TRUE;\r
+       else\r
+               return FALSE;\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+isupper (int ch)\r
+{\r
+       /* ASCII only */\r
+       if ((ch >= 'A') && (ch <= 'Z'))\r
+               return TRUE;\r
+       else\r
+               return FALSE;\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+strcasecmp (const char *s1, const char *s2)\r
+{\r
+       char    c1, c2;\r
+       int             result = 0;\r
+\r
+       while (result == 0)\r
+       {\r
+               c1 = *s1++;\r
+               c2 = *s2++;\r
+               if ((c1 >= 'a') && (c1 <= 'z'))\r
+                       c1 = (char)(c1 - ' ');\r
+               if ((c2 >= 'a') && (c2 <= 'z'))\r
+                       c2 = (char)(c2 - ' ');\r
+               if ((result = (c1 - c2)) != 0)\r
+                       break;\r
+               if ((c1 == 0) || (c2 == 0))\r
+                       break;\r
+       }\r
+       return result;\r
+}\r
+\r
+\r
+/****************************************************************/\r
+int\r
+stricmp (const char *s1, const char *s2)\r
+{\r
+   return (strcasecmp(s1, s2));\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+strncasecmp (const char *s1, const char *s2, int n)\r
+{\r
+       char    c1, c2;\r
+       int             k = 0;\r
+       int             result = 0;\r
+\r
+       while ( k++ < n )\r
+       {\r
+               c1 = *s1++;\r
+               c2 = *s2++;\r
+               if ((c1 >= 'a') && (c1 <= 'z'))\r
+                       c1 = (char)(c1 - ' ');\r
+               if ((c2 >= 'a') && (c2 <= 'z'))\r
+                       c2 = (char)(c2 - ' ');\r
+               if ((result = (c1 - c2)) != 0)\r
+                       break;\r
+               if ((c1 == 0) || (c2 == 0))\r
+                       break;\r
+       }\r
+       return result;\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+strnicmp (const char *s1, const char *s2, int n)\r
+{\r
+   return (strncasecmp(s1, s2, n));\r
+}\r
+\r
+/****************************************************************/\r
+unsigned long\r
+strtoul (char *str, char **ptr, int base)\r
+{\r
+   unsigned long rvalue = 0;\r
+   int neg = 0;\r
+   int c;\r
+\r
+   /* Validate parameters */\r
+   if ((str != NULL) && (base >= 0) && (base <= 36))\r
+   {\r
+      /* Skip leading white spaces */\r
+      while (isspace(*str))\r
+      {\r
+         ++str;\r
+       }\r
+\r
+       /* Check for notations */\r
+       switch (str[0])\r
+       {\r
+               case '0':\r
+          if (base == 0)\r
+          {\r
+             if ((str[1] == 'x') || (str[1] == 'X'))\r
+                               {\r
+                                       base = 16;\r
+                str += 2;\r
+             }\r
+             else\r
+             {\r
+                base = 8;\r
+                str++;\r
+                               }\r
+                       }\r
+                       break;\r
+    \r
+               case '-':\r
+                       neg = 1;\r
+          str++;\r
+          break;\r
+\r
+       case '+':\r
+          str++;\r
+                       break;\r
+\r
+               default:\r
+                       break;\r
+       }\r
+\r
+       if (base == 0)\r
+               base = 10;\r
+\r
+      /* Valid "digits" are 0..9, A..Z, a..z */\r
+      while (isalnum(c = *str))\r
+      {\r
+               /* Convert char to num in 0..36 */\r
+         if ((c -= ('a' - 10)) < 10)         /* 'a'..'z' */\r
+         {\r
+            if ((c += ('a' - 'A')) < 10)     /* 'A'..'Z' */\r
+            {\r
+               c += ('A' - '0' - 10);        /* '0'..'9' */\r
+                       }\r
+               }\r
+\r
+               /* check c against base */\r
+               if (c >= base)\r
+               {\r
+                       break;\r
+               }\r
+\r
+               if (neg)\r
+               {\r
+                       rvalue = (rvalue * base) - c;\r
+               }\r
+               else\r
+               {\r
+                       rvalue = (rvalue * base) + c;\r
+         }\r
+\r
+         ++str;\r
+               }\r
+       }\r
+\r
+   /* Upon exit, 'str' points to the character at which valid info */\r
+   /* STOPS.  No chars including and beyond 'str' are used.        */\r
+\r
+       if (ptr != NULL)\r
+                       *ptr = str;\r
+               \r
+               return rvalue;\r
+       }\r
+\r
+/****************************************************************/\r
+int\r
+atoi (const char *str)\r
+{\r
+   char *s = (char *)str;\r
+   \r
+   return ((int)strtoul(s, NULL, 10));\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+strlen (const char *str)\r
+{\r
+       char *s = (char *)str;\r
+       int len = 0;\r
+\r
+       if (s == NULL)\r
+               return 0;\r
+\r
+       while (*s++ != '\0')\r
+               ++len;\r
+\r
+       return len;\r
+}\r
+\r
+/****************************************************************/\r
+char *\r
+strcat (char *dest, const char *src)\r
+{\r
+       char *dp;\r
+       char *sp = (char *)src;\r
+\r
+       if ((dest != NULL) && (src != NULL))\r
+       {\r
+               dp = &dest[strlen(dest)];\r
+\r
+               while (*sp != '\0')\r
+               {\r
+                       *dp++ = *sp++;\r
+               }\r
+               *dp = '\0';\r
+       }\r
+       return dest;\r
+}\r
+\r
+/****************************************************************/\r
+char *\r
+strncat (char *dest, const char *src, int n)\r
+{\r
+       char *dp;\r
+       char *sp = (char *)src;\r
+\r
+       if ((dest != NULL) && (src != NULL) && (n > 0))\r
+       {\r
+               dp = &dest[strlen(dest)];\r
+\r
+               while ((*sp != '\0') && (n-- > 0))\r
+               {\r
+                       *dp++ = *sp++;\r
+               }\r
+               *dp = '\0';\r
+       }\r
+       return dest;\r
+}\r
+\r
+/****************************************************************/\r
+char *\r
+strcpy (char *dest, const char *src)\r
+{\r
+       char *dp = (char *)dest;\r
+       char *sp = (char *)src;\r
+\r
+       if ((dest != NULL) && (src != NULL))\r
+       {\r
+               while (*sp != '\0')\r
+               {\r
+                       *dp++ = *sp++;\r
+               }\r
+               *dp = '\0';\r
+       }\r
+       return dest;\r
+}\r
+\r
+/****************************************************************/\r
+char *\r
+strncpy (char *dest, const char *src, int n)\r
+{\r
+       char *dp = (char *)dest;\r
+       char *sp = (char *)src;\r
+\r
+       if ((dest != NULL) && (src != NULL) && (n > 0))\r
+       {\r
+               while ((*sp != '\0') && (n-- > 0))\r
+               {\r
+                       *dp++ = *sp++;\r
+               }\r
+               *dp = '\0';\r
+       }\r
+       return dest;\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+strcmp (const char *s1, const char *s2)\r
+{\r
+       /* No checks for NULL */\r
+       char *s1p = (char *)s1;\r
+       char *s2p = (char *)s2;\r
+\r
+       while (*s2p != '\0')\r
+       {\r
+               if (*s1p != *s2p)\r
+                       break;\r
+\r
+               ++s1p;\r
+               ++s2p;\r
+       }\r
+       return (*s1p - *s2p);\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+strncmp (const char *s1, const char *s2, int n)\r
+{\r
+       /* No checks for NULL */\r
+       char *s1p = (char *)s1;\r
+       char *s2p = (char *)s2;\r
+\r
+       if (n <= 0)\r
+               return 0;\r
+\r
+       while (*s2p != '\0')\r
+       {\r
+               if (*s1p != *s2p)\r
+                       break;\r
+\r
+               if (--n == 0)\r
+                       break;\r
+\r
+               ++s1p;\r
+               ++s2p;\r
+       }\r
+       return (*s1p - *s2p);\r
+}\r
+\r
+/****************************************************************/\r
+char *\r
+strstr(const char *s1, const char *s2)\r
+{\r
+   char *sp = (char *)s1;\r
+   int  len1 = strlen(s1);\r
+   int  len2 = strlen(s2);\r
+\r
+   while (len1 >= len2) \r
+   {\r
+      if (strncmp(sp, s2, len2) == 0)\r
+      {\r
+         return (sp);\r
+      }\r
+      ++sp;\r
+      --len1;\r
+   }\r
+\r
+   return (NULL);\r
+}\r
+\r
+/****************************************************************/\r
+char *\r
+strchr(const char *str, int c)\r
+{\r
+   char *sp = (char *)str;\r
+   char  ch = (char)(c & 0xff);\r
+\r
+   while (*sp != '\0')\r
+   {\r
+      if (*sp == ch)\r
+      {\r
+         return (sp);\r
+      }\r
+      ++sp;\r
+   }\r
+\r
+   return (NULL);\r
+}\r
+\r
+/****************************************************************/\r
+void *\r
+memcpy (void *dest, const void *src, unsigned n)\r
+{\r
+       unsigned char *dbp = (unsigned char *)dest;\r
+       unsigned char *sbp = (unsigned char *)src;\r
+\r
+       if ((dest != NULL) && (src != NULL) && (n > 0))\r
+       {\r
+      while (n--)\r
+                       *dbp++ = *sbp++;\r
+       }\r
+       return dest;\r
+}\r
+\r
+/****************************************************************/\r
+void *\r
+memset (void *s, int c, unsigned n)\r
+{\r
+       /* Not optimized, but very portable */\r
+       unsigned char *sp = (unsigned char *)s;\r
+\r
+       if ((s != NULL) && (n > 0))\r
+       {\r
+               while (n--)\r
+               {\r
+                       *sp++ = (unsigned char)c;\r
+               }\r
+       }\r
+       return s;\r
+}\r
+\r
+/****************************************************************/\r
+int\r
+memcmp (const void *s1, const void *s2, unsigned n)\r
+{\r
+   unsigned char *s1p, *s2p;\r
+\r
+   if (s1 && s2 && (n > 0))\r
+   {\r
+      s1p = (unsigned char *)s1;\r
+      s2p = (unsigned char *)s2;\r
+\r
+      while ((--n >= 0) && (*s1p == *s2p))\r
+      {\r
+         if (*s1p != *s2p)\r
+            return (*s1p - *s2p);\r
+         ++s1p;\r
+         ++s2p;\r
+      }\r
+   }\r
+\r
+   return (0);\r
+}\r
+\r
+/****************************************************************/\r
+void *\r
+memmove (void *dest, const void *src, unsigned n)\r
+{\r
+   unsigned char *dbp = (unsigned char *)dest;\r
+   unsigned char *sbp = (unsigned char *)src;\r
+   unsigned char *dend = dbp + n;\r
+   unsigned char *send = sbp + n;\r
+\r
+   if ((dest != NULL) && (src != NULL) && (n > 0))\r
+   {\r
+      /* see if a memcpy would overwrite source buffer */\r
+      if ((sbp < dbp) && (dbp < send))\r
+      {\r
+         while (n--)\r
+            *(--dend) = *(--send);\r
+      }\r
+      else\r
+      {\r
+         while (n--)\r
+            *dbp++ = *sbp++;\r
+      }\r
+   }\r
+\r
+   return dest;\r
+}\r
+\r
+/****************************************************************/\r
+\r
+char *\r
+strrchr(const char *s, int c)\r
+{\r
+    const char *last = NULL;\r
+    if (c == '\0')\r
+        return strchr(s, c);\r
+    while ((s = strchr(s, c)) != NULL) {\r
+        last = s;\r
+        s++;\r
+    }\r
+    return (char *) last;\r
+}\r
+\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/stdlib.h b/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/stdlib.h
new file mode 100644 (file)
index 0000000..7a9865d
--- /dev/null
@@ -0,0 +1,79 @@
+/*\r
+ * File:               stdlib.h\r
+ * Purpose:            Function prototypes for standard library functions\r
+ *\r
+ * Notes:\r
+ */\r
+\r
+#ifndef _STDLIB_H\r
+#define _STDLIB_H\r
+\r
+/********************************************************************\r
+ * Standard library functions\r
+ ********************************************************************/\r
+\r
+int\r
+isspace (int);\r
+\r
+int\r
+isalnum (int);\r
+\r
+int\r
+isdigit (int);\r
+\r
+int\r
+isupper (int);\r
+\r
+int\r
+strcasecmp (const char *, const char *);\r
+\r
+int\r
+strncasecmp (const char *, const char *, int);\r
+\r
+unsigned long\r
+strtoul (char *, char **, int);\r
+\r
+int\r
+strlen (const char *);\r
+\r
+char *\r
+strcat (char *, const char *);\r
+\r
+char *\r
+strncat (char *, const char *, int);\r
+\r
+char *\r
+strcpy (char *, const char *);\r
+\r
+char *\r
+strncpy (char *, const char *, int);\r
+\r
+int\r
+strcmp (const char *, const char *);\r
+\r
+int\r
+strncmp (const char *, const char *, int);\r
+\r
+void *\r
+memcpy (void *, const void *, unsigned);\r
+\r
+void *\r
+memset (void *, int, unsigned);\r
+\r
+void\r
+free (void *);\r
\r
+void *\r
+malloc (unsigned);\r
+\r
+#define RAND_MAX 32767\r
+\r
+int\r
+rand (void);\r
+\r
+void\r
+srand (int);\r
+\r
+/********************************************************************/\r
+\r
+#endif\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Postload.cmd b/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Postload.cmd
new file mode 100644 (file)
index 0000000..eb00f37
--- /dev/null
@@ -0,0 +1 @@
+// After load the commands written below will be executed\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Preload.cmd b/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Preload.cmd
new file mode 100644 (file)
index 0000000..691c5ee
--- /dev/null
@@ -0,0 +1 @@
+// Before load the commands written below will be executed\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Reset.cmd b/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Reset.cmd
new file mode 100644 (file)
index 0000000..f0fc874
--- /dev/null
@@ -0,0 +1 @@
+// After reset the commands written below will be executed\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Startup.cmd b/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_BDM_P&E_Multilink_CyclonePro_Startup.cmd
new file mode 100644 (file)
index 0000000..5f2b5a5
--- /dev/null
@@ -0,0 +1 @@
+// At startup the commands written below will be executed\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Postload.cmd b/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Postload.cmd
new file mode 100644 (file)
index 0000000..eb00f37
--- /dev/null
@@ -0,0 +1 @@
+// After load the commands written below will be executed\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Preload.cmd b/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Preload.cmd
new file mode 100644 (file)
index 0000000..691c5ee
--- /dev/null
@@ -0,0 +1 @@
+// Before load the commands written below will be executed\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Reset.cmd b/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Reset.cmd
new file mode 100644 (file)
index 0000000..f0fc874
--- /dev/null
@@ -0,0 +1 @@
+// After reset the commands written below will be executed\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Startup.cmd b/Demo/ColdFire_MCF51CN128_CodeWarrior/cmd/CFV1_Full_Chip_Simulator_Startup.cmd
new file mode 100644 (file)
index 0000000..5f2b5a5
--- /dev/null
@@ -0,0 +1 @@
+// At startup the commands written below will be executed\r
diff --git a/Demo/ColdFire_MCF51CN128_CodeWarrior/prm/Project.lcf b/Demo/ColdFire_MCF51CN128_CodeWarrior/prm/Project.lcf
new file mode 100644 (file)
index 0000000..d6a3d94
--- /dev/null
@@ -0,0 +1,114 @@
+# Sample Linker Command File for CodeWarrior for ColdFire MCF51CN128\r
+\r
+# Memory ranges\r
+\r
+MEMORY {\r
+   code        (RX)  : ORIGIN = 0x00000410, LENGTH = 0x0001FBF0\r
+   userram     (RWX) : ORIGIN = 0x00800000, LENGTH = 0x00006000\r
+}\r
+\r
+SECTIONS {\r
+\r
+# Heap and Stack sizes definition\r
+  ___heap_size     = 0x04;\r
+  ___stack_size    = 0x0200;\r
+\r
+# MCF51CN128 Derivative Memory map definitions from linker command files:\r
+# ___RAM_ADDRESS, ___RAM_SIZE, ___FLASH_ADDRESS, ___FLASH_SIZE linker\r
+# symbols must be defined in the linker command file.\r
+\r
+# 24 Kbytes Internal SRAM\r
+   ___RAM_ADDRESS = 0x00800000;\r
+   ___RAM_SIZE    = 0x00006000;\r
+\r
+# 128 KByte Internal Flash Memory\r
+   ___FLASH_ADDRESS  = 0x00000000;\r
+   ___FLASH_SIZE     = 0x00020000;\r
+\r
+  .userram        : {} > userram\r
+  .code     : {} > code\r
+\r
+  .text :\r
+  {\r
+    *(.text)\r
+    . = ALIGN (0x4);\r
+    *(.rodata)\r
+    . = ALIGN (0x4);\r
+    ___ROM_AT = .;\r
+    ___DATA_ROM = .;\r
+  } >> code\r
+\r
+  .data : AT(___ROM_AT)\r
+  {\r
+    ___DATA_RAM = .;\r
+    . = ALIGN(0x4);\r
+    *(.exception)\r
+    . = ALIGN(0x4);\r
+    __exception_table_start__ = .;\r
+    EXCEPTION\r
+    __exception_table_end__ = .;\r
+\r
+    ___sinit__ = .;\r
+      STATICINIT\r
+    __START_DATA = .;\r
+\r
+    *(.data)\r
+    . = ALIGN (0x4);\r
+    __END_DATA = .;\r
+\r
+    __START_SDATA = .;\r
+    *(.sdata)\r
+    . = ALIGN (0x4);\r
+    __END_SDATA = .;\r
+\r
+    ___DATA_END = .;\r
+    __SDA_BASE = .;\r
+    . = ALIGN (0x4);\r
+  } >> userram\r
+\r
+  .bss :\r
+  {\r
+    ___BSS_START = .;\r
+    __START_SBSS = .;\r
+    *(.sbss)\r
+    . = ALIGN (0x4);\r
+    *(SCOMMON)\r
+    __END_SBSS = .;\r
+\r
+    __START_BSS = .;\r
+    *(.bss)\r
+    . = ALIGN (0x4);\r
+    *(COMMON)\r
+    __END_BSS = .;\r
+    ___BSS_END = .;\r
+\r
+    . = ALIGN(0x4);\r
+  } >> userram\r
+\r
+  .custom :\r
+  {\r
+    ___HEAP_START       = .;\r
+    ___heap_addr        = ___HEAP_START;\r
+    ___HEAP_END         = ___HEAP_START + ___heap_size;\r
+    ___SP_END             = ___HEAP_END;\r
+    ___SP_INIT          = ___SP_END + ___stack_size;\r
+\r
+    . = ALIGN (0x4);\r
+  } >> userram\r
+\r
+  __SP_INIT             = ___SP_INIT;\r
+\r
+  ___SP_AFTER_RESET     = __SP_INIT;\r
+\r
+  _romp_at = ___ROM_AT + SIZEOF(.data);\r
+  .romp : AT(_romp_at)\r
+  {\r
+    __S_romp = _romp_at;\r
+    WRITEW(___ROM_AT);\r
+    WRITEW(ADDR(.data));\r
+    WRITEW(SIZEOF(.data));\r
+    WRITEW(0);\r
+    WRITEW(0);\r
+    WRITEW(0);\r
+  }\r
+}\r
index c0c3b5c09af428bc698d934fec826d92a3d23261..4efa4b0fa74a2d94b21679ba3a54c2fd14cc88ed 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
        licensing and training services.\r
 */\r
 \r
+/* CodeWarrior often thinks it knows better than you which files you want to \r
+build - and changes the port.c and portasm.S files included in the project from\r
+the ColdFire V1 versions to the x86 versions.  If you get lots of errors output\r
+when either file is compiled then delete the files from the project and then\r
+add back in the port.c and portasm.S files that are located in the \r
+FreeRTOS\Source\portable\GCC\ColdFire_V2 directory.  Remove the line below\r
+before compiling. */\r
+\r
+#error Read the comment above this line, then delete this error statement!\r
+\r
+\r
 #ifndef FREERTOS_CONFIG_H\r
 #define FREERTOS_CONFIG_H\r
 \r
index bc4a101fbabd95b4c6726d0f7eaf6ff6b6f9069a..6cb9d6b577d9b3f36c7982b6d34164fec31c40e1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ec6df8891252a68132cd6d3d60d27bcdd2f051f4..d69fae43ba61a484deab4c2bc12d37684b5d5aba 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 6dd094e9d35c89506c5194bc7829d8fee136ad7d..156149c9f3d27f65269e65a32befff17e94c8fe5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 51a678ba5a2e518e2d9760ef13314c6f268d8968..35d4380b113bba424ea25eccfdf4edc03a7c6f85 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1b2efa4438aea231e4d96fc9ac0ab28bf2894065..d9cb314acd59bf1e6c407591a7506f68be2bd83a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 42aa80a4f279b78a7d63d442bb62863079800184..0f0bd435504d6b7995af83c5c8409d04fcc1dfc0 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b47fa18141cecc95d386a102267668f679b13c97..3ae820d1a416def31c47cf58360c9ae015bdc59d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f65cca79b639d9bfa462b55f64436446ea895410..cd4b153c1d891129bdf18b1c78fd0e089fd75ae3 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a25808fefe52b04b8b00077d6b3f2ab80a8d4f49..82f8f2d5e5e783d26ddd6d3f219330250838a62f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5470fe9cb3e087f69818a6fbe87818cefd92b323..4ed9886cd409ec18710131ca3e544c6ee68e6ae6 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index cf78ba8e5ccc4ff340bf9e2061cd9f2f225398cc..2b2084a7fd32f162f03e04b0af76faaf1d18ec84 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
        licensing and training services.\r
 */\r
 \r
+/* CodeWarrior often thinks it knows better than you which files you want to \r
+build - and changes the port.c and portasm.S files included in the project from\r
+the ColdFire V1 versions to the x86 versions.  If you get lots of errors output\r
+when either file is compiled then delete the files from the project and then\r
+add back in the port.c and portasm.S files that are located in the \r
+FreeRTOS\Source\portable\GCC\ColdFire_V2 directory.  Remove the line below\r
+before compiling. */\r
+\r
+#error Read the comment above this line, then delete this error statement!\r
+\r
 #ifndef FREERTOS_CONFIG_H\r
 #define FREERTOS_CONFIG_H\r
 \r
index 5d309c8f84b5f1b5e3a02a595a445f47ebbb4ef2..8d93577b13aa9972d40a9128fc82d9d08de6c1d5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 787f39bc280300f3878c68b50873eb318896aee1..3c4e62748d854f509c4bdddce3d3966267ca92d1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 751cb703158ccfab13278ce15bb3cfa6ae1c1c0d..8820709901e63c542ac002c9c3d939fdceb23686 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ec6df8891252a68132cd6d3d60d27bcdd2f051f4..d69fae43ba61a484deab4c2bc12d37684b5d5aba 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 4b015c0a40e9cd06413393c0c24b0ab6d5fddc31..fd7b503849fb1b47f5c030259d5641a054ae251f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 277dc19b79e248b7699385328190ab370c9a1612..7503c0f2007fcf590f3879087614d3c10f50f486 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 42aa80a4f279b78a7d63d442bb62863079800184..0f0bd435504d6b7995af83c5c8409d04fcc1dfc0 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 709aaf41296d5a997dd1183959538a0fdc85f701..385ab43778c21586ec404e9dc89ab834cb50220d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index fb69716037c3c582359377f46c88fbef5da4ecd0..fedfdb464efb9c3b1732c8cb8b82088889c6a99b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a87e416186cd65d0c4d46f6760a2026a9ec29f1e..24f1e130a8a7a9c7ee5facaf50b71031a390582f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 837b21798e0846a72b3d133efd273479603802e5..22733fd3a71ff782110d5e42edc4250a7580e258 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ba5b571c9844703dac83aa59746bdeddfcdc229e..5571824829453584b709c045e06e7a2d7ba27577 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e7823cab9c121e2bb773a119b7c72d8099db916e..e97f03569bddafcbcec5837e5ab744ca0a7990ba 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 89b9d99f589237c1c4b2c1482b5f4c20e28424ea..b349ab5a3b4b5d588b22524fdc85d0313d2662c8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 472f0db027b469cc70c3f37807351cebec7a1a97..54f45728881a1e8c68262a395f7105c16cafee6f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 3ef60fd2e0e3eac6cef6e71d1cb8f5830e629dac..6c47d2d77f304f058c06a4fdb8738a115a430530 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 954f3424a1b683cd9909ab2eb07da03c6266f2ec..29b906ec52a876d1448e2036dc841d8eadb896b9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1261676d9cdd5efadbd367670eb60e07bf40dee0..2b6502640e8a2e64284a9d6e2c55a75e5aa5f459 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b0e7b335c53b3cd4f73ed1ec279a549858390c63..2ea96c89f6159baf2a032cb80b563a889e124f03 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0498c3f14a21d1b2d8a845bc6849d368d34d3823..fe33bd1f3db8a0bbd23f6fa10a145911bfe2ab0f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index aab04e45cd00c0f70b78d7d34e921cbe9ba7d115..d95af2cbd909ea74e823a49dd6f7f2586c4d7bb5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 37ad200ad24c421ab33817152bb6042dc658864b..b1b27822d1a02e3fb52b96a4fbc5179553fd30e4 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 506cfb0d2cc2e317541225b3427c8e3255f32c3f..7c5d9a69afc23af4b73e24216835651f27689aac 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index d03ccba0382ab103b1cfd829f26b37ed45a92aea..2d335598b0cfe20426d4b59462e1193b59b66ea4 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9167d5173263e8fca896879d0b015dd7b29e24f4..fb73f1a8d140d036b1e4dcb23507c2be318cf058 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 97456907ede366198f33f197db27695ad859e1ab..69d93d5c9d6f974984a45e4257571fed13a11d08 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9a7526be3d862137049f057c0fa9f3d608f6ed58..b66cc255992ba46b4be1cf89adee5d0398417e82 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5f3e56b67624a50facbe3cce0ecbffe7e702fce0..446226dd80f9585a1b7ff9ec1762cb72818ff59a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 37f0b912faa9109638c8b024ac6db12c6919e073..c243ba942c2ddcc327bcad64aa1d28218d9e27f8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 26a104727bd44194e78eb02242487c71b90de0b8..234019c0ef79b39986b8f10bc9c10b7267b2804e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9da8ddcffc613b4282d1a918e68113f0dde1dde4..29344c98a364d9b5b5d3660cfede45a240ee14f6 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5eb0887b110ac19e2bfbebfcab567441b3448270..0446b008815750134166c1bf78a7f1968d5936b2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index de5b2005ba78e7ca78ab65c969ca652edf82a58d..718d36b331097387d769e3ef328a3ceb0aa4c845 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a7020c8e79091304c04596ff8846adcc53474917..da7fb8715273160e465018367110de6dfd0ffb0a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c8324f735ec9372ed21d903c5e561ab56f6deadb..34297af4ca928d999815b1696dd5f84794a7596a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f04e9de97754df396a849295222d75b05c9cbb1c..be23b33e2ffa0122bdc0ff77c775e5b1eb1da1a1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 3980a42948cb210accf037ed96ad074f1986868b..3cb2e2c3dd631d41c374dffd8e2ced4a618694dc 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a8a07e0b2adb9f3e74d9b68c625becda4ee7dcdc..fd9b0546485e310da99e549ac9fbd2098cab36aa 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 29c6e19d3e04a36e836a2a669933b987303113ed..422302c794f188090e150f5fc7f72777c307f755 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e9385e5f15cf124df47c226caab5354a5d399b5e..fdf3b7f493e86819db59e60d8875d3591be998d3 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 4f09532e52387eb1f4bbd39639717b2ebab70ac8..23f3278c5831c62baaad6c48e296f0e3e16e4122 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b0801554adfe6420a8d51782cc6b3f4595525ca4..014599c3d2a1c704b2041aa11ba6d2ad60d9f810 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2eec56b4a2383e5bf3045828e63653035cf8112a..6b753224fb2d02849c42b94bdb6159502c27aac2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index aa7472e84266405c422968bb28ced0fd3e43e2a2..dda16c522a80c8d00528b60d5b220e31d8415b8b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9fc13ce10437db9b6376cd54a69215646f66dad9..c4b782172a5e4b4cea478c7e7a767374c398cc77 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 6890a0ba030d92a48e70c2197ba6edb3c3533106..e405180e01c4bf4221bac2edb4db107f1105c1b8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 345b83e907e88237e2122525a7c701c3ec20fdff..f6e05d27adeff16b74380119e5d296b19b428e5d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 23252d6052b0caf9d44bc56992fc94f6c83b4fbc..275663547bb82a7f0853017ce268fb70ffce91be 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 44beeb65d26d6228d1cae2f9401d8fa826d0db56..6606f1e5c53778475bf637888ac28237c72c2d6a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 94fe899e76226d6e285cc3ba6e2e14aedbb1f961..a625e886af71546a160fe42dd90bd2b39ccb21e5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0a097abded742eeecfb3e59db89fd2c83b365f06..f3481defee4009a0bc46ba23533039537d3af442 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index cb6423abeaecc981fcd085bf2b7b015490aaab07..69de9e5d078f41e029c0750f3c5432dfeceffdfa 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2e33223b28740f7f35a6e13c93aec7f3cb892175..edc1dcc9249b7c64d6789e73b6c1e03886dd6c3d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0db80c92a66a6ea2340d2ff551beedf1aed7291c..66f22c217db2407b96ef711f19b518ccd751ac41 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1319f9e0c9166c1d0608431ca5c054591b99e710..5502ffd77ff83f5f2f05d888cec144738a2793f2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 21420dd757134fb96ff85d5e77599beb3f70c52f..abb9e16b13c07d257749579f8f806435d3fda624 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2246c10f7a28c76136cce4dd2f39e6c075b74312..12a740a6b4bab9c260165fba6f84f3f3025f652e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f7af73980ac718f47362e8c73cc0cd01ca2a87b9..df70ecf602aea6e153f55b19695b841b638a019e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2a17b62b331c6e480097ebb6de5cf81e1c6d6bc6..7f7b9924aaac01d88addd6d0a2c1634700d5cd8c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 81d43283d2514f2198318bb5ebd6f8f6269ed00f..8c598d25cbfb94eafbb8a0858b29d7e181e0032b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f3d869a919896b9af16ab82e1ea4eb371ea7102d..f76e7cbe65d2e9a889e5be933ebf0b6916683d07 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 01084ff66147b0917301bcdb436317313c93d0ff..0b104910ca988033884a3bb73dd6da1ad54d8dc0 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a4d596567b6a1cbc2b967c19b9ca7f5f134a60f6..8dcd921d67485d4c50cb98076a5be29b2d3d5ac5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f4a8f886c3ecc3f1c96b7246af60be8a3882de59..280a741c8cb12a238f4c353adca0103f01891cd5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f9cf10879781f9e28f9fc1aa754d867538a8f67b..e05cd5b3aff246e77a16916c149e1a87afcab5c6 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 01e5137d2446220f5983884c2f6aad616f17543a..9a008cf7c6c6cdc99148618aad2300cde8aafa00 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 765a20661977a5d0e241cc3b4bdd9a4589d560c0..7003bc86d3708abadd22f18edeecf25e4900588c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2525a0c77014c0c8f96a688d3571414b3260b412..41d879313d0e642e002ea2e692410a0027162973 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bebde0031c081037c1e486c6890830bb5a380b35..11659a353f40738003fa774d270001f11501af44 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 3a77eb8c1f291a568dcf034d96ea913370cbb8d3..cd4fadd33a9a0960079801d3d4871ee23c77c66e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2c5e622be8f06566d529a9a3e2f23d70ff963440..6157c0065fdfc1727aa8225d88cf4ff89b35c3de 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c4b8280062ca26917376c0e748631ec95fb27383..231b9e379fd68592e9cd386006b52c4597d6a7ba 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index dbc0f2914b2c945dfb61f077cf62674bffa11083..ae524fbdda00a7bd1e689cfa724fc55061624272 100644 (file)
@@ -1,5 +1,5 @@
 #/*\r
-#      FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+#      FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 #\r
 #      This file is part of the FreeRTOS.org distribution.\r
 #\r
index d6d006bda33dcc083f85bcec5408dce66062c489..9f7902fcb378be11ad6970de7b99ee011cf22bd0 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index eef89736cb0cab39d9597afbff6e5d592f9954ea..322190dc49c22c89e52104f82e412c25c84346a1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index d263ddb33ea3d65abb49194ed663ab26b4958909..9b1ec2c07e9b80fc1ef62fb3a4f9dc1bfe7a5a56 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e85528356f52ce30a58d54a135945a04a7735f47..2ea53ea91c54fbac2b0d50de19363869104d14ac 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 175a09ed3432402138eb4baf42e39698a56e952c..8bba5ba6af3eb59eb9f7a1cd0c15f9b1cb282638 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 51d8cd039693835a555c8c6a3669a5af319966b0..e4f2518ad00431d6d60763de751a10bdf4cd0a78 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2f2a4dbbc7b40306b4d06a0878b440efec5fd8dd..60221ffe77f58edfd3b1f936d145caaf8bf48b23 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7145a9448d787cf1c2f1f123144c28b1717a491d..e0afb5bd3a4d73c86ec3002daccb8454b97731ef 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 603882c3d3732fbf4617a2b21ae03271b78c685d..67b3a7c467d5f9ad6d0bfe002d70a527f162b68d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 371f53c4101023841daf815e40628a987d272b42..2841d5b98820b9ab08e47fb778f96af437cdc18e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 86a5ca766940d0762cdafab0d853d2c111fbd916..95fe4d895247dee2c1e8136c738597f67d1a8247 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1cb372ad7cefc4c65ffb22396b6ea01460f569e9..c2a5f82efbf7db08970edd0b0bcff89f3d668a05 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 77238dfa5e0323a794570b3838b8fa6d643b02dd..e728d328a2332873539c0d3272fc8966e74158bb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5f7631f7d231f1a2ec68201f0f93bc92e157b652..726cf64edc79a53196f91c9a2023a8352f43f5a3 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 14d47b586ae4780c1ae594bcf53d33e1e7ce137a..68c402dd8939162b97f19de674456cd3385d2c7d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2cb2b1080e11e62653362bdc5bf081a672d84d18..52f8258a83e34838732676fea64c968ac37a311c 100644 (file)
@@ -1,6 +1,6 @@
 \r
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 73776a2aaecf6b3879ca5ccc2e99893c76e75bc0..a33fc4939eadd9d478ddc9a4431ba2507527f045 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 12ba7595171ac0f3cd6aca52fdb2def2923bf672..e3bfe51dcbf612c5bacb5aca3fa322b52b337d9c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 14d47b586ae4780c1ae594bcf53d33e1e7ce137a..68c402dd8939162b97f19de674456cd3385d2c7d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0017b6225be56bb10e7da54e095c4b27b2f407f9..3f48d23c80702f5e5553f014f32c8e243754f677 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 09ea1f1b70b7544e2bea37cd24bc39ac35f65376..aa7f77b1d8550e691b47b3e9116a4bea1b5381df 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c038b55fa0e8db685fa9a74fd6e82914bda228d1..d21b28fe3cef3a2223816fcc1acd99856a995c3e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a16f19637f79417bf71ba4e0934b9a96ca23c5d4..66885707beae282fcfe00458e01cf51b50469fc4 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 74511de62cf86af210e0b63291c01249e68583b7..ee6e60666842d44a852c178fb366ee617dae53aa 100644 (file)
@@ -1,6 +1,6 @@
 \r
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0564618222da77447522534bbe9196367d762235..d57d8eaf0a570a29da8471e0f5a0d526ce7c41f1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 41b5b87ec31dff5abbdd7cfc86616839266cff16..e1ec3f55ddf616b3086f0860c668045777bb5835 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 6d0d328696ec63e3aa1308821515b97e31895393..3f708b8c0712c3fd1e0502d1d67f507c6ceacb2d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 3070e6a7f7b3d3a6d819c26bb902885b4ed16db9..0871577157c3448b7293fd91454ffce011105715 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 82257e78daf5bb0b28ca750c81c1675720207ef9..539fc0b1192e498f698378c2bdad41ee7f4b770a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1515de9f55a30324ddcbc7413583ab15a3ae584d..2da53c73f9c05891c1a032526926c35fe31a489d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 56a68a09b443d58e881ae3b7199a5f0a5b2bd5ea..d54277d29d89f0e88685c90b75c819cb98974133 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 6d0d328696ec63e3aa1308821515b97e31895393..3f708b8c0712c3fd1e0502d1d67f507c6ceacb2d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8dabf402e75b4192d20b66bf5ebf9add45ba6d32..f22f0c838466d9cfebeb2e37299c92f480ed4e3d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e9fffddd5776234000fc6e949c81ab287666ae3e..6fc6ee96bd9b914fd4ff889f2f4566541823e124 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 38f8462223d938738f56c69f956aa269ef7b0438..55715ee174b9fffa5419f16663c5ae4972df4315 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 591bcd409e82169fab82b8b083ed4062e32e29bd..974526a4d88217406821b28350748e812981baa7 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 02dfeb78dee2c8e054b0b973acd7922c7608abc9..9f742dd843a86d56743f25e35469376547413a5b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 58bf6a108f7ec1ecaf1f5b9615711662e2bc7c62..5d9532eb461bff29e2fb947a6c17d6e4035e9232 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 19569bb81a739ade552a41099ef9c4ce504b1229..dfaf2ba2de36bddb9f752251d083d2f0c358fcff 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ffb19103adb1fa92b41a923d6c6acedea4af2d12..7c4a35d90d4ee02067e153108107c205e4c6268d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8bf7287604c364edcaf5a2867005d38e9ce1e054..3c364f9bd9c0d16f25cac9f7857b07a77c8b1111 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index d67730b9bb5e9f8653ad795cb0901afd2f5282c7..b28a8a5b59827bc8027cadf321c2e4631a3fb86c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ec1602ccab95611770cadc49d952fcf670462827..7759248a2e63dcfa95f68e1b6408209d3218beeb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index efde93fff36d9a18dae25b5cbf8c4c5d0c8ac9e4..639a97a51a1af624ea4e741b02946856e60b36e6 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 644b9f0c81e15fe832c9a3e127b10da302ce11a5..3037789bba6262dfdd516369d2a30c25251b5031 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1e8d96a1b57d7c11467ec68f1b53bf61b0c8abc1..91e540f9266a831139a820b17998a2fb75e90aad 100644 (file)
@@ -1,5 +1,5 @@
 ;/*\r
-;      FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+;      FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 ;\r
 ;      This file is part of the FreeRTOS.org distribution.\r
 ;\r
index db79952e40386e959b9fade5ec1b28a44bd0ce41..70d019139cef4570c0f1a62522b0d98c3a524609 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 02494c5ab0d3cfd874aa067d8f84565cce9159a4..e75e1062d5feb07d30d3d1b889384dd02982a24d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 80bea0007ed54955a0ef3538b72b52fd81f04498..9decc97753a05db3f70eeb6df21fd8bdc9dd915d 100644 (file)
@@ -1,5 +1,5 @@
 ;/*\r
-;      FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+;      FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 ;\r
 ;      This file is part of the FreeRTOS.org distribution.\r
 ;\r
index 7c544ef843877658d6da40aebfb738cff09897b3..b464bc86d79e2167b9ffc4866c1209f59f335102 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 53604051800be16c8411936bd41adbd83dfc5dc0..03d086fa7bd731b87acdc5ba524154be54f3d819 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b972df6255be80f9cf376356f560bce50c35d349..76cc3a8ed7756feb6a322428f757fee8cc4d3dba 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 409e4819a6aa98a238c66105bae41b1f22bc6138..2da7d63ab6982bd90d098b0887062f8acfd4de87 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b0530dc4dcdf784577a995c2d4d3708e58853a82..e6a93ddd7e4f8584660f8bebba7e24bf74e5963b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 055a88b723e41b21aa5d0387efb8992bcd0b473a..6c57fa5bcb2f0106e9797921757197557c3db881 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 41cf19e7d4f11393dbb6c5b95010650abf2a9d47..3a52a4274250bb18d9cf1ff42d0b7302efad81bb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f6c1d3cdfa1a1ea19c8848716d87afd283f70aeb..64c59dacbac5427dbf630cb92259898f9b5cc368 100644 (file)
@@ -1,5 +1,5 @@
 ;/*\r
-;      FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+;      FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 ;\r
 ;      This file is part of the FreeRTOS.org distribution.\r
 ;\r
index 5aa5110df347a89f0b87546860d9a6359d1d47f6..ee09099f8e046bba1d56c26ca2521ec4ee399e77 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e3802acb3478451708f7f6da6b508332758e0a37..a104321e4addde7599febe9ef37d2a6bd01db30b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f3e7737cc87dcd59d1c3ad83411e78eca54e1ed5..b9c90c21bba85a3c7afd79a2490c2711cbb62fd5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 09e6f7384705f964aafbf757447c02428945e51b..a48042612c8f681f524d4bab532c8d40072031b9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1fd012899dbbfff7ca5ca91e96ffbfab74afd9fd..890659e39cba779a4246ef2a69c4966a952004b1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a79792c70cb7d84e11c2a550b92d27f476668c9b..282f4ec461ea7d35e996a8e3a6c003504f71e7a6 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 33b18f48e4527574f6fc278004bc84f7de99b937..2b008c8bf4da7570228e7f555fb6fbb746fb29e7 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f9cc768940f37d2e59164cc22cee1db49c3e5c9b..8b81dc78a67fabdba81b08d44cadb0f252ac2b98 100644 (file)
@@ -5,7 +5,7 @@
        http://dzcomm.sourceforge.net\r
 \r
 \r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0240029b1e8b0a0986d5e4b0ae24dc6a8d452ec7..3c8623f48ab370680eb59afadeec3d9449b50f95 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c33243e562cc9d068602b6a51e61bade1cf46d8b..fd39d939eaf27b2d984a2f576a17377bf3dec5aa 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c0a8879d34bc6fa97344209ea78f76d125f3abf4..d0a44cc693177dcea1a6b3893710fbeea9dc9fbd 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 94f99d3163e3fd86cd407b6746d7afddffa6f877..2424440252c56b9947fe4d474936f91b1f73e519 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index cc29ca147a571d5ba851c6d061b094b65fa23827..88a18d0ad552115a0ebb58a9d365f70310c28a57 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e08451a22ea3622cf786866c7fe49f81b4354675..24d1cfadc1b60d2fb7d1ef61b161ab655017510a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8aa2a74c6042d8806c4fd1cfb1a6107db80ad1ea..fa08b289bec53fd017625d45fb9e6b42be34e745 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2b88b3674484ad08a5386f9dcf65fc3e0b808c0d..b6e1208f7bdff2e73dfb5aec7b9bffb80fec5c47 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e3acb57fa756449ceee250b6a07d8aefec2e8cc4..c62890b625f7fbae72e1057d628c614bd49e9bc9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0138c06281bf5d8e51194d82581d6f9238c0eae1..50e0f782bd81109fd36bf810a24495521a5f8865 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ef530a848e9dc79ec2879e8649f7e7dee93241ba..7405cbfb154eab0f6966aa2020fef92b6e4203f8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 14c3a56153f9af5c09b9b1fc2106f00c86f36b79..eed3140e8ae7807ba2b7bef50a7e36ae9e5d1bac 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bf5dddb1da3d9090d52af7c4e277c62535500418..186a1d87a2a62d7b001fb9844426803b36577911 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e3acb57fa756449ceee250b6a07d8aefec2e8cc4..c62890b625f7fbae72e1057d628c614bd49e9bc9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 54747a026df0c015a0057b6712f7c9826f032739..6a54a43f854c63c0d1ac76aa7ff2d008ea1e98a1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 099d75c9e1410cbfd32d59f503d837731a1a8e1b..3b00a20bc1cb2b5a9c39f8dd0b0809069253c76f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 642e4c1d95aff874b6c689cc7ffb51f65db52501..ae4d341e51ac8b46fe9166041e8122be191e8305 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bf5dddb1da3d9090d52af7c4e277c62535500418..186a1d87a2a62d7b001fb9844426803b36577911 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e3acb57fa756449ceee250b6a07d8aefec2e8cc4..c62890b625f7fbae72e1057d628c614bd49e9bc9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 54747a026df0c015a0057b6712f7c9826f032739..6a54a43f854c63c0d1ac76aa7ff2d008ea1e98a1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f076855e433f4a724b3296f80b9daed3fa06e0c8..6111f8f33efd9cf7b6bdedb5b49522c51e1c86c5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a1ca7655d645b8232547b8b007cb0f04b3d13f78..6388a7d86fce2d47bd4d82775ad193c03814a5b3 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bf5dddb1da3d9090d52af7c4e277c62535500418..186a1d87a2a62d7b001fb9844426803b36577911 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e3acb57fa756449ceee250b6a07d8aefec2e8cc4..c62890b625f7fbae72e1057d628c614bd49e9bc9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 54747a026df0c015a0057b6712f7c9826f032739..6a54a43f854c63c0d1ac76aa7ff2d008ea1e98a1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ad2422737a26310775c410ab5de01c8ef8b254ff..0cb57fa181701f67b3a7e4858bfe2a0e9bbdf294 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 48b2f59c0bb0484f1d03df76bbb87e18569ccec8..74cd56067e047fe39261de6658945538001e00f2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bf5dddb1da3d9090d52af7c4e277c62535500418..186a1d87a2a62d7b001fb9844426803b36577911 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e3acb57fa756449ceee250b6a07d8aefec2e8cc4..c62890b625f7fbae72e1057d628c614bd49e9bc9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 54747a026df0c015a0057b6712f7c9826f032739..6a54a43f854c63c0d1ac76aa7ff2d008ea1e98a1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5addf2736bbb7fea2828d27e99d7723ddc8843a1..c59d1cb6169e4ecd5acd08311525a82219737390 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a07d38460d54f64f7f35ca9901db60ba467202cd..de1efb36d60712d1bc9fd81a39991902986ea426 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bf5dddb1da3d9090d52af7c4e277c62535500418..186a1d87a2a62d7b001fb9844426803b36577911 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e3acb57fa756449ceee250b6a07d8aefec2e8cc4..c62890b625f7fbae72e1057d628c614bd49e9bc9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 54747a026df0c015a0057b6712f7c9826f032739..6a54a43f854c63c0d1ac76aa7ff2d008ea1e98a1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 100a28a64734cd2dbe6a93d0d6bb21a3537f8977..04eab50ee31be69c84f0f1fb48c4053310fb4e81 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8de6e2b477d2f08803a2303a2a96b451b2fce6e0..7488d95cfa794ba6a10c8d26a05f50ece28d354e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bf5dddb1da3d9090d52af7c4e277c62535500418..186a1d87a2a62d7b001fb9844426803b36577911 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e3acb57fa756449ceee250b6a07d8aefec2e8cc4..c62890b625f7fbae72e1057d628c614bd49e9bc9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 54747a026df0c015a0057b6712f7c9826f032739..6a54a43f854c63c0d1ac76aa7ff2d008ea1e98a1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 26cfc8c9d99523963dc3c8cd98b414672ccbf0fa..13620970deea2e82978b07cec26a982edad8cce3 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f0621489122f2c13a2438a0c2533d182ce7a16a2..0548160f806cc734ccead4204824cfbc656fef43 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 099e70b966d682fcb8ee7b5bb81ac722bc8722c0..045250f1494ded278003382bcbd58d3b0f409518 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 87e347292b90e429e4b8e311277b3a02fe765ea2..8214365d879fc1242bb062b1484c25ad939f66fa 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 35b7dac5a7bf5ea3b7ea34c60fbe0f14bb0db5ad..ddce585ae36a64d41e4e036c9a4a1e56cb4d63fb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 25949741b2eeb52d4f02390c3261100973e5b8ed..ac685c616838bbd51b0df6152488891b36c57a40 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ae15247f9528e19f5797b04d93b6a07fdfbfe3dc..401e65ace8ca0617c6e6f3bbdc5357320259e379 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 623b9cb6a5356c52540b3f4a86f6dc8c21c3b36f..873af50a8d0561cfbd4bd73436eb0740a0b8bc97 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1306fa02d9a341e6372541f8962222c585092892..39716b2ce08baeade958dc81d7caf11a170c4f8c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 424d7dfdd464c6cd4c4c4d3ee333c0be40e71965..1cc04a9cfb55889ce78da659cccbb00dc17b1241 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 6b7fe704974a7afc2aaf99330fb7938aa65b2e05..f97265ccbd1e3f802fd4624bc459430e4e49e65f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 13fafa234967523e71b79b972dc29ee819e4eb7f..72399d9b6ad3a86453fed2a1d5d12cda78444cab 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 4c2d799c2096dfb337d4967f3620ab5e637477be..ad872a09d96f512a4f155e5d4e5c58d1cc0b5217 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 4a1ea5bcbb33ff0d6790b9f79079fd2f89bdc591..3e5db91b42e733a3229b671291a5e9048c2ee562 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 3d6aabf8974f46cff05705d951fecfb89b929eaf..16419f10cf2dce56ff2eb576d86c144120f8971e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index fb69716037c3c582359377f46c88fbef5da4ecd0..fedfdb464efb9c3b1732c8cb8b82088889c6a99b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 04af787d54f6948b9b84b9995fb1a24adff81b95..2ba3076d699b2c7cfe4d76aecb170d1df4709766 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 4bb5eb0675bb17f63672dcbd7b54a63a18c1292e..24f265c80af5d2f7b5d8720b0259a80c3c5adf1a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index cdce2de1f9bf1028da0f895ccb4530ea79c7bc48..73d68f69cb7a45d302946047c00c3a7b385a48ca 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9014b26f583542203871da30d5d66e4eb3a08488..9d2ed5cf5145c8db0a6def6d0c8a639925ad901b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1306fa02d9a341e6372541f8962222c585092892..39716b2ce08baeade958dc81d7caf11a170c4f8c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ca2b906895602f2547009c830c4030a52711485b..13674aaf83c72706c265fc6c5eed7dcc582de3f2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9efd444b0477aa98f1329dcf21fa7f221cc6c406..0e6a22503c112aa6f3f9d8c9c5fde3678bb83701 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c30331f82a071952bf6a4c6017d617d93a00ea32..0a9a25f2e4efd123be6435dac0c1354fca0c98fd 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 4c2d799c2096dfb337d4967f3620ab5e637477be..ad872a09d96f512a4f155e5d4e5c58d1cc0b5217 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 44cf5a0ca102b9db3727645b1d94eecc9cfe9eeb..f8d58a6c29c9e9f6d57f32eca6d2f788bee02b23 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0dd8604030c2ec1738ba7632f17c534c87e5e588..7c18d73bceaf065013ecee9208ee707bcc2bb601 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5009689c7a7b6496beeba8f48f732a8845a62790..79a650de6cd545c2defcddae267b6ecb143ace2f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 67668d53a5fb19ca67fd40ef98593ff757851cf0..0bddeb218c085700982f23fa9dee03edd9af4a4c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9e2b5d140e75c2602415207d51579455aacca14b..7e291b00f1ce9a0faa942cdd0165ff93e890bd4b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0a1d532790d3be32a28858781f375b3d2169818f..b53211980991299658482c4c9d47b52d53bb11d5 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 118c89db73c79c6135de19ece2dd2ef80c933247..2709b031446f0745e229f0c5e6b712e988c3757e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8904ce81c30692e1cca625d3d285fd699a1f68f9..6995f3620fdba6d188938d590a255d6c30646419 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index bd7b001ee3e83a48d37fe4bd44102a7ca58653b2..248e2a69597fc9a703acc6cb0f47f346421ccea8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5009689c7a7b6496beeba8f48f732a8845a62790..79a650de6cd545c2defcddae267b6ecb143ace2f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 67668d53a5fb19ca67fd40ef98593ff757851cf0..0bddeb218c085700982f23fa9dee03edd9af4a4c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 9e2b5d140e75c2602415207d51579455aacca14b..7e291b00f1ce9a0faa942cdd0165ff93e890bd4b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a6202abd9064382c2c1381e3a10dd211c39c471e..93d15d02707b96d36d60a98e8fc203ffa04beafb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 118c89db73c79c6135de19ece2dd2ef80c933247..2709b031446f0745e229f0c5e6b712e988c3757e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8904ce81c30692e1cca625d3d285fd699a1f68f9..6995f3620fdba6d188938d590a255d6c30646419 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7a9943d9f91f04f6cbbea6bc4d3fde8c68359334..f045c85c310b180882547f7e853d286265bcb57b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f4d244f80ce1a0bf62555b3460c0aca600e43aee..6127cfdd5e6743ca197f50c830206d0e60da5b2d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5730bc7fa91a45cf11a19c0dc4f2816b45d5bfbe..9ad4bf753c166feabf3fdaf2f8ac3cf862cf3fca 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index df595d839bdc82cf895bb7341b3122f2bb21f6b7..1280a6ca7e51cdcb40b4b3ccbe61cfb602d99690 100644 (file)
@@ -1,5 +1,5 @@
 #/*\r
-#      FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+#      FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 #\r
 #      This file is part of the FreeRTOS.org distribution.\r
 #\r
index 5fd13fb03de87080ae478c8a4b9804dfd7a9982a..505399c51c99740f179b850954a2aa565ea9f3bc 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5c359822bc4e61d65dce47ed2fc572429a887379..d6fbb604d559fb0432d2b5de0e2d455db22db2d8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5a10986f7aa8d0c1dd56efb498d2d349fd89dc1d..d0dbfc2675d88c0566edb3bbb6f5a2e62c98cc79 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index fa79bd912ac5ece25bfe0d91fb9e656cc7082861..552bcee02e2f71727a5a7e9a27ec10ec0f938639 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0798a9e40e4b2b4bc46e5cda5b99d336c2bf5b19..0ad65289b72b84a1cae174c8b67c25c3671acd03 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b9dc1d387422cad56145909e6cb96c6367e26add..28be2ffbcef3dc250ca910418b289dd9609bcce7 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index dd4a3e0c3bb7e6fbc059e8cfcb952f48bbeb6cbb..ffe9ee56421c8239fef6e2aa4ec55ebd6b906288 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index f1ad114f1c65a2b703fb0bdb89138a9eaa96a09e..6c6358851a3bcf7bb304aa8503faa56f27da7a9c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 3818fc74cb7f8074b44fd0899af20b98903527fc..ea099e77d99efbb69c229b6b37ab90123aea34b8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 0b0661eb1508a49c51b58d73c49d027488067917..2bdc246312fd9951761244984019dfecb353fdc3 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 77b38341deb5068a30d7423cee3b40daf917c51f..3157cc3efe2ee9158f680b1cf8d24a3313687855 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 89e72211b65efa1bdd817b53bfe4788232392e74..2e92430849e093b11e8a41319d479ae238428c53 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 56c995b7e2be74d249cb57e8b557dd7e6a99ddaf..dab4ed199ac1bbce0b447c64d4b713df8145e925 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7578e33b18496a55333c4c7364d3cb13efbde28a..c16d4d012b4fa8000422aa5c83193a4d9277a971 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index acb5015d73b41bfc64d7c1136b5462edd895e50b..795328d9db7574fb4be61f3fc343673ed1087f3e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 3412ed2e0c4d320e8d0ae7eaa2cd19663ba1f5a8..1714a1c4c9755e5d8d1b320eaf82ef09ad003f33 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1306fa02d9a341e6372541f8962222c585092892..39716b2ce08baeade958dc81d7caf11a170c4f8c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 424d7dfdd464c6cd4c4c4d3ee333c0be40e71965..1cc04a9cfb55889ce78da659cccbb00dc17b1241 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 43c3d5ee3873b508a1bffc7d2b699495dffdd0da..748692f7ec9289f1f770857304984047973fc2d8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 13fafa234967523e71b79b972dc29ee819e4eb7f..72399d9b6ad3a86453fed2a1d5d12cda78444cab 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 4c2d799c2096dfb337d4967f3620ab5e637477be..ad872a09d96f512a4f155e5d4e5c58d1cc0b5217 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 32bfcb98c957396a202b6a90e6875741aa6d3a5a..69e493ef9cc4c4a11acb67e9d4a66627109c205e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c4bb42e0322164c7d0b9b0a3d98431c62c5b9e69..851edaf922fd5eac8cb9e74185e827994aed7c72 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7eba5376ae41cb1e3dcc6b1f7cf5986cc9f427e7..87d3359ca262f1414bf617cd446f84232c59dcb2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7a170e026234fbefad6e5a7b004e8d1aa086be31..68016e5b7a5487e9935c38628fb4a3eb72e4965b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index e818e01c1ef86c3fa5a7aedcaaf420e594246b59..37c5ba97d887c5d49354e338fe37cad0d0be760f 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 669c542aef93dccce6e1ffab0c0c4fb4d0dd4941..03610b1a6d90109a1a84f29f445ffd93503a893a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a05d8b02e58a2d7088a43175a7e43b2f64f1e875..6741bdb8276daf38309c6c96b997c953c23599b9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index db89f441f7f719b250d5a33df2864bceb05fd7ed..e8607e264daba9abe2185ada560edcf786e9dbe7 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 5110a432f813509ab86fed7ab94c351c25bca7c8..68331fc27347dd5e15ada189eb2cbfafa68ba73d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 6cad6702d7e4ffa67f4c435ab04f5c16be9a0f1c..56f5c765141e323c53c88057352e6cafdd05b598 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index dfc2f7ab108d911e812a4d87d854b009dc7a3391..8570b307ba1b4220a8b641fc76996f4b7768ae17 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 19ef49511ce3547cc78a06b4bbea83a55f86a857..492cefc6b820e3385919ac38a41781dbd8e341db 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index d52f30347d73c25de26125f1fa5b2df5c24fb75d..37fd3e4fe0aa194a5a0a0474dadd5b02901c4118 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b5eb47c5dab40a01e1d074d303c9eaa89ff9bb90..eb05c0cea56487a5d3d48a0f6b9bc70332d43dd4 100644 (file)
@@ -1,5 +1,5 @@
 #/*\r
-#      FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+#      FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 #\r
 #      This file is part of the FreeRTOS.org distribution.\r
 #\r
index d77146e3565c6f6febc22738170aa94efb4f63c7..1176eaea1344ea6d99b080dda8c65e79c5583f93 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 41796fd1e7992b643ec87e5ddf5d5bbb2e1cc7f0..55d3ba7819d908a72a3704a5120f5510fbbaeca1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7d350aba92d6c3e5efbee1fc3096a077bab24e6b..a4e1ee8864a8be9fdd55ddc0b39d12fd0c3c43a8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 2a4bc67ba21227aa28bf379a7d56fde5626e1509..d914396612b4a632b47d4ffc292974a9841dd13c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a192d19a0451d44a57031b1ab07e1050c19dca74..fd2d1ca9d48d928bd9e8ad2c386abd17232806bd 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index c6d5d62c3d183c22da57acabf51d7bec259fe44b..0a49799a420318c14ee08388e2c2c7b07e454445 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b0ea74b905a442015eb5e521cf900825757bca8e..acd11d49f9729dae7eec1637b30afaa0a0a53892 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 31648a69d9285755dbb309532f7a0c4df8dca149..a02a5a01d4fd8c061c8ce0ce61db156c6724d355 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 10d959925ba0626d2eaa188ea1561049009cc866..778c265030a2af6c1423745caed6439ab84c9986 100644 (file)
@@ -1,5 +1,5 @@
 #/*\r
-#      FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+#      FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 #\r
 #      This file is part of the FreeRTOS.org distribution.\r
 #\r
index eb1a74623fbd5f3b99567cd1daf659e9499574d8..16b870e7aa0823ef7b3335478a0b2f88214b28cc 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index a3c5317675c817dabec2e7d4f5918f802df72bca..d700e0ea9db72db0a763985715107cfc4175a94b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 41796fd1e7992b643ec87e5ddf5d5bbb2e1cc7f0..55d3ba7819d908a72a3704a5120f5510fbbaeca1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 99e3a32ed466edc4c156e9a462ae15872002c10b..a46bac823a245275eb4fadad1675acba02105b96 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 1cbb0e2b75b4b1c9a45bb9cf8348be286f2151ef..bdd8935ebfe17bf6ab0992949608d46bdcc68997 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 8984a93a5b370b86839f7f5d0057e1ca497e0703..621566ec059ee99e7421a0a870d03e6e3a1031b7 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 6cd08efaa5b06a86a03c210d9c97101ddcd4f9ab..d9a3ef49e96473a7aa2f367251df487fdda4a75d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 24e0dcbac0af4a92d5dd7873168e7f159fa783f5..3951d05b40b88f54aa6a455349aca4e7e0ee5221 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index ce43fb54693ea4121089df50e28b931715c4331e..aea45e7f5221a4c589def20dd204bd8c233f84d8 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 7317b0a1e433d431ea80d702fbcbe7269f5bc506..647740c48dca1392940bd2ce2ec7627165a8f55d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index b5171cc58d3957f4d87872d215dcab066461fc54..813651f55852500815264aba12d3bc680c0417a2 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index d41ef3fb42449e89ce318c9131dd0613fc4fdaf5..068b5054022ab036f8dce27f21daef324fadc77b 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
index 766d5857b0448a4c9a579a39944f88d65deef85d..a88ffe3ef0958c8112f803f84aa6e8c6c4e98c7c 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V5.3.0 - Copyright (C) 2003-2009 Richard Barry.\r
+       FreeRTOS.org V5.3.1 - Copyright (C) 2003-2009 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r