CodeWarrior Development Tools Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CodeWarrior Development Tools Knowledge Base

Labels

Discussions

Sort by:
From your perspective, a CodeWarrior compiler is a single program. Internally, however, a CodeWarrior compiler has two parts: • The front-end, shared by all CodeWarrior compilers, translates human-readable source code into a platform-independent intermediate representation of the program being compiled • The back-end, customized to generate software for a target platform, converts the intermediate representation into object code containing data and native instructions for the target processor A CodeWarrior compiler coordinates its front-end and back-end to translate source code into object code in several steps: • Configure settings requested from the compiler to the CodeWarrior IDE or passed to the linker from the command-line • Translate human-readable source code into an intermediate representation • Optionally output symbolic debugging information • Optimize the intermediate representation • Convert the intermediate representation to native object code • Optimize the native object code • Output the native, optimized object code   A linker combines and arranges the object code in libraries and object code generated by compilers and assemblers into a single file or image, ready to execute on the target platform. The CodeWarrior linker builds an executable image in several steps: • Configure settings requested from the linker to the CodeWarrior IDE or passed to the linker from the command-line • Read settings from a linker control file • Read object code • Search for and ignore unused objects (“deadstripping”) • Build and output the executable file • Optionally output a map file   You might think these are real hard to cambine and put together to get something to work. If you do think that, it's easier than it looks! I found this reference manual at Freescale web page describing how to use the CodeWarrior compiler and linker tools to build software.   As a little introduction, let me explain that CodeWarrior build tools are programs that translate source code into object code then organize that object code to create a program that is ready to execute; CodeWarrior often run on a different platform than the programs they generate, meaning, not the host platform but the target platform. The linker now comes into our lives to pull our code off! Great isn't it? Come on, take a look at it! CodeWarrior build Tools reference
View full article
If you would like to migrate a project which is created by classic CW to eclipse CW, this file illustrates one of the ways to import PE beans to eclipse IDE manually. Test environment: 56F8037 in CW for DSC V8.3, CW for MCU V10.3, CW for MCU V10.4.
View full article
CodeWarrior Development Studio is a complete integrated Development Environment (IDE) that provides a highly visual and automated framework to accelerate the development of the most complex embedded applications.   I now present you a manual that describes the CodeWarrior IDE and debugger features that are common across all the CodeWarrior products, in which you can find many interesting things for people who's just starting to break down CodeWarrior great features.   Within the overview of this manual you will also find: • Release Notes • Documentation Structure • Manual Conventions • CodeWarrior IDE Overview   Download CodeWarrior and get to see the Reference Manual right away!  
View full article
The CodeWarrior  Development Studio provides a common interface for developing, debugging, and analyzing your applications. The project-oriented Workbench window provides numerous perspectives containing views, editors, and controls that appear in menus and tool bars. After creating a project, build your application, define a launch configuration, and then wait for data collection and data display.   The StarCore Linker generates an executable file by combining the object files and libraries specified in your project. Using a linker command file (LCF), you can instruct the linker to store portions of your executable in different areas of memory. The linker relocates and binds symbols to addresses according to the directives in your LCF.   The StarCore linker supports the SC100 and SC3000 architectures, and all Freescale devices based on these architectures, including the SC140 and SC3400 and its variants.   The highlights of the linking process are:      1. Build a map of available memory according to the .memory and .reserve directives defined in the linker command file.      2. Read the input object files and libraries. Combine like-named sections, build the global symbol table, and resolve undefined references.      3. Strip data never used; strip the code of functions never called.      4. Place segments in memory, according to .firstfit, .org, and .segment directives. Place all absolute sections before placing relocatable sections. If any sections are left over after processing the segment directives, place those remaining sections in their own segments on a first-fit basis.      5. Generate any LoadAddr_ symbols for overlays. Check each module’s symbol table to ensure that there are no more undefined references.      6. Process the relocations to resolve external reference values.      7. Write the executable output file.   This and many more features are now updated in the SC100 Linker User Guide, take a look at it and start developing with CodeWarrior!
View full article
Recently we helped a customer resolve a question related with “asm_enhance”command line option usage. It’s strange there is no documentation of this knowledge in CodeWarrior help manual. After many discussions with development team, it gets clear to me. So I wrote an article on this topic for sharing.   “ -asm_enhance” option is added in ColdWarrior10 /CodeWarrior11 “compiler setting”, “General”, “Other Flags”:   "-asm_enhance" command line option can be used for two distinct aspects: Enabling inline assembly data optimizations Enabling stack effect computation through inline assembly code. These two aspects were all gathered under the same option because they both are referring to enhanced inline assembly – i.e. inline assembly code that gets handled almost as C code). Thank for the great support from Bogdan Ditu . For more information on -asm_enhance, see attached document.
View full article
The CodeWarrior Development Studio provides a common interface for developing, debugging, and analyzing your applications. The project-oriented Workbench window provides numerous perspectives containing views, editors, and controls that appear in menus and tool bars. After creating a project, build your application, define a launch configuration, and then wait for data collection and data display.   CodeWarrior Profiling and Analysis Tools provide visibility into an application as it runs on the simulator and hardware. This visibility can help you understand how your application runs, as well as identify operational problems.   The CodeWarrior Profiling and Analysis tool set to develop software for Freescale StarCore DSP processors make it easy to collect the data. The following are the basic features of this tool:   • The basic setup can be done using the Trace and Profile tab in the Debug launch configuration • The advanced setup can be done using the Advanced Settings panel; complex configurations can be defined for the Debug and Profiling Unit (DPU), Virtual Trace buffer (VTB), and On Chip Emulator (OCE) • Data files can be shared between teams • Fast trace collection through High Speed Simultaneous Transfer (HSST) and SmartDSP HEAT (Host Exchange over Asynchronous Transfer) • Displays trace buffer content on Attach to Process • and many  m a n y   more! Get the updates of this guide here!
View full article
Detailed analysis report, done by Micetek (Freescale subcontractor that manufactures USB TAPs), following incidents where Rev F USB TAP/COP units were failing.
View full article
CodeWarrior it's constantly updating and optimizing the way everything gets together to pull great things off. In this occasion I found some features updated within Processor Expert's Service Pack, and more specifically, for MCU v10.2.   The update is now available on Freescale's webpage, and the preview shows a list of derivatives that support Processor Expert, such as:   F84441 MC56F84442 MC56F84451 MC56F84452 MC56F84462 MC56F84540 MC56F84543 MC56F84550   And many,  m a n y  more!   In order for this Service Pack to work well, you must count with an update of CodeWarrior for MCU v10.2, which can be also found on Freescale's webpage ready to be downloaded.   Give it a try already! Updates here!
View full article
In some of the post I've talked about the many advantages that the combination CodeWarrior-Eclipse can bring up. One of those was the installation on service Packs in a friendlier way than when it's done with the classical view of CodeWarrior. That is why I introduce today the Installing Service Pack for CodeWarrior Tools Quick Start   This Quick Start, in case you are choosing the hard and equally great way to do your own thing with CodeWarrior, it explains how to install a service pack or an update for your classical version of the software running on the Windows platform.   It shows step by step how to do this manually and correctly, preventing you from having an IDE full of stuff you don't even want to use.
View full article
The SmartDSP Operating System (OS) is a Real Time Operating System (RTOS) that, in addition to providing drivers for the MSBA8100 processor, also runs on the following StarCore DSP-based processors: • PSC9131 • MSC815x/MSC825x • MSC814x • MSC812x • MSC8101/3 • MSC711x   The StarCore CodeWarrior (CW) Development Studio includes SmartDSP OS royalty-free source code. Further, SmartDSP OS has a high-level Application Programming Interface (API) that lets users develop integrated applications for StarCore processors.   In SmartDSP OS, most functions are written in ANSI C. However, when needed, Assembly optimizes time-critical functions by maximizing StarCore’s multiple execution units.   Other SmartDSP OS features include the following: • small memory footprint ideal for high-speed StarCore processors • priority-based event-driven scheduling (triggered by user applications or HW) • dual-stack pointer for exception and task handling • inter-task communication using queues, semaphores, and events.   And this is just the beginning of what you can do with SmartDSP OS, get updated here and start coding with DebuggerGuys!
View full article
The following is a list of our documents in regards to developing MCU on CodeWarrior platform.   If you need to log an issue in Case System,  or obtain a license for your CodeWarrior product, please refer to:  How to log an issue in Case system instead CRM (Service request - not used anymore)?   1.  CodeWarrior Common Feature   1.1 Reversion Release History CodeWarrior for MCU V10.6 Update 3.0.0 available New CodeWarrior for MCU v10.6.4 available CodeWarrior v10.6.4 Update 5 available   1.2 IDE and Installation How install (or check availability) patch and update under Eclipse ? How to solve “IDE failed to start …” message - Classic version on Windows OS (most of the time 64 bit as Win 7 or Win 8.1)   1.3 Project Management Convert a Processor Expert project from linked mode to standalone mode   1.4 Build Tool Chain (Assembler, Compiler, Linker) Linking and compiling with CodeWarrior Classic - How to use dashboard (Jenkins) to build a CodeWarrior project?   2. CodeWarrior for Kinetis   2.1 Board Bring-up  How to work KV10 with CW10.5   2.2 RTOS  MQX applications...new at this, too?~   2.3 Build Tool Chain (Assembler, Compiler, Linker) How to fill unused memory for CW for 8/16bit and kinetis Gnu. Interrupt Vector Redirection Method in Kinetis Relocating Code and Data Using the CW GCC Linker File for Kinetis Relocate Code (configuration linker files) - CW10.6 - Kinetis Extended inline assembly with GCC in CodeWarrior   2.4 Programmer and Debugger Preserve Memory Ranges In CodeWarrior v10.6   3. CodeWarrior for MPC5xxx   3.1 Build Tool Chain (Assembler, Compiler, Linker) Generate CRC value for MPC56xx in CodeWarrior for MCU v10.6.4   3.2 Programmer and Debugger Debug code using CodeWarrior 10.5 Flash two .elf files using CodeWarrior 10.6   4. CodeWarrior for DSC   4.1 Project Management How to migrate PE project from Classic CodeWarrior to Eclipse CodeWarrior How to solve PE bean migration for 56F84xxx in CodeWarrior V10.3   4.2 Build Tool Chain (Assembler, Compiler, Linker) To use 56F800EX new additional 32bit multiplication instructions on CodeWarrior V10.3/V10.5/V10.6.   4.3 Programmer and Debugger Workaround for programming 56F8323 in CodeWarrior v10.6 debugger   4.4 External Tool Integration Integrate Quick Start 2.6 for DSC with CodeWarrior 10.6.4 Using TWR-56f8400 board with FreeMASTER via USBTAP interface   5. CodeWarrior for Coldfire   5.1 Build Tool Chain (Assembler, Compiler, Linker) Relocating code with CodeWarrior CodeWarrior and ColdFire get optimized!   5.2 Programmer and Debugger Problem with Multilink Rev C  - not running after MCU V10.6 Update3 installed & CW for MCF V7.2   6. CodeWarrior for 8/16bit MCU   6.1 IDE and Installation CW MCU v10.5 for 8bit MCU Banked Memory Patch Installation   6.2 Build Tool Chain (Assembler, Compiler, Linker) Classic - Is it possible (How) to use HCS12 on Eclipse? How to fill unused memory for CW for 8/16bit and kinetis Gnu.
View full article
Processor Expert offers static code which allows choosing standalone mode and linked mode for each project. You can select either linked mode or standalone mode for static code during project creation. But what if you want to change mode for a created project? With the below steps you can learn how to convert a project from linked mode to standalone mode in CodeWarrior v10.6.   1. From the original linked mode PEx project, remove the “static_code” folder. 2. Close the project in CW10.6. Navigate to the top folder of the project, then open the ProcessorExpert.pe file using text editor software, for example, windows notepad. 3. Seach the key world “LINKED” in the ProcessorExpert.pe file. Replace the line <ProjectStaticFilesGenerationMode>LINKED</ProjectStaticFilesGenerationMode> with <ProjectStaticFilesGenerationMode>STANDALONE</ProjectStaticFilesGenerationMode>   4. Remove the .ProcessorExpert.g_c file and .ProcessorExpert.g_x file under the top folder of the project. 5. Then re-open the project in CW10.6. Click “Generate PEx Code” button from Pex components view.   You will see a “static files track changes” dialog pop up. Click OK, PEx will create static files under the project folder. 6. You will see that IO_Map, PDD and System files have been generated under Static_Code folder.   Unfortunately PEx doesn’t generate Peripherals files automatically. So you need copy the Peripherals files to the project manually. For dsc 56F82748 MCU in this case, the peripherals static files are located under the “C:\Freescale\CW MCU v10.6\MCU\ProcessorExpert\lib\56800\pdd2\MC56F82748VLH\perihperals” folder on my machine. You can simply drag and drop the folder to the project.     Then select “Copy files and folders” option and click “OK”.     7. Now you can see that the static files are placed under the project folder now. You can verify this by checking if there is an arrow mark on the static file icons. Alternatively, you can also check by right clicking on a static file and then click “Show In Windows Explorer” item from the context menu. The stitic files should be located under the project folder.   With above tricks, you can also convert a project from standalone mode to linked mode easily.
View full article
The purpose of this document is to help understand and create Flash configuration files for the Flash Programming interface.   A Flash Configuration file is an XML format file. Its file extension is always “XML”. It is possible to open and edit this file with any text editor. This file is a “handmade” file and is not created automatically with any tool.   Some microcontrollers can address the flash in multiple ways ─ banked and paged. Therefore, multiple overlapping devices can be defined for one microcontroller. Each of them is defined in its own Flash Configuration XML file.   The *.XML files contain microcontroller- dependent parameters and applets to handle internal flash modules. Applets are small programs which are loaded into the on-chip RAM. They will run at well-defined speed (depending on the microcontroller clock speed) and can collect data about the state of the memory modules, can control the memory modules (including erasing and programming). There are three applets for each flash module: http://pcdn.500px.net/4130499/a271bcea97e80e8d223b3338b27c9f116cdd98a3/3.jpg• INFO applet ─ Collects information about the module. • CONTROL applet ─ Controls and erases the module. • PROGRAM applet ─ Programs the module.   Parameters are passed to these applets at fixed memory addresses, which are relative to the workspace. *.XML files are written by Freescale and are delivered within the installation.   Keep learning and pull off your own applet with this Application Note!
View full article
Taking TWR-56F8400 as an example, this document shows how to create a project in CodeWarrior v10.6 and get its global data visualization in FreeMaster through USBTAP. This example shows three global variables (test8, test16, test32) in ‘Variable Watch Window’ of FreeMASTER , displays the changing curve of test8 in scope, and displays test16 as curve in Recorder.   
View full article
Actually, this document here shows the quick starts for any freescale's V10, but specifications are depicted for V10.2 Microcontrollers. This quick tart also explains how to install the CodeWarrior Development Studio for Microcontrollers V10.x software (totally necessary) on Windows and Linux operating systems, and how to use the CodeWarrior IDE to create, build, and debug a project.   It also includes special cases, like how would it be done for Special product Editions, hardware and software specifications and further notes that will make the "creating something new" process easier! Not only a challenge, but a fun one!   Want to get it started already? QUICK STARTS    
View full article
Scanboard is a tcl proc within the IDcode.tcl script that can be used as a quick sanity check for basic JTAG connectivity. This routine will return the JTAG ID codes for devices on the scanchain and if they are known Freescale devices (at the time the script was last updated) the core indexes will also be displayed for CodeWarrior project configuration. IDcode.tcl is included automatically during the CodeWarrior installation but updates may be available.   This script is executed within the CodeWarrior Connection Server (CCS) and not the CodeWarrior IDE itself where ccs is the conduit that the CodeWarrior Debugger talks to the TAP hardware. CCS can also be used standalone but this is not a supported mode and the use of it is not documented.   On a windows machine start ccs via the Start menu for the CodeWarrior installation you wish to use.   i.e. Start → All Programs → Freescale CodeWarrior →CW for Power Architecture v10.2.1→ CodeWarrior Connection Server   CCS starts iconized in the task bar so double click on the icon to display the ccs console window   On a Linux machine start ccs manually via the ccs executable location within the CodeWarrior installation directory ($CW_INSTALLDIR)/PA/ccs/bin/ccs   i.e. /usr/local/Freescale/CodeWarrior_PA_10.2.1/PA/ccs/bin/ccs Once the CCS console is available the IDcode.tcl file must be brought into the tcl environment via the source command. Beware that on a Linux system the file name is case sensitive.   % source IDcode.tcl   The script will automatically query the host system to determine if there are any available CodeWarriorTAP or USBTAP devices connected via USB which can be used for a remote connection. Specify the connection option that is attached to the target system. For example to configure the connection to be a CodeWarriorTAP on the network select 2 and then enter the IP address or the CodeWarriorTAP name if it is in the host table or can be found within the DNS tables.   It is also possible to predefine custom remote connections via the DefinedCCSConnections.tcl located within the …/ccs/bin directory as well. See this file for details. Once the remote connection has been specified the script will the automatically execute the scanboard proc and attempt to read back the IDcode(s) available on the JTAG scanchain.     In this example the CodeWarriorTAP is connected to a system that has a T4240 processor and displays the IDcode for this device. If there had been multiple processors available on the scan chain each device would have been identified and displayed.
View full article
The StarCore assembly language tools consist of an assembler, a linker, an archiver, and several utilities. With the simulator user guide provided for Freescale's DSP (Digital Signal Processors), it's possible for us CodeWarrior users to know which are the software simulation models released with CW Development Studio for StarCore Architecture.   This guide contains a list of simulator models supported by DSP, • Instruction Set Simulators (ISS) • Performance Accurate Simulators (PACC) • Instruction-accurate ISS • Unified simulators   It also contains the requirements needed to launch the simulator system, and of course, all the instructions to pull the simulation off! Take a look at it, it's great the amount of things you can do with this! CodeWarrior Development Studio for StarCore DSP Architectures Simulator User Guide
View full article
CodeWarrior MCU 10.5 for Kinetis KV10   To setup your CodeWarrior development environment for Kinetis KV10 applications. Read the documents attached for download and installation instructions. Download and install the CW MCU v10.5  product, patch and service pack in the order specified:   Evaluation: CodeWarrior for Microcontrollers 10.5 (Eclipse, Offline) CW MCU v10.5 PEx MQX Lite Update 1.0.1 CW MCU v10.5 Kinetis KV10 75MHz Service Pack   the updates were just posted on the following URLs: http://www.freescale.com/webapp/sps/site/overview.jsp?code=CW_UPDATES_MCU_10_5
View full article