***************************************************************** Dynamic C for Rabbit Release Notes ***************************************************************** ***************************************************************** VERSION 10.70 NEW FEATURES - New XBee/ZigBee driver. A new XBee/ZigBee driver and standard sample programs are provided. See Samples\XBee\ReadMe.txt and the latest version of "Dynamic C - An Introduction To ZigBee" for more information. - MiniCore RCM6600W and RCM6650W support. The MiniCore RCM6600W family supports both WiFi (on-core) and Ethernet (off-core) network interfaces. The MiniCore RCM6600W has a 1 MB serial boot flash while the the RCM6650W has a 4MB serial boot flash. Using the API from sflash.lib, on the RCM6650W up to 3MB is available for data storage. See sample programs in Samples\RCM6600W. - Custom definition of ORG_PLACE_USERDATA_IN_RAMx allows an application to relocate the optional user data memory org into a specified RAM device. To specify the user data memory org's RAM device, add: ORG_PLACE_USERDATA_IN_RAMx = RAMx into Dynamic C's Project Options' Defines tab, where integer RAMx is one of 1, 2, or 3, as appropriate to the application's Rabbit board type and compile mode. If the user specifies an in-range but non-existent RAMx device then a rather cryptic error message will result. For example, specifying that the user data buffer should be relocated into RAM2 when compiling to an RCM4000 results in the following error message: "userdata_buff: This reference has no corresponding definition." For applications which utilize the optional user data memory org, Dynamic C's Project Options' Defines tab is a convenient spot to set the required size. For example, adding: _SOS_USERDATA = 0x1000 specifies a 0x1000 byte (4KB) user data memory org. BUG FIXES Compiler Bugs GUI Bugs Library Bugs - Defect #34603. DMA functionality in SERLINK.LIB is updated to support Rabbit 5000 and 6000 CPUs. - Defect #37681. TAT11R and TAT12R internal register addresses are now conditionally defined in SYSIODEFS.LIB for Rabbit 6000 CPUs. - Defect #38379. DMA functionality in RS232.LIB is updated to support Rabbit 5000 and 6000 CPUs. - Defect #38777. When uC/OS-II is used, SERLINK.LIB's ISR now prevents task switching while interrupt processing continues with reenabled interrupts. - Defect #39302. In modbus_master.lib, custom _initMBMpacket() functionality is restored for TCP-only Modbus master boards. A library function stub is now provided, along with function help. - Defect #39461. In DMAETH100.LIB's internal *._havelink() function, errant restart of autonegotiation is prevented when autonegotiation is disabled. - Defect #39750. All memory orgs located in a battery-backable SRAM are now properly identified in memory_layout.lib as being BB, with regard to both xalloc usage and in the program's MAP file. In particular, the RCM6750/60's battery-backable external SRAM's memory org is now marked as BB. - Defect #39751. On RCM56xxW boards, the FAT file system buffers have been fixed to the top of the battery-backable RAM org. This prevents other BB memory orgs, such as the optional user data org, from changing the location of the FAT buffers. - Defect #40496. In UCOS2.LIB, a number of global variables were declared inside a module header, causing data storage generation at "#use ucos2.lib" library scan time. - Defect #41149. The informational error_message() and _error_message() functions in errors.lib have been fixed to prevent a potential hang problem when an error number is specified for which no error message exists. - Defect #41653. The ROOT_SIZE_4K macro value must be unsigned, else values greater than 7 will cause a signed (negative) memory org size problem. The check in StdBios.c now enforces unsigned ROOT_SIZE_4K values greater than 7. OTHER FUNCTIONAL CHANGES - Dynamic C's original XBee support libraries (xbee_api.lib, etc.) and samples are obsolete and are removed from the Dynamic C 10.70 release. Users are encouraged to port legacy XBee applications to the new XBee/ZigBee driver, however, where porting is not practical the application should remain on Dynamic C 10.66 or prior version. - The DMAETH100_AUTO_NEG_TIMEOUT macro is deprecated. Rabbit 5000 or 6000 built-in Ethernet applications which use a custom definition for this macro should instead define one or both of the DMAETH100_LINKFAIL_TIMEOUT or DMAETH100_LINKDOWN_TIMEOUT macros. The *LINKFAIL* macro value determines the PHY powered- up time out for link-failed detection. The *LINKDOWN* macro value determines the PHY powered-down idle time-out for no- connect Ethernet current reduction. The default value for each of the *LINK* macros is 4000 milliseconds, which results in a 50% powered-up vs. powered-down duty cycle when e.g. Ethernet is not connected. *****************************************************************