Service pack directory can be unpacked directly to the project structure by allowing overwrite of all files. Rename the zip file to "same name as the project directory".zip and expand all. 18.1.2007 SP1 - WinSim\FileToDisk.c File sharing flag corrected for more recent Visual Studio versions (_SH_DENYNO) - WinSim\WinSimMain.cpp Array correction picked up on more recent VisualStudio versions (doList) - uTasker\GlobalTimer.c Correct hardware timer check ------------------------------------------------------------------------------------------------- 28.1.2007 SP2 - WinSim\WinSimMain.cpp OVERLAPPED data structure in fnSendSerialMessage made static {3} to ensure that it stays in scope during the complete write operation (important for VS 2005) ------------------------------------------------------------------------------------------------- 16.3.2007 SP3 Application - uTaskerV1.3: - application.c New SMTP Login and TFTP demo support. Improved GLOBAL Timer demonstration - application.h Add SMTP parameter settings - app_hw_m5223x.h Added SMTP LOGIN defines and TFTP message contents. Move Watchdog disable from IRQ3 to IRQ4 for compatibility with M52233DEMO. - webInterface.c Added SMTP parameter support - debug.c Improve port control via serial/Telnet and corrected conditional port support for M52233DEMo board Web pages: - AlternativePages - for SMTP configuration - 1Lan.htm with duplex setting support - File system document corrections Hardware: - hardware.h fnGetFlashAdd() added - M5223X.c Add VLAN Rx frame length support, improved duplex and autonegotiation setup. Improve parameter block size flexibility. - M5223XSim.c Improve UART tx simulation accuracy. Added fnGetFlashAdd() for simulation of direct FLASH access Stack: - arp.c Add RARP response support - smtp.c Add SMTP LOGIN support and improve TCP interraction - tcpip.h Add SMTP LOGIN defines, TFTP support defines as well as RARP and VLAN defines - ip_utils.c Add file name termination when ? found (useful for file names carried in http code) - tftp.c NEW - Ethernet.c EthernetStats array made conditional on USE_IP_STATS. VLAN support. - webutils.c Added fnEncode64() to support SMTP login - telnet.c Correction of length variable initialisation uTasker: - uFile.c Optional uCompareFile() added - Driver.h Added uCompareFile() - tty_drv.c WAKE_BLOCKED_TX allow TX_FREE on char <= level - uNetwork.c Sequence number correction - eth_drv.c Add VLAN transmission support WinSim: - WinSimMain Solve GDI memory leak and Improve LCD refresh - LCDSim.cpp Improve LCD re-draw and correct initialisation in 4-line mode Configuration notes: add the following to config.h to include SMTP login authentication and configuration #define USE_SMTP_AUTHENTICATION // support login when sending Email #define SMTP_PARAMETERS // support SMTP parameters in parameter system add the following to config.h when testing TFTP with file comparison #define SUPPORT_FILE_COMPARE // enable file compare support for test add the following to config.h to enable RARP response inside of USE_IP block: #define USE_RARP // support reverse ARP add the following to config.h to enable VLAN and initialise its control varables inside of USE_IP block: #define SUPPORT_VLAN // Support VLAN tags in frames inside of OPSYS_CONFIG block: #ifdef SUPPORT_VLAN extern int vlan_active = 0; extern unsigned short vlan_vid = 0; #endif TFTP.c will have to be added to the simulation or target project if TFTP is used. ------------------------------------------------------------------------------------------------- 12.6.2007 SP4 Application: - TaskConfig.h Added SNMP and PPP tasks - webInterface.c Add configurable timeout when configuring FTP server - application.h Add FTP user definable FTP timeout and ACTIVE_FTP_LOGIN - application.c Add FTP user controllable FTP timeout - debug.c Add FTP timeout and mode when configuring FTP server - app_hw_m5223x.h Add Hardware Timer test configuration and MILLISEC define / New interrupt definition table added Stack: - Ethernet.c Quieten GNU warnings - DHCP.c Quieten GNU warnings - udp.c Don't send destination unreachable to subnet broadcast (with new SUPPORT_SUBNET_BROADCAST) - ip.c Add SUPPORT_SUBNET_BROADCAST - new function fnSubnetBroadcast() - snmp.c Snap shot of development file. See comments in file for more details. - ppp.c Snap shot of development file. See comments in file for more details. - ip_utils.c Improve MIME type search - webutils.c Changed use of user name and password checking (supporting ftp authentication) - TCP.c fnGetFreeTCP_Port() made external / Extend REUSE_TIME_WAIT_SOCKETS to rx connection use - HTTP.c Protect a loop from not exiting when corrupted data found / Modified user name and password call / Corrected web parsing filter on none-html files - FTP.c Change a routine array initialisation to avoid library memcpy / Improved FTP login when not anonymous / Add optional checking of data port in active mode / Activate passive mode / Pass FTP timeout when starting FTP server plus operating mode / Added clean QUIT handling / Changed empty directory display file to include -r at beginning - without this FireFTP can not work correctly - tcpip.h Define structures to ensure packing with GNU compiler / Add fnSubnetBroadcast(), added UNETWORK_STATS / Add SNMP defines / Modify fnVerifyUser() control define / Add fnGetFreeTCP_Port() and extend fnStartFtp() with timeout and mode WinSim: - WinSim.h Add function fnGetEEPROMSize(void) - WinSim.c Added function fnGetEEPROMSize() - FileToDisk.c Add SAVE_COMPLETE_FLASH support (mainly for devices with multiple FLASH banks) uTasker: - Driver.c Cast to quieten GNU compiler + uStrlen() const type to match prototype - Tty_drv.c Add buffer scan in forward direction - iic_drv.c Read modified to return zero when no receive messages are ready, even when there are characters available - GlobalTimer.c Correct start of software timer when hardware time for the same task is active - uTasker.h UTASK_TASK used consistently for node ids - uTasker.c Starting a monostable timer with zero event changes periodic repetition timer / Change end of task table on zero name rather than zero function. This allows more flexibility when redefining tasks / Corrections in multi-start mode / RND_HW_SUPPORT used to get random numbers from hardware when available - uFile.c Add FLASH unprotect/protect support for devices which require or support it / Add Sub-file support for devices with only large FLASH granularity Hardware: - SimM5223X.h Added Random Number Generator Accelerator support - M5232XSim.c Added fnPutFlashAdd() routine / Add DMA Timer 3 simulation support - hardware.h fnPutFlashAdd() / Add simulation functions fnGetSectorSize() and fnIsProtected() / Add fnGetRndHW() - M5223X.h Add LOW_RES_MS, MED_RES_MS, HIGH_RES_MS hardware resolution control / Add Random Number Generator Accelerator support - M5223X.c Adapted for GNU compatibility and corrected Interrupt mask error / Changed to MILLISEC hardware timer method / Interrupt levels and priorities configurable at project level (app_hw_m5223x.h) / RND_HW_SUPPORT enables random numbers from the Random Number Generator Accelerator / Changed uMalloc heap start location to support malloc heap CW Project: - The linker scripts have been updated to allow malloc heap size to be specified there for a project [M52235EVB_FLASH.lcf and M52235_BOOT_APP_FLASH.lcf in \Applications\uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\cfg]. GNU make: A GNU build directory has been added. \Applications\uTaskerV1.3\GNU_ColdFire A gnu start up file Startup_gnu.s has been added to \Hardware\M5223X Configuration notes: - Add the following to the USE_IP block (in config.h) to enable reception of broadcast IP frames in sub-net #define SUPPORT_SUBNET_BROADCAST // accept IP frames broadcast to a subnet - Add the following to the SERIAL_INTERFACE block (in config.h) to activate input buffer scanning in forward direction #define SERIAL_SCAN_FORWARD // scan serial input buffer in forward direction rather than reverse - Add the following in the M52235EVB block (in config.h) to enable the Random number generator in hardware #define RND_HW_SUPPORT // Random number generator and crypto accelerator available - To make the RNGA sleep between use add also #define RND_HW_SLEEP // enable RNGA to sleep between generating each random number. This save power but requires 256 clocks delay on each generation. - Please see the FTP document "uTaskerFTP.doc" for configuration of the improved FTP support (authentication configuration and passive mode) !! Change FTP_SUPPORTS_UPLOAD to FTP_SUPPORTS_DOWNLOAD to enable copies from the server!! New GNU build ============= The new gnu build allows the project to be built from a make file using the gcc compiler. The build was tested using the GCC build from CodeSourcery (www.CodeSourcery.com) which is available free of charge as unsupported light version. There is no debugger suppport included but it is suggested to take a look at Eclipse - see the Freescale forum posting with discussions and all links needed: http://forums.freescale.com/freescale/board/message?board.id=CFCOMM&thread.id=1644 CodeSourcery also offers a complete package with support and Eclipse based debugging for any one interested in a really professional open source based solution. The GNU build can also be practically combined with the VS build. Developing with the simulator and then compiling to the target is practical for a lot of work without the need for hardware debugging. Simply add a new build configuration to the VS project called something like "uTasker + GNU Build" and add the following "Post-build" steps: - cd ..\GNU_ColdFire - this moves to the GNU directory - Build_M5223X.bat - this then executes the GNU make file to build the project. The GCC build steps will be visible in the VS debug window and the code size will also be displayed on a successful build. The make file is called make_uTaskerV1.3_GNU_M5223X and can be found in \Applications\uTaskerV1.3\GNU_ColdFire The bat file is also in this directory. NOTE: The path to your GCC compiler location will havev to be set in the bat file if it doesn't happen to be identical to my path. SET PATH=%PATH%;C:\Programme\CodeSourcery\Sourcery G++\bin <---- modify this line with your local path!! cs-make -f make_uTaskerV1.3_GNU_M5223X all The GNU compile should have no errors. One linker warning "warning: cannot find entry symbol _start" is normal. It can then either be loaded to the target using the Flashing tool in CW or else using CF Flasher. If you are wondering about the GCC efficiency, here is a direct comparison of building the identical uTasker demo project GNU FLASH 56'848 bytes / RAM 1'728 bytes (including 1024 bytes for vector RAM) CW6.3 FLASH 59'492 bytes / RAM 1'680 bytes (including 1024 bytes for Vector RAM) This shows (even if there may be a small mistake somewhere when calculating) that the GCC of the Coldfire is a very competetive compiler!! Note that the GNU build presently only contains a full build - there is not a build to use with the uTasker boot loader and no uTasker boot loader project for GNU. The next service pack will almost certainly have these and very probably a complete Eclipe project as well. Keep your eye on the web site for news!! ------------------------------------------------------------------------------------------------- 28.8.2007 SP5 uTasker: - uFile.c SPI FLASH support - iic_drv.c Removed GNU warning - Driver.c uStrlen() const type to match prototype Use static RAM for code from RAM since uMalloc may not always be ready - uNetwork.c Add next rx acknowledgement count to ensure correct order of received acks Sequence number correction on sequence count overflow - uTasker.c Timer delays of less than 1 TICK rounded up to 1 so that they will not be lost Timer entries use enabled flag to ensure validity - uTasker.h enabled flag added to Timer table WinSim: - FileToDisk.c Add SPI FLASH support - WinSim.h Add fnInitSPI_DataFlash(), fnGetDataFlashStart(), fnGetDataFlashSize() and fnSimAT45DBXXX() - WinSim.c Added SPI Data FLASH to support the AT45DBXXX. Set initialised flag. Hardware: - M5223X\M5223X_boot.c SPI FLASH support added - M5223X\mcf5223X_boot.s Added adjustment for boot loader with external SPI FLASH - M5223X\SimM5223X.h Add Edge port module registers and Add RTC registers / correct M5223X_QSPI content size - M5223X\M5232XSim.c Correct IRQ simulation on user port changes and improve level sensitive simulation - for IRQ1..IRQ7 Correct DD, GP and AN port function simulation Add RTC support User memset rather than uMemset since uMemset is not yet available when running from SRAM - M5223x\M5223X.h Add Edge port module 1 registers and interrupt masks. Add RTC registers and extend the RTC setup to use it. - M5223X\M5223X.c IRQ support extended to IRQ1..15 (11 for 80 pin device) All calls of fnIncrementEthernetStats made conditional on USE_IP_STATS Add SPI FLASH support Add RTC support Rework auto-negotiation mode to control full-duplex mode in PHY Alternative UART pins defines. Alternative forced for UART2 when 80 pin package used Correct I2C mult-read sequence - Hardware.h Add fnSPI_Flash_available() and fnConfigureRTC() Stack: - arp.c Optionally only add used addresses to ARP table (rather than all 'seen' ones) - add define ARP_IGNORE_FOREIGN_ENTRIES to IP configuration (config.h) to activate this - ip.c Use static RAM for code from RAM since uMalloc may not always be ready - webutils.c Allow displaying short strings (less than 4 bytes) without inserting spaces (improves formular field inputs) - add define INSERT_SHORT_STRINGS to HTTP configuration (config.h) to activate this - tcpip.h ucNegotiate no longer conditional on Telnet Add HTTP windowing tx support (HTTP_WINDOWING_BUFFERS) - tcp.c Add HTTP windowing tx support (HTTP_WINDOWING_BUFFERS) Discard buffered TCP data when no connection Optionally silently discard peer's data when closing (DISCARD_DATA_WHILE_CLOSING) - http.c Correct message regeneration in delayed serving state Add HTTP windowing tx support (HTTP_WINDOWING_BUFFERS) allow displaying short strings (less than 4 bytes) without inserting spaces (improves formular field inputs) (INSERT_SHORT_STRINGS) Demo application \Application\uTaskerV1.3 - application.c Add IRQ test (M5223X) Add RTC test (M5223X) - app_hw_m5223x.h Add RTC configuration Demo application CodeWarrior project: - \Applications\uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\include\mwerks.h modified to force function pointers in A0 to be compatible with libraries. - \Applications\uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\bin\uTaskerConvert.exe New version of binary converter supporting encryption and Motorola binary input files Demo application GNU/Eclipse project: - \Applications\uTaskerV1.3\GNU_ColdFire\Build_M5223X.bat uses same make file as Eclipse - \Applications\uTaskerV1.3\GNU_ColdFire\m52235evb-rom.ld supports all present CodeSourcery versions - \Applications\uTaskerV1.3\GNU_ColdFire\makefile supports make file for use with GNU standalone and Eclipse builds uTasker boot loader project \Applications\uTaskerBoot: - config.h Add M5223X SPI FLASH support - activate define SPI_SW_UPLOAD to enable SPI FLASH support - uTaskerBootLoader.c Changed header interpretation so that it is endian-independent Added decryption support Added SPI FLASH support (M5223X) -\Applications\uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\cfg\M52235_BOOT_APP_FLASH.lcf to support SPI FLASH based upload Configuration notes: 1. The define RUN_LOOPS_IN_RAM is not supported in the SP5 under CodeWarrior. The reason is that the compiler won't accept the method of calcualting the code space when changing from malloc based to static RAM space, which is required due to new start-up requirements. The advantages of the loops in RAM are minor and DMA_MEMCPY_SET is recommended. Methods of solving this restrictions will be investigated. 2. INSERT_SHORT_STRINGS Add the following line to config.h, in the USE_HTTP block, to activate this: #define INSERT_SHORT_STRINGS // allow displaying short strings (less than 4 bytes) without inserting spaces (improves formular field inputs) This is recommeded when working with formulars to avoid short strings being padded with spaces. 3. HTTP_WINDOWING_BUFFERS Add the following line to config.h, in the USE_HTTP block, to activate this: #define HTTP_WINDOWING_BUFFERS 2 // we can send 2 frames before requiring ACKs When activated it introduces a new method of using TCP windowing when the HTTP server sends data. The increased memory requirement is quite small at 6 bytes per TCP socket but allows all HTTP data, including dynamically generate data to be sent at much improved speed to the HTTP client. The basic problems when no windowing is used are round-trip delay and delayed-acks at the client. the new solution enables regeneration of all data without the need to store in large buffers, while respecting the receive winodw of slow clients - inlcuding a persistent timer to probe a closed window. In a local network a speed improvement of around 25x is obtained, which is especially useful when serving larger pages and images! This technique has not yet been intensively tested so if any problems are found please report them. By removing the define the original technique is returned. Note that this requires also CONTROL_WINDOW_SIZE and SUPPORT_PEER_WINDOW to be active (which is generally already the case). 4. IRQ The simulator has been improved to accurately simulate all edge interrupts. See the new IRQ_TEST in application.c. Activate also the serial debug interface (SERIAL_INTERFACE) to see messages when the IRQ interrupts are triggered. 5. RTC The RTC is activated per default (it can be completely deactivated by removing SUPPORT_RTC from app_hw_m5223x.h). For an example of configuration and use see RTC_TEST in application.c The RTC is also fully simulated. 6. GCC Eclipse The GCC directory is included in the SP5 with the Eclipse make file. See the following forum topic for details of how to set up Eclipse: http://www.utasker.com/forum/index.php?topic=14.0 7. Encrypted SW upload The boot loader project now suppports uploads of encrypted data. Full details of using this with the M5223X project is included in the newest version of the bare-minimum users' guide for the M5233X - see http://www.utasker.com/docs/documentation.html. The updated converter utility uTaskerConvert.exe to support the encryption is included in the SP5 - to check the version number it can be called with "uTaskerConvert.exe -v", which returns: uTaskerConvert V1.1 - supporting encryption and Motorola binary format 8. SPI FLASH SW uploads By adding the following define in the M5223X section of config.h, the external SPI FLASH (supporting ATMEL AT45DBXXX devices) is activated: //#define SPI_SW_UPLOAD // SW upload to SPI FLASH support enabled The following new defines in app_hw_m5223x.h define the properties of the SPI FLASH and define a file name used by the HTTP port method on the application web side to be loaded to it: #define SPI_FLASH_PAGE_LENGTH 264 // standard page size (B-device only allows 256) //#define SPI_FLASH_PAGE_LENGTH 256 // size when power of 2 mode selected (only possible on D-device) #define SPI_FLASH_BLOCK_LENGTH (8*SPI_FLASH_PAGE_LENGTH) // block size - a block can be deleted #define SPI_FLASH_SECTOR_LENGTH (64*4*SPI_FLASH_PAGE_LENGTH) // exception sector 0a is 2k and sector 0b is 62k #define SPI_FLASH_PAGES 1024 // 256k part expected #define SPI_DATA_FLASH_SIZE (SPI_FLASH_PAGES*SPI_FLASH_PAGE_LENGTH) #define SW_UPLOAD_FILE() (*ucIp_Data == 'H') && (*(ucIp_Data+1) == 'S') && (*(ucIp_Data+2) == '.') && (fnSPI_Flash_available() != 0) Should the device not be detected, the upload with go to the internal FLASH as in the previous version, even if the new option is enabled. See the latest edition of the bare-minimum users' guide for the M5233X for full details about setting up the boot program. Note that the boot loader space requirement increases from 2k to 4k when using external SPI FLASH due to the fact that it requires both the original flash driver and also the new SPI flash driver at the same time. The size fo uploadable code however increases to maximum internal FLASH size minus 4k. Although the uploaded file is never visible in the file system, its contents can be recovered using FTP under DOS and the "GET HS.bin" command. There is presently one restriction when using SPI_SW_UPLOAD support. The define DMA_MEMCPY_SET (in app_hw_m5223x.h) has to be deactivated. The reason is not yet understood but the DMA copies cause an exception to occur when the SPI FLASH support is operation. This doesn't happen when stepping with the debugger but does when the code runs at full speed - making it more difficult to debug. Hopefully a solution will be found in the near future... ------------------------------------------------------------------------------------------------- SP6. 28.01.2008 =============== This service pack adds a variety of new features which requires quite a lot of new files. New support for the M5222X and M5221X devices. The simulator has been extended to support RTS/CTS port control as well as port simulation script files. The extended TCP/IP stack includes NetBIOS. New dynamic web content generation has been included, with an optional web page to show it in use. The file system can be configured to be in internal or SPI FLASH (overlaps are also possible) where more than one SPI FLASH device can be used. Note that there are various references to USB but USB code is not yet included in this project. It is presently in an initial development stage. Hardware -------- hardware.h - various extensions for new features and SPI FLASH 12.09.2007 Add fnSPI_FlashExt_available 23.09.2007 Change prototype of fnEraseFlashSector() to include a length. For code compatibility a length of 0 can be set which causes one sector to be erased. 12.10.2007 Add USB interface prototypes \M5223X\M5223X_boot.c - 12.09.2007 Added start up delay to ensure SPI FLASH is ready {2} 16.12.2007 Extend SPI support to include all page sizes {3} 26.01.2008 Correct Flash state-machine frequency and improve accuracy {4} \M5223X\M5223X.c - 28.08.2007 Correct RTC interrupt for GNU {14} 05.09.2007 Correct Edge Port IRQ mask configuration {15} 07.09.2007 Correct prototype define to static and an invalid pre-processor systax {16} 10.09.2007 Correct IIC interrupt blocking {16} 12.09.2007 Add start up delay when using SPI FLASH {17} 12.09.2007 Add extended SPI FLASH support - multiple chips (SPI_FLASH_MULTIPLE_CHIPS) {18} 15.09.2007 Modify edge port priorities from IRQ8..IRQ15 {19} 17.09.2007 Correct CAN bus off interrupt priority/level setting {20} 17.09.2007 Remove IRQ1..7 priority/level setting since this is fixed {21} 22.09.2007 Add M5221X support 23.09.2007 Adapt fnEraseFlashSector() and its use in fnDeleteParBlock(){22} 23.09.2007 Adjust SPI FLASH interface for large devices {23} 12.10.2007 Add USB support {24} 30.10.2007 Add RTS/CTS support {25} 02.11.2007 Improve status register backup when changing interrupt enables {26} 02.11.2007 Back up tx data byte so that it can't get corrupted by rx data before simulator use {27} 15.11.2007 Correct CAN bus frequency for 1MHz M5223X {28} 17.11.2007 Allow SPI and FLASH files system to work together {29} 17.11.2007 Enable accurate distinction between simulated and Window's memory {30} 12.12.2007 Alternative IIC pins defines and more IIC speeds {31} 15.12.2007 Inform simulator of IIC speed {32} 27.12.2007 Improve HW Timer operation and make DMA channel configurable {33} 20.01.2007 Correct Flash state-machine frequency and improve accuracy {34} 28.01.2007 Don't disable duplex operation in auto-negotiation mode {35} \M5223X\M5223X.h - 05.09.2007 Add address IRQ_ICR_8_15_START {2} 09.09.2007 Add General Purpose Timer Module 10.09.2007 Add M5222X support (_M5222X) 12.09.2007 UART status registers declared volatile {3} 22.09.2007 Add M5221X support (_M5221X) 22.09.2007 Correct address of MCF_CLOCK_LPDR {4} 26.09.2007 Made ADC power control register volatile and extended bit defines {5} 12.10.2007 Add USB registers 29.11.2007 Add PIT_1_PIF_INT_H \M5223X\M5223X_ports.cpp - 09.09.2007 Add M5222X support (_M5222X) 22.09.2007 Add M5221X support (_M5221X) \M5223X\M5223XSim.c - 14.09.2007 Correct transmission limits on UART 1 and UART 2 {9} 15.09.2007 Add M5222X support 18.09.2007 Add Port DD peripheral {10} 22.09.2007 Add PNQPAR initialisation {11} 22.09.2007 Add M5221X support 10.10.2007 Allow application calling of interrupt simulation without argument list {12} 21.10.2007 Add USB interface test support {13} 02.11.2007 Add RTS output monitoring and fnSimulateModemChange() {14} 02.11.2007 Removed various interrupt routines in preference to direct __VECTOR_RAM accesses. Added some more accurate interrupt enable mask settings before calling interrupts. Use ucTxLast rather than UTB_RB_X to avoid data in the buffer getting corrupted by rx simulation {15} 17.11.2007 Allow SPI and FLASH files system to work together {16} 09.12.2007 Correct TD and UC to dual function pins {17} 15.12.2007 Add IIC simulation speed limitation for increased accuracy {18} 27.12.2007 Correct DMA timer simulation when restart mode not active {19} 27.12.2007 Extend DMA timers to include DMA timers 0 and 1 {20} \M5223X\Startup.s - * 04.09.2007 Fix FLASHBAR value rather than taking from linker script, with errors {1} * 27.12.2007 Modify mcf5xxx_wr_vbr to support parameter passing in register {2} \IIC_devices\IIC_dev.c - 29.09.2007 Added LM80 (microprocessor system hardware monitor) and PCF8574 port expander 13.10.2007 Added MAX3353 USB OTG Charge Pump with switchable Pullup/Pulldown resistors M5223X\SimM5223X.h - 09.09.2007 Add General Purpose Timer registers 22.09.2007 Add M5221X support 12.10.2007 Add USB support uTasker ------- uTasker.c - 04.09.2007 Correct timer list counter {7} low_power.c (optional port assigned to allow monitoring of the use of low power mode) 25.11.2007 Add low power monitoring {1} iic_drv.c - 15.12.2007 Add tx buffer space request {3} driver.h - additional project defines for various new features 12.10.2007 Add USB table and fnOpenUSB() {1} 12.10.2007 uMallocAlign() align value changed from unsigned char to unsigned short {2} 29.10.2007 Add ENABLE_CTS_CHANGE, DISABLE_CTS_CHANGE and GET_CONTROL_STATUS defines 17.11.2007 FILE_HEADER declaration moved here from config.h {3} 20.12.2007 fnInUserInterrupt() {4} uNetwork.c - 04.09.2007 Message defines changed to aid in monitoring/debugging {5} uMalloc.c - 12.10.2007 uMallocAlign() quantity extended to 64k {1} GlobalTimer.c - 03.01.2008 Correct deleted software timer firing early {3} uFile.c - new SPI FLASH support 23.09.2007 Modify uFileErase() to work with new version of fnEraseFlashSector() {4} 17.11.2007 Add address rounding macro/function to support blocks of non-power of 2 size {5} 09.12.2007 Allow sub-file systems with differing FLASH granularity and FLASH_LINE_SIZE {6} 16.01.2007 Corrections for file systems where SINGLE_FILE_SIZE is a multiple of FILE_GRANULARITY {7} 17.01.2007 Add dependency on parameter file system for calls fnSetPar(), fnGetPar and fnDelPar {8} driver.c - adaptation for GNU compatibility and new USB interface 12.10.2007 Add USB driver interface {4} 26.01.2008 Corrected variable name {5} tty_drv.c - various UART driver flow control extensions and improvements 29.10.2007 Correct variable name in SUPPORT_HW_FLOW code {5} 02.11.2007 Synchronise CTS state to buffer control in RTS/CTS mode {6} 02.11.2007 Correct transmission of XOFF when not in correct mode {7} 02.11.2007 Set active flag when sending XON/XOFF in order to protect tx buffer during its transmission {8} 26.01.2008 Allow WAKE_BLOCKED_TX operation with fixed buffer level {9} stack ----- NetBIOS.c - New in project. ftp.c 03.09.2007 Add optional retrigger of control socket idle timer on data port activity (DATA_PORT_TRIGGERS_CONTROL) {8} 17.11.2007 Correct dependancy FTP_SUPPORTS_DELETE rather than FTP_SUPPORTS_NAME_DISPLAY {9} 17.11.2007 Add define FILE_NAMES_PER_FTP_FRAME to correct operation without file names and adapt for compatibility {10} webutils.c - 04.10.2007 Introduce WEB_ESCAPE_LEN for variable escaping size {3} 06.01.2008 Add defines for user information pointers {4} 06.01.2008 Add tx buffer end to fnInsertHTMLString() and allow buffer growth {5} 06.01.2008 Correct a buffer end check {6} 12.01.2008 Apply INSERT_SHORT_STRINGS support always (define removed) tcpip.h - 29.08.2007 Add content size history (HTTP_WINDOWING_BUFFERS) {5} 03.09.2007 Add optional external retrigger of socket idle timer {6} 06.11.2007 Add NetBIOS support {7} 02.01.2008 Remove some packed struct defines which could cause problems with GNU compiler {8} 06.01.2008 Add tx buffer end to fnInsertHTMLString() {9} 11.01.2008 Extend HTTP struct to include user data pointer and dynamic count array {10} 12.01.2008 Optionally pass HTTP session information to fnInsertValue() {11} http.c - 04.10.2007 Introduce WEB_ESCAPE_LEN for variable escaping size {9} 17.11.2007 Enable accurate distinction between simulated and Window's memory {10} 14.12.2007 Various improvements and increased efficiency of windowing transmission by avoiding short final frames {11} 16.12.2007 Cover function for fnWebParGenerator() ->fnWebParGen() which increases efficiency by avoiding short final frames {12} 06.01.2008 Pass end of buffer space to fnWebParGenerator {13} 06.01.2008 Pass buffer space end to fnInsertHTMLString() {14} 07.01.2008 Simulator flag iFetchingInternalMemory reset on completion (no longer in driver) {15} 08.01.2008 Rework dynamic insertion parameter solution {16} 09.01.2008 Allow frame length increase when inserting strings {17} 11.01.2008 Improvement when generated frames can not grow more {18} 12.01.2008 Additional management information to aid dynamic generation {19} 12.01.2008 Optionally pass HTTP session information to fnInsertValue() {20} 12.01.2008 Apply INSERT_SHORT_STRINGS support always (define removed) tcp.c - additional user options 29.08.2007 Reset usOpenCnt on new connection (correction for HTTP_WINDOWING_BUFFERS) {7} 03.09.2007 Add optional external retrigger of socket idle timer {8} WinSim ------ resource.h - due to new menus, this file adds various new Windows events. PortSim.cpp - this is a new file to the project. It handles a port simulation script file which can inject data or port changes to various peripherals and thus allows testing of externally defined sequences. WinSim.h - the simulator supports several new devices, RTS/CTS and DMA simulation as well as a new port change script simulator. 15.09.2007 Add Luminary LM3SXXXX support {3} 22.09.2007 Add M5222X and M5221X support 21.10.2007 Add SIM_TEST_ENUM and prototype fnSimulateUSBIn() 02.11.2007 Add RTS control commands {4} 14.11.2007 Add port script interpreter fnDoPortSim() {5} 14.11.2007 Add fnInjectSerial(), fnInjectPortValue() and fnInjectSPI(){6} 14.11.2007 Add RX_SPI0 and RX_SPI1 defines plus fnSimulateSPIIn() {7} 17.11.2007 Add fnSimFPGAPeriod() {8} 15.12.2007 Add fnConfigSimIIC() {9} 23.12.2007 Extended DMA channel support {10} 25.12.2007 Extended UART support to 4 channels {11} 26.12.2007 Add LPC21XX support {12} WinSimMain.cpp - 15.09.2007 Add M5222X support 15.09.2007 Add Luminary LM3SXXXX support 22.09.2007 Add M5221X support 21.10.2007 Add Enumeration test support {6} 02.11.2007 Add RTS modem control support {7} 13.11.2007 Add port simulator {8} 25.12.2007 Extended UART support to 4 channels {9} 26.12.2007 Add LPC21XX support 08.01.2008 Ethernet code made conditional on Ethernet availability {10} WinSim.c - 12.09.2007 Add multiple SPI FLASH support {4} 23.09.2007 Add page delete command to SPI FLASH {5} 21.10.2007 Add test sequence for USB enumeration {6} 02.11.2007 Add RTS control support {7} 17.11.2007 Allow SPI and FLASH files system to work together {8} 15.12.2007 Add IIC speed support for improved simulation accuracy {9} 15.12.2007 Simplified UART speed limitiation {10} 23.12.2007 Extend UART speed limitiation to DMA {11} 25.12.2007 Extend UART support to 4 UARTS {12} 08.01.2008 Ethernet code made conditional on Ethernet availability {13} WinPcap.cpp - 08.01.2008 Made content conditional on Ethernet interface availablility Ethereal.cpp - 08.01.2008 Content made conditional on Ethernet availability FileToDisk.c - 15.09.2007 Add Luminary LM3SXXXX support {4} 17.11.2007 Allow SPI and FLASH files system to work together {5} Applications\uTaskerBoot ------------------------ types.h - 02.11.2007 Add typedef MEMORY_RANGE_POINTER for compatibility Applications\uTaskerV1.3 ------------------------ types.h - MEMORY_RANGE_POINTER was added to the project to enable future file system extensions while retaining backward compatibility 15.09.2007 Add support for Luminary LM3SXXXX 12.10.2007 Add typedef MEMORY_RANGE_POINTER app_hw_m5223x.h - 04.09.2007 Remove conditional use of DMA_MEMCPY_SET on SPI_SW_UPLOAD {9} 15.09.2007 Add configuration for M5222X 15.09.2007 Add IRQ8..IRQ15 level/priority settings {10} 09.10.2007 Add LCD delay {11} 13.10.2007 Add USB Interrupt priority (for M5222X/M5221X) {12} 13.10.2007 Add CHARGE_PUMP_IIC_CHANNEL / OTG_CHARGE_PUMP_IIC_ADD to define USB OTG charge pump interface {13} 17.11.2007 Allow SPI and FLASH files system to work together {14} 12.12.2007 Add additional IIC pin configuration options {15} 29.12.2007 Add DMA HW timer channel configuration {16} LCD.c - 09.10.2007 Add configurable delay to ensure two back to back writes are not too fast in 4 bit mode {1} 10.10.2007 Correct nibble adjustment in 4-bit read {2} 12.10.2007 T_INIT_WAIT modified to 5ms rather than 1 tick Ticks of greater will default to 1 tick) {3} webInterface.c - 10.12.2007 Avoid displaying local password {4} 08.01.2008 Add dynamic insertion demo {5} 12.01.2008 Adjust fnInsertValue() to accept sesssion information {6} 17.01.2008 Ensure post defined file is returned when not SW upload {7} debug.c - 03.06.2007 Add FTP timeout and mode when configuring FTP server {3} 02.07.2007 Add LPC23XX GPIOs 26.09.2007 Add LM3SXXXX GPIOs 31.12.2007 Improve NE64 user port update {4} 01.01.2008 ping test made conditional on ICMP_SEND_PING application.c - 10.09.2007 Add external RTC IIC test {4} 15.09.2007 Modify IRQ priorities for M5223X {5} 23.09.2007 Add simple test of SPI FLASH (including multiple chips) {6} 12.10.2007 Add USB initialisation {7} 29.10.2007 Add UART RTC control when working in HW flow control mode {8} 06.11.2007 Add NetBIOS support - start server and specify name {9} 20.11.2007 Allow operation from fixed parameters when no parameter system available {10} 24.12.2007 Add intensive I2C test mode {11} 02.01.2007 Add IRQ test for SAM7X (IRQ and FIQ) {12} 21.01.2007 Add IRQ test for STR91 {13} config_ref_m5223X_sp6.h - This file was used to test the release. It shows the latest options and serves are reference should defines be missing after an upgrade. Web pages ========= \Applications\uTaskerV1.3\WebPages\WebPagesM5223X ------------------------------------------------ 0Menu.htm - GIF upload added \Applications\uTaskerV1.3\WebPages\WebPagesM5223X\AlternativePages ------------------------------------------------------------------ AMulTable.htm - new web page showing a dynamically generated multiplication table \Applications\uTaskerV1.3\WebPages\WebPagesM5223X\Alternative_Logo ------------------------------------------------------------------ SOT23_Transistor.gif - a small test GIF for upload tests PROJECT setups ============== GNU_ColdFire ------------ This standalone set up has been adapted to include all new files (replace directory). CodeWarrior_M5223X ------------------ Thsi project setup has been adapted to include all new files (replace directory). The conversion utilities have been updated to use teh latest version of the uTaskerConvert1.1.txt - in \uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\bin Important notes. The new startup file Startup.s for CodeWarrior now supports parameter passing using registers. This improves both code and speed efficiency but requires the CodeWarrior configuration to suit. A new Code Warrior project is included, which has this set up. If libraries are used the correct library (compiled for parameter passing in registers) must also be used! config_ref_m5223X_sp6.h - there are a few defines which have moved location. This file will not overwrite any existing configuration file but can be used a reference in case of missing defines after an upgrade to the new service pack. It also serves are reference for latest options. SP7. 4.05.2008 =============== Application =========== \Applications\uTaskerV1.3\config_ref_m5223X_sp7.h This file will not update the config.h but is a reference of the file used to test the SP release, including any new project options as reference. It can be renamed to config.h to build the project as the release test reference. \Applications\uTaskerV1.3\application.c 18.02.2008 Extend SPI test for external file system {14} 13.03.2008 Correct time server increment on connection close {15} 18.03.2008 Correct sizeof() use {16} 10.04.2008 Add ADC test for M5223X {17} 14.04.2008 Add optional LCD read test {18} 20.04.2008 Add Coldfire PIT interrupt test {19} 21.04.2008 Add Coldfire DMA TIMER interrupt test {20} \Applications\uTaskerV1.3\webInterface.c 22.03.2008 Correct length of MAC address string when displaying ARP entries {9} 11.04.2008 Add missing break {10} 01.05.2008 Add backlist to reject some HTTP connections {11} 04.05.2008 Allow simplified project without USE_MAINTENANCE {12} \Applications\uTaskerV1.3\LCD.c 14.04.2007 Add optional command before E_LCD_READ_RAM {4} \Applications\uTaskerV1.3\debug.c 02.05.2008 Add dummy code to allow the project to use serial interface without USE_MAINTENANCE {6} \Applications\uTaskerV1.3\types.h 13.03.2008 Add typedef LENGTH_CHUNK_COUNT \Applications\uTaskerV1.3\TaskConfig.h 10.04.2008 Remove unused ADC task \Applications\uTaskerV1.3\app_hw_m5223x.h 08.02.2008 Add USB user configuration {17} 22.02.2008 Add support for SPI FLASH STM25P64 {18} 26.03.2008 Modifications for M52220DEMO {19} 31.03.2008 Add improved PLL configuration and control {20} 10.04.2008 Add ADC_ERR_PRIORITY, ADC_REFERENCE_VOLTAGE, SUPPORT_ADC {21} 19.04.2008 Add exact chip type {22} 19.04.2008 Add power control to HW timer {23} 20.04.2008 Add PIT1 interrupt priority {23} 21.04.2008 Add SUPPORT_EPORT to enable EPORT code and SUPPORT_PIT1 for PIT1 timer {24} 21.04.2008 Add SUPPORT_DMA_TIMER to enable DMA timer code {25} 21.04.2008 Add DMA_TIMER1_INTERRUPT_PRIORITY {26} 27.04.2008 Add CONFIG_TEST_OUTPUT() and TOGGLE_TEST_OUTPUT() {27} 28.04.2008 Add ADC initial analogue values for when simulating {28} CodeWarrior project =================== \Applications\uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\bin\uTaskerConvertV1.4.exe This new version of the converter has improved Motorola BIN format detection. It correctly handles zero length blocks which seem to be used in the latest CodeWarrior versions to indicate the program entry point. \Applications\uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\uTaskerV1.3.mcp Modified project incuding target for M52210 (small FLASH/RAM memory map). \Applications\uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\cfg\M52235EVB_SRAM.lcf \Applications\uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\cfg\M52232_FLASH.lcf \Applications\uTaskerV1.3\CodeWarrior_M5223X\uTaskerV1.3\cfg\M52220_FLASH.lcf New linker script files to reflect memory capabilities of these device types uTasker ======= \uTasker\GlobalTimer.c 05.03.2008 Add ability to kill all timers belonging to a certain task {4} 10.04.2008 Correct global HW monostable retrigger {5} \uTasker\uTasker.h 10.04.2008 move fnSetHardwareTimer() to hardware.h Stack ===== \stack\http.c 03.03.2008 Correct transmission length when receiver's window closes {21} 03.03.2008 Don't send empty frame when no space for more data in window {22} 03.03.2008 Correct dynamic frame references when sending single or non-frames (due to receiver's windows closing) {23} 13.03.2008 fnStartHTTP's fnInsertRoutine() parameter now uses typedef LENGTH_CHUNK_COUNT as does fnInsertValue. ChunkReference correspondingly defined. {24} 17.03.2008 Correct web insert cut off {25} \stack\ftp.c 23.04.2008 Add optional DEL *.* support {11} \stack\tcpip.h 23.04.2008 Add INFINITE_TIMEOUT define {13} 25.04.2008 Add TCP_STATE_BAD_SOCKET and fnGetTCP_state() {14} stack\tcp.c 25.04.2008 Add fnGetTCP_state() {9} Hardware ======== \Hardware\hardware.h 10.04.2008 Add fnSetHardwareTimer() and fnStopHW_Timer() \Hardware\M5223X\spi_flash_m5223x_stmicro.h \Hardware\M5223X\spi_flash_m5223x_atmel.h New header files containing SPI FLASH specific code. It is declared as a header so that projects do not need to specify that it is not to be compiled. Its goal is to improve overall readability of the hardware interface. \Hardware\M5223X\SimM5223X.h 04.05.2008 Add additional M5221X, M5222X and M5223X discrimination \Hardware\M5223x\M5223X_ports.cpp 28.04.2008 Add ADC simulation support // {1} \Hardware\M5223x\M5223X.c 03.02.2007 Never use watchdog when debugging in RAM {36} 22.02.2007 Correct filling SPI FLASH output buffer (optimisation) {37} 22.02.2007 Corrected chip select recognition for multiple chips {38} 22.02.2007 Reorganise SPI Flash support to use an include file {39} 22.02.2007 Add support for ST SPI FLASH chips {40} 23.02.2007 Correct PHY interrupt mask to not unmask GRA interrupt {41} 31.03.2008 Add improved PLL configuration and control {42} 10.04.2008 Add fnStopHW_Timer() and initise its count on start up {43} 10.04.2008 Add ADC support {44} 18.04.2008 Correct TICK divide value (PIT) {45} 19.04.2008 Improve power management support {46} 19.04.2008 Reject own Ethernet frames when simulating {47} 21.04.2008 Add SUPPORT_EPORT to remove EPORT code if not required and SUPPORT_PIT1 for PIT1 29.04.2008 Add ADC input initial voltages when simulating {48} 04.05.2008 Correct CTS/RTS port configurations (thanks Dean!) {49} \Hardware\M5223x\M5223XSim.c 18.03.2008 Add _SETx() and _CLEARx() {21} 22.03.2008 Add fnIRQ_int() to ensure IRQ is really enabled before calling handler {22} 13.04.2008 Initialise ADC high level reference registers {23} 19.04.2008 Initialise extra registers {24} 19.04.2008 Add _POWER_UP() and _POWER_DOWN() {25} 20.04.2008 Add PIT0 and PIT1 simulations {26} 22.04.2008 Add event flags to DMA timer simulations {27} 27.04.2008 Adjust MCF_CLOCK_CCHR default for _M5221X {28} 28.04.2008 Add ADC initial values and ADC simulation support {29} \Hardware\M5223x\M5223X.h 18.03.2008 Add _SETBITS and _CLEARBITS macros {6} 31.03.2008 Add improved PLL configuration and control {7} 10.04.2008 Add ADC interface support and extra register bits in ADC block {8} 12.04.2008 Correct PDSR register names {9} 19.04.2008 Add additional registers {10} 20.04.2008 Add module power-up and power-down macros {11} 20.04.2008 Add PIT_INTERRUPT configuration {12} 21.04.2008 Add DMA_TIMER_INTERRUPT configuration {13} 21.04.2008 Add DMA_TIMER struct and packed attribute {14} 21.04.2008 Add IC_DTIM_0_ADD {15} Simulator ========= \WinSim\FileToDisk.c 15.02.2008 Support for SPI FLASH STM25PXXX {6} \WinSim\WinSim.h 18.03.2008 Remove chip select parameter from fnSimAT45DBXXX() and fnSimSTM25Pxxx {14} 28.03.2008 Add INPUT_TOGGLE_NEG and INPUT_TOGGLE_NEG {15} \WinSim\WinSimMain.cpp 28.04.2008 Add shift key monitor and negative toggle (for ADC use) {11} \WinSim\WinSim.c 12.02.2008 Add support for SPI FLASH STM25P64 {14} 18.02.2008 Use memset/memcpy rather than uMemset/uMemcpy to avoid limitations when DMA used {15} 18.03.2008 Remove chip select parameter from fnSimAT45DBXXX() and fnSimSTM25Pxxx() and control it locally {16} 21.03.2008 Add BULK ERASE support to STM25Pxxx SPI FLASH {17} 25.03.2008 Improve AT45DBXXX flash write accuracy by using & rather than copy {18} 28.04.2008 Add negative toggle (for ADC use) {19} Boot loader =========== \Applications\uTaskerBoot\types.h 13.03.2008 Add typedef LENGTH_CHUNK_COUNT \Hardware\M5223X\M5223X_boot.c - 18.03.2008 Remove chip select parameter from fnSimAT45DBXXX() WebPage load/delete script support ================================== \Applications\uTaskerV1.3\WebPages\WebPagesM5223X\Copy_all.bat \Applications\uTaskerV1.3\WebPages\WebPagesM5223X\delete_all.bat \Applications\uTaskerV1.3\WebPages\WebPagesM5223X\ftp.txt \Applications\uTaskerV1.3\WebPages\WebPagesM5223X\ftp_del.txt The bat files Copy_all.bat and delete_all.bat are set up to automatically copy the web page set to the target device (IP address may need to be changed to suit) via FTP (DOS) and to delete the entire contents using new DEL *.* support. SP8. 14.09.2008 =============== This service pack adds USb support for the M5221x and M5222x families. WIth the use of the new define PARAMETER_BLOCK_START, the parameter system has been separated from the file system (for increased flexibility). Important: _CLEARBITS macro has been changed to use positive logic rather than negative logic. Eg. _CLEARBITS(TC, PORT_TC_BIT2); clears PORT_TC_BIT2 in port TC - previously this was written as _CLEARBITS(TC, ~PORT_TC_BIT2); All driver files using this form have been adjusted but it will be necessary to modify its use in any of your own existing application files. Application =========== \Applications\uTaskerV1.3\usb_application.c - new file demonstrating configuration and use of USB based on a (CDC) communication device. This has to the VS simulation project. \Applications\uTaskerV1.3\application.c 13.05.2008 Add NE64 TIMER interrupt test {21} 13.05.2008 Modified USB initialisation to start USB task {22} 02.07.2008 Adjust IRQ test setup for SAM7X {23} 08.08.2008 Add USB demo menu support {24} 28.08.2008 Correct PORT_INTERRUPT initialisation when DS1307 test defined {25} \Applications\uTaskerV1.3\webInterface.c 29.06.2008 Change download FLASH size from 160k to 156k (due to new organisation of M5223X FLASH where parameter system not counted) {13} 16.07.2008 Correct length of MAC address string when displaying MAC address {14} 07.09.2008 Add demo reception of POST parameter data {15} \Applications\uTaskerV1.3\debug.c 25.05.2008 Move fnAddTime() outside of USE_MAINTENANCE dependency {7} 09.08.2008 Add USB_INTERFACE debug interface support {8} \Applications\uTaskerV1.3\application.h 03.06.2007 Add FTP user definable FTP timeout and ACTIVE_FTP_LOGIN {2} 29.06.2007 Add usUSB_state, SOURCE_USB, fnSendToUSB(), fnSetUSB_debug(), ES_USB_LOGIN, ES_USB_COMMAND_MODE and USB_ON_LINE {3} \Applications\uTaskerV1.3\app_hw_m5223x.h 22.05.2008 Improved FLASH and SRAM size configuration {29} 23.05.2008 M52211 and M52213 PLL disabled to achieve 48MHz {30} 23.05.2008 Improve ATMEL SPI FLASH type configuration {31} 24.05.2008 Add define _ALIGN_HEAP_4 to align all heap memory - ensuring access efficiency {32} 07.06.2008 Add second I2C interface to M5221X devices {33} 09.06.2008 Add PARAMETER_BLOCK_START address and modify file system start accordingly {34} 09.06.2008 Restict number of UARTs for certain chips {35} 28.06.2008 Adjust SPI FLASH file size to respect large granularity devices {36} 28.06.2008 Add SST SPI FLASH support {37} 13.08.2008 Add M5225X device configuration support {38} 16.08.2008 Add USB firware upload file name {39} 14.09.2008 Enable parameter and flash routines when parameter system is enabled without file system support {40} \Applications\uTaskerV1.3\TaskConfig.h 14.06.2008 Add USB task \Applications\uTaskerV1.3\USB\uTaskerVirtualCOM.inf - this new file is required when first connecting to the USB device. It informs Windows which driver is to be used for its operation, based on a match between Vendor ID (VID) and Product ID (PID). It specifies the use of a standard Windows driver called usbser.sys, which operates as a virtual COM port. Hardware ======== \Hardware\hardware.h 23.05.2008 Add fnGetDMACount() 02.06.2008 Add fnUpdateADC() 28.06.2008 Add SST SPI FLASH parts {2} 27.08.2008 Modify fnTxIIC Channel parameter to QUEUE_HANDLE {3} \Hardware\M5223x\M5223X.c 23.05.2008 UART2 defaults to port AS on 64 pin devices {50} 23.05.2008 Add fnGetDMACount() and add UART break support in DMA mode {51} 23.05.2008 Add 32k crystal support to RTC for M5221X family {52} 31.05.2008 Enable first ADC channel when only second ADC channle used, not in parallel mode {53} 02.06.2008 Set ADC conversion complete after one poll (simulator) {54} 04.06.2008 Power up edge port module on use {55} 07.06.2008 M5221X RTC corrections {56} 07.06.2008 Extend I2C to support multiple interfaces {57} 09.06.2008 Add more flexible parameter block configuration using PARAMETER_BLOCK_START {58} 09.06.2008 Improve FLASH simulation using fnGetFlashAdd() {59} 28.06.2008 Initialise QSPI control registers and remove from driver {60} 29.06.2008 Add SST SPI FLASH support {61} 05.07.2008 Add fnInUserInterrupt() {62} 05.07.2008 Optionally enable external interrupt configuration {63} 31.07.2008 Made SEL_VREFH_AN2 and SEL_VREFL_AN6 settings independent {64} 13.08.2008 Add M5225X support {65} 27.08.2008 Modify fnTxIIC Channel parameter to QUEUE_HANDLE {66} 08.09.2008 Add additional FLASH memory address write validity when simulating {67} 14.09.2008 Enable parameter and flash routines when parameter system is enabled without file system support {68} \Hardware\M5223x\M5223XSim.c 23.05.2008 Add Internal RTC initialisation for chips which have this capability {30} 02.06.2008 Correct IRQ8..IRQ15 mask {31} 02.06.2008 Add fnUpdateADC() {32} 02.06.2008 Extend trigger simulation to include second ADC in parallel mode {33} 07.06.2008 Add second I2C channel {34} 09.06.2008 Add fnGetFlashSize() and support SAVE_COMPLETE_FLASH configuration {35} 06.07.2008 Check DMA timer DMA mode and don't call interrupt when set {36} 19.07.2008 Add fnSimulateBreak() {37} 19.07.2008 Add full serial reception DMA support {38} 19.07.2008 Add M5225X support {39} \Hardware\M5223X\M5223X_ports.cpp 23.05.2008 Correct Port UC for chips with less than 100 pins {2} 06.06.2008 Use SPRINTF() instead of sprintf() {3} 07.06.2008 Correct some M5221X details {4} 07.06.2008 Correct AS port length for M5222X and M5221X {5} 17.06.2008 Remove TA port for 64 pin M5222X and M5221X {6} 13.08.2008 Remove details of ports to external header and add M5225X {7} \Hardware\M5223X\M5223X_port.h \Hardware\M5223X\M5222X_M5221X_port.h \Hardware\M5223X\M5225X_port.h - The port details have been removed from the file M5223X_ports.c into individual port description headers \Hardware\IIC_devices\IIC_dev.c 23.05.2008 Added synchronisation of internal battery backed up RTC {1} \Hardware\M5223x\M5223X.h 07.06.2008 Add second I2C controller interrupts {16} 07.06.2008 Add I2C control register addresses {17} 09.06.2008 Configure M5223X project to save complete FLASH when simulating {18} 22.06.2008 Automatically enable HW random number support if the M52235 is specified {19} 29.06.2008 Modify _CLEARBITS macro to use positive logic {20} 05.07.2008 Optional prototype for external interrupt configuration {21} 19.07.2008 Add DMA_MASK {22} 06.08.2008 Correct General Purpose Timer register names {23} 13.08.2008 Add M5223X support {24} \Hardware\M5223X\spi_flash_m5223x_stmicro.h 28.06.2008 Remove configuration of QSPI commands from driver interface (these are initialised once on start up) {1} 29.06.2008 Modify _CLEARBITS macro to use positive logic {2} \Hardware\M5223X\spi_flash_m5223x_atmel.h 23.05.2008 Add automatic power of 2 mode setting if the page size is defined for this {1} 28.06.2008 Remove configuration of QSPI commands from driver interface (these are initialised once on start up) {2} 29.06.2008 Modify _CLEARBITS macro to use positive logic {3} \Hardware\M5223X\GUI\m5221x.bmp \Hardware\M5223X\GUI\m5222x.bmp - new graphics for M5221x and M5222x devices \Hardware\M5223X\SimM5223X.h 13.08.2008 Add M5225X support {2} uTasker ======= \uTasker\USB_drv.c - new generic USB driver. This has to the VS simulation project. \uTasker\usb.h - new generic USB header. \uTasker\tty_drv.c 23.05.2008 Add message counter mode with optional short word length count {10} 23.05.2008 Extend break support to include Rx DMA and message counter {11} 23.05.2008 Improve message extraction in half-buffer DMA mode {12} 30.08.2008 Don't put XON to input buffer, even when not in XOFF mode {13} \uTasker\uFile.c 09.06.2008 Allow external SPI FLASH to operate with sub-files {10} 08.09.2008 Correct limitation of writes too large for the file system and optimise the data size written in this case {11} 14.09.2008 Enable parameter and flash routines when parameter system is enabled without file system support {12} \uTasker\uNetwork.c 09.06.2008 uNetwork Broadcast address made definable {6} 02.07.2008 Add fnResetuNetwork_stats() {7} \uTasker\driver.h - additional project defines for various new features 09.06.2008 uNetwork Broadcast address made definable {6} 03.07.2008 Add fnGetUSBEndpoint() {7} Stack ===== \stack\webutils.c 18.05.2008 Modify fnEncode64() to allow general purpose encoding {7} 02.09.2008 Correct fnInsertHTMLString() buffer growth limit {8} \stack\http.c 16.05.2008 Allow return value on GET connection {26} 07.09.2008 Add plain text post support to enable posting parameters to application {27} \stack\tcpip.h 18.05.2008 Modify fnEncode64() parameters for general use {15} 25.05.2008 Add HTTP states HTTP_STATE_POSTING_PLAIN 02.07.2008 Add fnResetuNetwork_stats() {16} 09.07.2008 Correct IPV6 length to 16 {17} 07.09.2008 Add POSTING_PARAMETER_DATA_TO_APP {18} \stack\dhcp.c 22.06.2008 Allow operation without random number generator support {2} \stack\smtp.c 18.05.2007 Adjust fnEncode64() use {1} \stack\Ethernet.c 09.06.2008 Allow variable uNetwork protocol {4} Simulator ========= \WinSim\WinSim.c 08.05.2008 Protect WinPCap from main thread by ignoring TICK if WinPCap is simulating {20} 23.05.2008 Add AT45BDxxxD page size simulation support and make manufacturing ID answer type dependent {21} 28.06.2008 Add SST SPI FLASH support {22} 16.07.2008 Add USB tx logging {23} 16.07.2008 Protect main thread from Ethernet frame injections {24} 16.07.2008 Close all log files on exit {25} 19.07.2008 Add USB disconnect and OUT data simulations {26} 19.07.2008 Add UART break condition {27} 31.08.2008 Extend I2C support to 3 channels {28} \WinSim\WinSim.h 28.06.2008 Add fnSimSST25() {16} 16.07.2008 Add USB_INT {17} 19.07.2008 Add parameters to fnInjectSerial() {18} 19.07.2008 Add fnInjectUSB() {19} 19.07.2008 Add break condition and CTS change simulation events {20} 13.08.2008 Add M5225X support {21} \WinSim\PortSim.cpp 18.07.2008 Parser correction {1} 19.07.2008 Add UART CTS and break, plus USB frame injection {2} \WinSim\FileToDisk.c 28.06.2008 Support for SPI FLASH SST25 {7} \WinSim\WinSimMain.cpp 17.06.2008 Remove TA port for 64 pin M5222X and M5221X {12} 19.06.2008 Add USB disconnect support {13} 19.06.2008 USB state display added {14} 19.06.2008 fnInjectUSB() added {15} 13.08.2008 Add M5225x support {16} \WinSim\WinPcap.cpp 16.07.2008 Wait before injecting Ethernet frames if the main task is active {1} \WinSim\resource.h - This file adds extra defines used by the simulator's Windows interface. It may be necessary to delete the file \Applications\uTaskerV1.3\resource.h for the simulator to compile without errors. CodeWarrior projects ==================== A new CW7.1 project has been added to work with M5221X and M5222X devices. Boot loader =========== The boot project now supports M5221X and M5222X for USB firmware loading. A new CW7.1 project supports this. \Applications\uTaskerBoot\types.h 31.05.2008 Modify size_t dependency {1} \Applications\uTaskerBoot\config.h 31.05.2008 Clean out all non-bootloader defines (M5223X) 26.06.2008 Add ST SPI FLASH support {9} 19.08.2008 Add M5222X and M5221X support (USB boot loader) {10} \Applications\uTaskerBoot\uTaskerBootLoader.c 19.08.2008 Add M5222X and M5221X support (USB boot loader) {9} 29.08.2008 Add MAIN_FUNCTION_TYPE for compilers which only accept main with int type {10} \Hardware\M5223X\M5223X_boot.c 26.06.2008 Use SPI FLASH includes from main project, adding ST FLASH support {5} 28.06.2008 Initialise QSPI control registers {6} SP9. 23.02.2009 =============== This service pack adds M5225X (Kirin3) support to the Coldfire V2 MCU project. WinSim ====== \WinSim\FileToDisk.c 27.01.2009 Add save and restore of NVRAM content {8} \WinSim\WinSim.h 19.09.2008 Add USB host support {22} 08.12.2008 Add file string parameter to fnDoEthereal() and fnDoPortSim{23} 17.12.2008 Remove PORTS_AVAILABLE and PORT_WIDTH defines to processor files 18.01.2009 Add WAIT_WHILE_BUSY {24} 27.01.2009 Add parameter to fnGetFileSystemStart() and fnGetFlashSize() {25} 30.01.2009 Add IIC_INT2 {26} 10.02.2009 Add iForce parameter to fnSimulateEthernetIn() {27} \WinSim\WinSim.c 19.09.2008 Add USB host support {29} 19.09.2008 Add USB set up data injection {30} 20.10.2008 Add ATMEL SPI FLASH auto-page rewrite command {31} 25.10.2008 Complete SST SPI FLASH simulation support 09.01.2009 Test USB transaction interruption during enumeration {32} 09.01.2009 Add missing status stage during enumeration sequence {33} 17.01.2009 Don't schedule on not accepted Ethernet frames {34} 18.01.2009 Generally return WAIT_WHILE_BUSY when the simulator is already working {35} 18.01.2009 Protect all interrupt injections {36} 25.01.2009 Correct AT45 SP FLASH address mask {37} 03.02.2009 Only close USB logs when they are open {38} 08.02.2009 Extra parameter passed with fnSimulateEthernetIn() {39} \WinSim\Ethereal.cpp 15.02.2009 Moved check of file open to before attempted read {1} \WinSim\PortSim.cpp 18.10.2008 Add USB setup frame injection {3} 08.12.2008 Pass file string to fnDoPortSim() and fnPlayPortScript() {4} 15.02.2009 Add port simulation to M5223X {5} \WinSim\WinSimMain.cpp 19.09.2008 Add USB host support {17} 08.12.2008 Add file select dialogue on simulation files {18} 09.12.2008 Read in and save user files {19} 17.12.2008 Add _LM3S3748 / _LM3S3768 / _LM3S3748 / _LM3S5732 support {20} 24.12.2008 Add SAM7X ADC {21} 17.01.2009 Add _LM3S2110 support {22} 18.01.2009 call new intermediate _main() instead of main(). This protects thread operation for reliability {23} 03.02.2009 Change strcpy to STRCPY to remove VS2008 waring {24} 03.02.2009 Add port injection support for M5223X {25} \WinSim\resources.h - this is required due to some new menus TCP/IP Stack ============ \stack\tcpip.h 22.09.2008 Add iFetchingInternalMemory to HTTP session struct {19} 23.09.2008 Add HTTP state HTTP_STATE_DOING_PARAMETER_POST {20} 04.10.2008 Add APP_REQUEST_AUTHENTICATION {21} 04.11.2008 Add conditional on FTP_DATA_WINDOWS {22} 13.11.2008 Correct typo in variable name {23} 13.11.2008 Add flags LAST_DYNAMIC_CONTENT_DATA and GENERATING_DYNAMIC_BINARY {24} 01.02.2009 Add POSTING_PARTIAL_PARAMETER_DATA_TO_APP {25} \stack\tcp.c 01.11.2008 Add FTP_DATA_WINDOWS option support for windowing {10} \stack\http.c 22.09.2008 Replace simulator flag iFetchingInternalMemory by a HTTP session flag to improve accuracy when frames are repeated {28} 23.09.2008 Correct remaining length in parameter posting routine {29} 13.11.2008 Correct variable name ucDymamicFlags->ucDynamicFlags at various locations {30} 13.11.2008 Avoid padding dynamically generated binary content using LAST_DYNAMIC_CONTENT_DATA flag {31} 13.11.2008 Avoid HTTP probing when sending binary contents {32} 13.11.2008 Add DYNAMIC_DATA_FIXED_LENGTH support to optimise some data transfers {33} 29.11.2008 Add support for operation with CHROME {34} 29.11.2008 Modify plain text post to allow its content to be in first or second TCP buffer (also required for Chrome) {35} 29.11.2008 Optionally decode ASCII plain text post reception {36} 17.01.2009 Ignore string compares when frame shorter than string {37} 14.02.2009 ucFlag passed variable used rather than a new stack variable {38} 14.02.2009 Add SUPPORT_HTTP_CONTINUE to respond to Expect: 100-continue during parameter posting {39} 14.02.2009 Activate reworked handling of post support using match string table and allowing parameter post over multiple frames {40} \stack\webutils.c 29.11.2008 Change fnWebStrcpy() to accept zero pointer to control its behaviour {9} 01.12.2008 Change use of ucNewInput rather than cReference to allows user name and password to be zero terminated {10} \stack\FTP.c 23.02.2009 Add fast download support with FTP_DATA_WINDOWS {12} \stack\FTP.c 23.02.2009 Add fast download support with FTP_DATA_WINDOWS {12} Hardware ======== \hardware\hardware.h 06.10.2008 Move USB simulator defines to this file {4} 18.10.2008 Add USB FIFO routines {5} 13.02.2009 Add fnDelayLoop() for simple but accurate us delay loops {6} \hardware\M5223X\Startup.s 21.01.2009 Flash speculation error controlled conditionally {3} \hardware\M5223X\mcf5223X_boot.s 21.01.2009 Added condition on KIRIN3 {2} \hardware\M5223X\mcf5223X_GNU_boot.s new file for use with 4k boot loader on Kirin3 \hardware\M5223X\M5225X_port.h - new file with M5225X pin defines \hardware\M5223X\M5223X.c 17.09.2008 Add USB host mode support {69} 17.10.2008 Add DMA timer interrupt routine forward declaration for GCC{70} 25.10.2008 Finalise SST SPI FLASH implementation {71} 29.10.2008 Add general purpose timer interface support {72} 03.01.2009 Correct SPI EEPROM code {73} 07.01.2009 Added UART1 DMA on Tx {74} 19.01.2009 Changes for Kirin3 operation on EVM/DEMO board {75} 25.01.2009 Correct 32k and 64k SST SPI FLASH delete decision {76} 27.01.2009 NVRAM support via FlexBus (M5225X) {77} 28.01.2009 Add Backup Watchdog Timer support {78} 12.02.2009 Add IP loop back support for simulations {79} 12.02.2009 Add fnDelayLoop() for simple but accurate us delay loops {80} \hardware\M5223X\M5223X.h 19.09.2008 Extended USB defines for host mode {25} 17.10.2008 Add SET_CONTROL_DIRECTION, CLEAR_SETUP and FIFO_READ macros for USB compatibility {26} 28.10.2008 Add general purpose timer control interface {27} 17.12.2008 PORTS_AVAILABLE and PORT_WIDTH moved here from WinSim.c {28} 22.12.2008 Add ADC_SAMPLING_SPEED macro {29} 20.01.2009 Add MICREL PHY registers {30} 20.01.2009 Correct M5225X xPAR register widths {31} 27.01.2009 Add M5225X FlexBus {32} 28.01.2009 Extend Backup Watchdog Timer support {33} 30.01.2009 Extend Reset controller flags and declare volatile {34} 14.02.2009 Change CFMCMD to volatile to avoid GCC changing command sequence ordering {35} \hardware\M5223X\M5223XSim.c 17.09.2008 Initialise IRQ1..IRQ7 priority levels {40} 19.09.2008 Add USB host support {41} 29.10.2008 Add General Purpose Timer support {42} 21.01.2009 Add PHY link up simulation for M5225x {43} 27.01.2009 Add NVRAM support {44} 28.01.2009 Add Backup Watchdog Timer simulation {45} 30.01.2009 Improve reset Controller Simulation {46} 08.02.2009 Add iForce parameter to fnSimulateEthernetIn() {47} 15.02.2009 Initialise pointer ptrUSBData to avoid VS message {48} \hardware\M5223X\M5223X_boot.c 19.01.2009 Add SST SPI FLASH {7} 19.01.2009 Add M5225X support {8} 15.02.2009 Remove strcpy() use (only relevant for simulator) {9} \hardware\M5223X\spi_flash_m5223x_stmicro.h 27.10.2008 Remove unnecessary reset of danger flag {3} \hardware\M5223X\spi_flash_m5223x_sst25.h 25.10.2008 Fully implemented version \Hardware\M5223X\GUI\kirin3.bmp New bit map for M5225X simulation uTasker ======= \uTasker\USB_drv.c 06.10.2008 Adjust USB read/writes to support FIFO operation {1} 17.10.2008 Add control endpoint direction control and setup clear {2} 25.12.2008 Additional and optional tx buffer depth check {3} 04.01.2009 Additional setup clears added {4} 10.01.2009 Correct tx buffer depth check {5} 10.01.2009 Break from loop rather than individual return values {6} 29.01.2009 Clear endpoint FIFO depth on disconnect {7} \uTasker\tty_drv.c 31.10.2008 Add inter-character timer support for use by MODBUS {14} 27.12.2008 Correct DMA transmission counter {15} \uTasker\usb.h 20.09.2008 Add USB host defines {1} \uTasker\driver.c 12.10.2008 Conditional compile of library-replacement routines {7} \uTasker\driver.h 19.09.2008 Add USB host and OTG mode defines {8} 18.10.2008 Add fnFillBuf_FIFO() {9} 31.10.2008 Add serial RTU_RX_MODE {10} 27.12.2008 Add lastDMA_block_length to TTY struct when using DMA {11} 11.01.2009 Add BUFFER_CONSUMED_EXPECT_MORE {12} 21.01.2009 Add fnFilterUserFile() and fnFilterUserFileLength() {13} \uTasker\MODBUS This is a new folder containing dummy files in preparation for a new uTasker module Application - uTaskerV1.3 ========================= \Applications\uTaskerV1.3\usb_application.c 19.09.2008 File content made conditional on HOST support {1} 19.09.2008 Allow use without USE_MAINTENANCE {2} 14.12.2008 Add Luminary Micro Vendor ID {3} 03.01.2009 Add brackets to quieten GCC warning {4} 11.01.2009 Control callback returns BUFFER_CONSUMED_EXPECT_MORE when extra data is expected {5} 08.02.2009 Add official uTasker PID for Luminary project {6} 11.02.2009 Add official uTasker VID/PID for ATMEL SAM7X project {7} \Applications\uTaskerV1.3\NetworkIndicator.c 20.01.2009 Add debug message for link up/down {1} \Applications\uTaskerV1.3\TaskConfig.h 07.11.2008 Add MODBUS task 13.02.2009 Delay Ethernet task when using a PHY with very long power up delay {1} \Applications\uTaskerV1.3\modbus_app.c Dummy file for future MODBUS module \Applications\uTaskerV1.3\debug.c 08.10.2008 User POWER_UP macro for SAM7X code {9} 05.02.2009 Remove some serial interface code when DEMO_UART not defined {10} \Applications\uTaskerV1.3\webInterface.c 01.11.2008 Conditional call to enable project without parameters {16} 07.11.2008 cOnColor[] conditional on USE_MAINTENANCE {17} 30.01.2009 Add display of reset cause {18} \Applications\uTaskerV1.3\application.c 29.10.2008 Add general purpose timer test for M5223X {26} 30.10.2008 Add MODBUS initialisation {27} 07.12.2008 Modify SAM7X IRQ test to verify IRQ and port interrupts {28} 22.12.2008 Use ADC_SAMPLING_SPEED macro {29} 23.12.2008 Adapt ADC test for SAM7X {30} 21.01.2009 Add fnFilterUserFile() {31} 05.02.2009 Remove some serial interface code when DEMO_UART not defined {32} \Applications\uTaskerV1.3\application.h 30.10.2008 Add MODBUS (and version numbers incremented) {4} 20.01.2009 Add fnAddResetCause() {5} 03.02.2009 Add MODBUS parameter version number {6} 11.02.2009 Add fnInitModbus() {7} \Applications\uTaskerV1.3\app_hw_m5223x.h 17.09.2008 Automatically enable PIT1 when USB HOST mode is used {41} 25.10.2008 Adapted SST SPI FLASH configuration for final implementation {42} 29.10.2008 Add general purpose timer support {43} 31.10.2008 Add MODBUS configuration {44} 19.01.2009 Add Kirin3 configurations {45} \Applications\uTaskerV1.3\Simulator\ The VisualStudio project files have been updated to include latest settings and new manu items \Applications\uTaskerV1.3\Simulator\Simulation Files\ New directory with some simulation scripts The following project folders contain new Kirin3 targets: \Applications\uTaskerV1.3\CodeWarrior_M5223X \Applications\uTaskerV1.3\GNU_ColdFire Application - Boot loader ========================= \Applications\uTaskerBoot\config.h 07.01.2009 Change setting to distinguish between M5221x and M5222x {11} 17.01.2009 Add various LM3S derivatives {12} 17.01.2009 Add LM3S SPI FLASH support {13} 19.01.2009 Add M5225X support {14} 25.01.2009 Add SST SPI FLASH {15} \Applications\uTaskerBoot\uTaskerBootLoader.c 07.01.2009 Change setting to distinguish between M5221x and M5222x {11} 19.01.2009 Configuration for M5225x {12} \Applications\uTaskerBoot\Simulator - new VisualStudio simulator target for boot loader!! The following project folders contain new Kirin3 targets: \Applications\uTaskerBoot\CodeWarrior_M5223X \Applications\uTaskerBoot\GNU_M522XX - new GCC build for the boot loader!! Project folders =============== The following project folders contain new Kirin3 targets: \Applications\uTaskerV1.3\CodeWarrior_M5223X \Applications\uTaskerV1.3\GNU_ColdFire New web pages ============= \Applications\uTaskerV1.3\WebPages\WebPagesM5225X - new Kirin3 web pages \Applications\uTaskerV1.3\WebPages\WebPagesM5223X\5admin.htm web page includes new reset information Notes: \Applications\uTaskerV1.3\config_ref_m5223X_sp9.h was used to test the new Kirin3 configuration. This can be renamed to config.h to repeat the same setup. It also contains new defines which can be used with the latest version of the project. Before compiling the uTaskerV1.3 target using VisualStudio, first delete the file \Applications\uTaskerV1.3\Simulator\resource.h so that the new version in \WinSim\ is used.