========================================= CodeWarrior Development Studio for ColdFire Architectures, Linux Platform Edition, Version 2.5 ========================================= We're pleased to announce the release of CodeWarrior Development Studio for ColdFire Architectures, Linux Platform Edition, Version 2.5 which now supports the M5253DEMO, M52277EVB, M5373EVB and M54451EVB devices. These release notes give the latest information concerning the product. However, for a complete and detailed list of new features and other important information, please refer to the "Targeting ColdFire Linux.pdf" manual and the information available in the "Release_Notes" folder. ========================================= New Feature Highlights ========================================= - Works on Linux host (Red Hat 9, Red Hat Enterprise 3, RedHat Enterprise 4, RedHat Enterprise 5). - Adds support for MCF5272, MCF5282, MCF5475, MCF5485, MCF5474, MCF5484, MCF5208, MCF5329, MCF5253, MCF54455, MCF52277, MCF5373, MCF54451 ColdFire micocontrollers/microprocessors. - Supports application level debugging with the following tools: - gcc 4.1, 4.2, 4.3 for uClinux with DWARF2 debug format on MCF5253, MCF5329, MCF52277, MCF5373 and MCF5208 - gcc 4.1, 4.2, 4.3 for embedded linux with DWARF2 debug format on MCF54455, MCF5474, MCF5475, MCF5484 and MCF5485 - Supports kernel, boot loader and module source level debugging with the following connnection devices: - Abatron BDI-2000/BDI-1000 HTI - P&E USB ColdFire Multilink Cable - P&E Cyclone MAX TCP/IP and USB - Freescale USB TAP - Freescale Ethernet TAP - BDI-2000 and BDI-1000 devices are supported for M5282EVB board. - BDI-1000 is supported for M5272C3 board, BDI-2000 needs a ColdFire Adapter p/n 90080, to work with M5272C3 board. - BDI-2000 is supported for M5475EVB, M5474LITE, M5485EVB, M5484LITE, M54455EVB, M5208EVB and M5329EVB boards with the BSP provided. - uCLinux kernel and module debugging is supported on M5272C3, M5282EVB, M5208EVB, M5329EVB, M5253EVB, M5253DEMO, M5373EVB and M52277EVB boards. - Linux kernel and module debugging is supported on M5475EVB, M5474LITE, M5485EVB, M5484LITE and M54455EVB boards. - Boot loader (u-boot) debugging is supported on M5329EVB, M5253EVB, M5253DEMO, M5373EVB, M52277EVB, M5475EVB, M5485EVB and M54455EVB boards. - Supports flash programming of the flash chips present on M5272C3, M5282EVB, M5208EVB, M5329EVB, M5253EVB, M5253DEMO, M5373EVB, M52277EVB, M5475EVB, M5485EVB, M54451EVB and M54455EVB boards and the internal flash of the MCF5282 device. - Supports Stationery Wizard. - The product was tested with the following BSPs: - m5253demo-20080918-ltib for M5253DEMO with kernel 2.6.23 and gcc 4.3 - m5547x_8x_evb_20080811-final-ltib for M547x_8xEVB with kernel 2.6.25 and gcc 4.3 - m5227xevb-20081212-ltib - m53xxevb-20081215-ltib - Contains a local bundle of the build tools which can be used without PCS or LTIB installed on the host machine. - New IDE 5.9 - More powerful Command Window (see View -> Command Window) - External Build Wizard to assist with driving makefiles - Code Formatting - Go to next/previous function - Word wrap when printing - Support for source-relative #includes - Find inside/outside of comments - Improved language parser speed and feedback - System Browser - Web licensing ========================================= Feature Limitations ========================================= - Shared library debugging is NOT supported with uClinux based BSPs/boards since there is no MMU on the ColdFire microcontrollers. - In order to use the kernel/module debugging feature, the target board must have the original u-Boot bootloader. The BDI-2000 device must be configured with "stop" mode to support the kernel/module debugging feature, and no target initialization file should be used. For kernel debugging with P&E USB ColdFire MultiLink Cable, P&E Cyclone MAX TCP/IP or USB and CCS based connections (Freescale USB Tap and Freescale Ethernet Tap), use "StartBootloader.cfg" as target initialization file. If no bootloader is present, the .cfg init file for the corresponding board must be used from the ColdFire_Support/Initialization_Files in order to have the correct memory mapping for the kernel. - The examples and CodeWarriorTRK projects will use the default toolchain when compiled. In order to change the default toolchain, edit the [default] section in gcc_paths.cfg from CodeWarrior installation folder, then restart CodeWarrior, or use absolute paths to indicate the toolchain. ========================================= Known Issues and FAQ ========================================= MTWX12624 [Kernel Debug] Unload symbolics does not remove module from the symbolics window in the uClinux kernel on the target board. MTWX18654 [Kernel Module Debug] The symbolics for a module are not loaded if the project corresponding to that module is opened and the remote connection is not the same as the one from the kernel project. MTWX21361 [Kernel Debug] Sometimes "Step-out" is not working on 5329 with P&E USB. Workaround: set a breakpoint in the calling function. MTWX27324 [Application Debug] pthread_create fails on RedStripe. MTWX32966 [Application Debug] Unable to put breakpoints on some lines in .h files MTWX33702 [CCS] After doing a reset_to_debug, reading from 0x0 and 0x4 with ETAP does not return proper values. In order for the IDE to properly start, the following packages should be installed: - OpenMotif and OpenMotifDevel version 2.3.1 that you can download from ftp://ftp.ics.com/openmotif/2.3/2.3.1/ - Gnome HTTP Client Library that you can download from http://ftp.gnome.org/pub/gnome/sources/libghttp/1.0/ In order to use both serial devices on the M52277EVB board (one standard and one USB to UART bridge) please install the Silicon Labs CP210x USB to UART bridge from here: - https://www.silabs.com/Support%20Documents/Software/CP210x-3.0.0.tar.gz - Also, set the following jumpers: - JP13 and JP14 - Installed to U1RXD and U1TXD. - J5 and J6 - Should not be installed to U1RTS and U1CTS. - J15 and J18 - Installed to RS1-TXD and RS1-RXD. - J16 and J20 - Should not be installed to RS1-CTS and RS1-RTS. The M55451EVB board has one USB to UART connection that could be used as a serial port. The USB to UART is created using the MCF52211. In order to enable the J3 connector as a COM port you have to: - attach the P&E dongle to the MCU BDM (U4_BDM) connector - power up the board - open CFFlasher - select M52211EVB and the proper connection - flash the mcf52211_uart_to_usb.s19 You will find this firmware under the CodeWarrior folder, in ThirdPartyTools/CORE_v4/M54451EVB_UART_BRIDGE ** General issues ** ** Known Problems in Cross tools ** ** Frequently Asked Questions ** 1. Q: How well is memory protected in the linux kernel used for MCF5272, MCF5282, MCF5208, MCF5329, MCF5253 (MMU-less ColdFire cores)? A: The uClinux doesn't contain the memory protection mechanism in ptrace system call. Therefore, the CodeWarriorTRK application will crash when attempting to access a bad memory address. To workaround this issue read the memory information stored in the ring buffer (which can be read through dmesg) when the kernel starts up. If the content in the ring buffer is different/erased, enter the max RAM memory address manually. For example: if the ColdFire board has got only 4M RAM, please launch it as: AppTrk_rel [:tcpport | serialdevice | '|'] 0x400000 or AppTrk_rel [:tcpport | serialdevice | '|'] 4194304 The highest RAM address can be obtained by typing in the bootloader (dBug) console the "mmap" command and consulting the displayed memory map under the SDRAM section. It is recommended to launch AppTRK on uClinux as a user without root privileges. 2. Q: What should I do when the available memory is less than required when I want to debug an application a second time? A: When debugging an application, the free memory space (which can be get via "cat /proc/meminfo") will continue to decrease. This is not caused by memory leak but Linux-OS redistributing buffers/cache. Because the uClinux running ColdFire boards (MCF5272, MCF5282, MCF5208, MCF5329) do not have mmu, while the "free" memory decreasing, the uClinux kernel may not be able to allocate memory for another debug session of new application and report the following error: ========================================= Buffer memory: 208kB Cache memory: 4032kB Free pages: 448kB (0kB HighMem) Zone:DMA freepages: 0kB min: 0kB low: 0kB high: 0kB Zone:Normal freepages: 448kB min: 80kB low: 160kB high: 240kB Zone:HighMem freepages: 0kB min: 0kB low: 0kB high: 0kB ( Active: 708, inactive: 352, free: 112 ) = 0kB) 0*4kB 0*8kB 0*16kB 0*32kB 1*64kB 1*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB = 448kB) = 0kB) Unable to allocate RAM for process text/data, errno 12 ========================================= This problem often happens with large application downloads (usually C++ applications). As a workaround for this problem, please RESTART the board. 3. Q: How can I build a kernel 2.6 module for MCF54xx? A: Use the CodeWarrior project wizard. 4. Q: Are there any special build requirements for the kernel to allow kernel module debug? A: Yes. In order to ensure proper kernel module debugging, the kernel must be compiled with the KALLSYMS config option. 5. Q: How can I view assembly symbols and sources and set breakpoints at the kernel entry point? A: Make sure that you compile the kernel with assembly debug info by adding the following flags: AFLAGS+=-Wa,-gdwarf2 ========================================= Questions or Comments? You can contact us via email, newsgroups, voice, fax or the CodeWarrior website. For details on contacting Freescale, visit http://www.freescale.com/codewarrior, or refer to the front of any CodeWarrior manual. For questions, bug reports, and suggestions, please use the email report forms in the Release Notes folder. For the latest news, offers, and updates for CodeWarrior, browse Freescale Worldwide. ========================================= Freescale, the Freescale logo, and CodeWarrior are registered trademarks of Freescale Inc. All other trademarks are hereby recognized as the property of their respective owners.