CodeWarrior Development Studio for Power Architecture Netcomm
CodeWarrior Development Studio for Power Architecture Netcomm
CodeWarrior Development Studio for Power Architecture Netcomm
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
Release Note<br />
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong><br />
<strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
Table of Contents<br />
1 About This Release ................................................................................................. 2<br />
1.1 Version In<strong>for</strong>mation ........................................................................................... 2<br />
1.2 Getting Help ...................................................................................................... 2<br />
1.2.1 Documentation ........................................................................................... 2<br />
1.3 New in this Release .......................................................................................... 4<br />
1.3.1 Product Level Features .............................................................................. 4<br />
1.3.2 Documentation ........................................................................................... 4<br />
1.3.3 Debugger ................................................................................................... 4<br />
1.3.4 Software Analysis ...................................................................................... 5<br />
2 Important Usage Notes and Known Limitations .................................................... 5<br />
2.1 General ............................................................................................................. 5<br />
2.1.1 In the event of a Crash of <strong>CodeWarrior</strong> in Linux ......................................... 5<br />
2.1.2 Using <strong>CodeWarrior</strong> on 64-bit Linux Hosts .................................................. 6<br />
2.2 Debugger .......................................................................................................... 6<br />
2.2.1 Trace/Profiling Effects on Debugging Function ........................................... 6<br />
2.2.2 Supported GTAP connections: ................................................................... 6<br />
2.2.3 Aurora initialization ..................................................................................... 6<br />
2.2.4 Import Elf Wizard ....................................................................................... 6<br />
2.2.5 Cache support P2020 ................................................................................ 6<br />
2.2.6 Cache support P4080 ................................................................................ 7<br />
2.2.7 Multi-core reset .......................................................................................... 7<br />
2.3 Software Analysis ............................................................................................. 7<br />
2.3.1 General ...................................................................................................... 7<br />
2.3.2 Trace Collection ......................................................................................... 7<br />
2.3.3 Per<strong>for</strong>mance Analysis Tools ....................................................................... 8<br />
3 System Requirements ............................................................................................. 8<br />
4 Who Should Use this Release? .............................................................................. 8<br />
5 Who Should NOT Use this Release? ...................................................................... 8<br />
6 Errata ........................................................................................................................ 9<br />
6.1 Known Errata in this Release ............................................................................ 9<br />
Freescale Confidential Proprietary<br />
1
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
1 About This Release<br />
The 10.0.1 release of <strong>CodeWarrior</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Development</strong> <strong>Studio</strong> is the first release<br />
that is generally available.<br />
1.1 Version In<strong>for</strong>mation<br />
This release note provides important in<strong>for</strong>mation <strong>for</strong> users of <strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong><br />
<strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong>, 10.0.1. This product targets the P4080 (rev’s 1 and 2), P4040,<br />
P2020 and P2010 processors. You are encouraged to read this document to become familiar with<br />
this release’s supported targets, new features, errata with workarounds, and other useful<br />
in<strong>for</strong>mation.<br />
1.2 Getting Help<br />
1.2.1 Documentation<br />
Please be aware of the abundant documentation available <strong>for</strong> <strong>CodeWarrior</strong> <strong>for</strong> <strong>Power</strong><br />
<strong>Architecture</strong>.<br />
1.2.1.1 Quick Starts<br />
<strong>CodeWarrior</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> Processors<br />
Explains how to install <strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> and how to create and debug a<br />
simple project that targets a simulator.<br />
Targeting the P4080DS Board<br />
Explains how to set up the P4080DS board, install <strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong>, and<br />
use this software to create, build, and debug a simple P4080DS project.<br />
Debugging a Linux Application<br />
Explains how to configure your system <strong>for</strong> Linux application debugging, how to create a<br />
project that generates a Linux application, and how to debug this application.<br />
Debugging U-Boot<br />
Explains how to configure and build U-Boot on a Linux machine, how to configure Simics to<br />
use the new U-Boot image, and how to use the <strong>CodeWarrior</strong> tools to debug this image.<br />
Debugging Under the Hypervisor<br />
Explains how to configure and build hypervisor support on a Linux machine and how to<br />
debug bareboard applications under the hypervisor.<br />
Debugging the Linux Kernel Under the Hypervisor<br />
Explains how to configure and build hypervisor support on a Linux machine and how to<br />
debug the Linux kernel under the hypervisor.<br />
Using Ethernet TAP Probe<br />
Explains how to set up and use the Ethernet TAP probe.<br />
<strong>CodeWarrior</strong> IDE - Quick Reference Card<br />
Lists keyboard shortcuts and defines the purpose of major <strong>CodeWarrior</strong> IDE user interface<br />
elements.<br />
Freescale Confidential Proprietary<br />
2
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
1.2.1.2 Cheat Sheets<br />
Making C/C++ the IDE's Default Perspective<br />
Shows you how to make the C/C++ perspective the default IDE perspective.<br />
Using the Flash Programmer<br />
Shows you how to use the flash programmer to manipulate flash memory.<br />
Importing Resources Using the Import Wizard<br />
A set of cheat sheets that shows you how to import various resources into the IDE:<br />
o Importing Archive Files<br />
o Importing Breakpoints<br />
o Importing Classic <strong>CodeWarrior</strong> Projects<br />
o Importing Existing Projects into Workspace<br />
o Importing Preferences<br />
o Importing Resources from Local File System<br />
o Importing Team Project Set<br />
Creating and Debugging a <strong>Power</strong> <strong>Architecture</strong> Project<br />
Shows you how to create and debug a <strong>Power</strong> <strong>Architecture</strong> project using the New Project wizard.<br />
Modifying Build Properties<br />
Guides you through the process of modifying build properties to better suit your needs.<br />
Burning U-Boot to Flash <strong>for</strong> P4080DS<br />
Guides you through the process of burning U-Boot to Flash <strong>for</strong> P4080DS.<br />
1.2.1.3 Further Help<br />
If you have questions, issues, or want to provide feedback, please use the Freescale online<br />
support web page. To use this page, follow these steps:<br />
1. In a web browser, go to http://www.freescale.com/TechSupport.<br />
Freescale’s Technical Support web page appears.<br />
2. On this page, click the Submit a service request online link.<br />
The New Service Request — Category/Topic page appears.<br />
3. From the Category dropdown menu, select Technical Request.<br />
4. From the Topic dropdown menu, select <strong>CodeWarrior</strong> (or other appropriate topic).<br />
5. Click Next.<br />
The New Service Request — SR Details page appears.<br />
6. In this page, enter the requested in<strong>for</strong>mation.<br />
At a minimum, enter in<strong>for</strong>mation in each field marked by an *.<br />
7. Click Submit.<br />
If you are already logged in, the Service Request Confirmation page appears. Go to<br />
the last step.<br />
If you are not already logged in, the Log-in page appears.<br />
8. If you are a registered member, login with your user name and password.<br />
The Service Request Confirmation page appears. Go to the last step.<br />
9. If you have not yet registered,<br />
Freescale Confidential Proprietary<br />
3
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
a. If you want to become registered member, click Register Now and complete the<br />
registration process.<br />
The Service Request Confirmation page appears.<br />
b. If you do not want to register, supply your contact in<strong>for</strong>mation in the I do not want<br />
to register - Provide contact in<strong>for</strong>mation <strong>for</strong>m and click Submit.<br />
10. Click Done.<br />
The Service Request Confirmation page appears.<br />
Your service request is submitted.<br />
1.3 New in this Release<br />
1.3.1 Product Level Features<br />
Improved Linux host support including<br />
Extensive testing on Ubuntu 9.10, 32-bit host<br />
Win 7, 32-bit tested<br />
1.3.2 Documentation<br />
1.3.2.1 Tracing and Profiling User Guide<br />
Added description <strong>for</strong> OceaN, EPU, RCPM, NXC Trace Profile configurations<br />
Added description <strong>for</strong> Hardware Tracepoints<br />
1.3.2.2 Application note, AN4212 – Using LTTng UST on P4080DS <strong>Development</strong> Board<br />
Explains how to enable LTTng UST in the P4080 Board Support Package (BSP).<br />
1.3.2.3 CheatSheets:<br />
Creating and Configuring Per<strong>for</strong>mance Analysis Project<br />
Shows how to create and configure a Per<strong>for</strong>mance Analysis project<br />
Creating, Debugging, Collecting, and Viewing Trace Data<br />
Shows how to create, debug, collect, and view trace data on the P4080/P4040 target<br />
1.3.2.4 <strong>CodeWarrior</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> Processors 10 Targeting Manual<br />
Explained the build settings in detail in a separate chapter<br />
Updates to the Working with Projects chapter based on the new targets introduced with this<br />
release<br />
Made updates to the import wizard both in targeting manual and quick starts<br />
Updated Quick Starts<br />
1.3.3 Debugger<br />
P2010 DS bare-board and Linux support<br />
P2010 RDB bare-board and Linux support<br />
Freescale Confidential Proprietary<br />
4
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
P4040: Linux kernel and Hypervisor debug support<br />
Support <strong>for</strong> P4080/P4040 Linux BSP release 2.2<br />
Support <strong>for</strong> P4080/ P4040 Linux BSP Fail-over release<br />
Multi-board support (Limitation: no support <strong>for</strong> P4080 due to MTWX43800)<br />
1.3.4 Software Analysis<br />
1.3.4.1 Trace Collection<br />
Nexus Trace collection to DDR, NPC, or Gigabit Tap<br />
Support Nexus tracing from Core, DDR, QMan, OceaN<br />
Linux LTTng User Space Trace (Linux host only) - See application note <strong>for</strong> LTTng UST <strong>for</strong><br />
more detail – AN4212)<br />
LTTng Linux Trace support updates <strong>for</strong> latest FSL BSP v2.2<br />
Support <strong>for</strong> Gigabit Tap collection via aurora from CW UI.<br />
Improvements to trace events viewer find/filter capability.<br />
Additional support <strong>for</strong> P4040.<br />
1.3.4.2 Per<strong>for</strong>mance Analysis<br />
Additional UI filters added:<br />
Metrics Tree, Low Level Events<br />
Hide Filterer leaf nodes with no in<strong>for</strong>mation.<br />
Metrics improvements<br />
Support <strong>for</strong> user defined metrics.<br />
Additional support <strong>for</strong> P4040.<br />
2 Important Usage Notes and Known Limitations<br />
This section describes some issues that are more likely to be encountered, and how to avoid or<br />
work around them. Additional in<strong>for</strong>mation on errata and work-arounds can be found in the Errata<br />
section of this document.<br />
2.1 General<br />
2.1.1 In the event of a Crash of <strong>CodeWarrior</strong> in Linux<br />
When running <strong>CodeWarrior</strong> in Linux, in the unlikely event that you have encountered a<br />
crash of the Debugger Engine in <strong>CodeWarrior</strong>, you may need to do the following.<br />
a) Close <strong>CodeWarrior</strong> and kill any “cwde” processes that may still be left running. (kill<br />
)<br />
b) Navigate to the filesystem's /tmp directory.<br />
c) If any files exist of the <strong>for</strong>m “CWDebuggerEngineSCS-x-” they should<br />
be deleted. (rm –f /tmp/CWDebuggerEngineSCS*)<br />
Freescale Confidential Proprietary<br />
5
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
2.1.2 Using <strong>CodeWarrior</strong> on 64-bit Linux Hosts<br />
For 64-bit Linux hosts <strong>CodeWarrior</strong> Connection Server (CCS) requires installation of 32bit<br />
X11 libraries in order to launch. Please ensure libXpm is installed on the system<br />
prior to use.<br />
2.2 Debugger<br />
2.2.1 Trace/Profiling Effects on Debugging Function<br />
Enabling Trace or Profiling was found, in some cases, to have negative consequences<br />
<strong>for</strong> debugging functions. In general, the debugging problems can be avoided if profiling<br />
and trace are disabled if they are not needed during basic debugging.<br />
2.2.2 Supported GTAP connections:<br />
JTAG over JTAG cable and JTAG over Aurora cable are supported.<br />
Limitation: Debugging using Aurora connection is not supported (Aurora cannot be initialized <strong>for</strong><br />
debug).<br />
2.2.3 Aurora initialization<br />
Supported only with Silicon Rev 1<br />
Limitation: Tracing is supported only when the debugger is connected. The Aurora connection is<br />
also stopped when the debugger disconnects.<br />
2.2.4 Import Elf Wizard<br />
Limitation: A dtb file cannot be imported within the wizard and the user has to do this from GUI.<br />
Also SMP cores cannot be selected.<br />
Limitation: No existing RSE can be chosen inside the wizard (a new one will be created every<br />
time). The RSE can be chosen after project creation from GUI.<br />
2.2.5 Cache support P2020<br />
e500v2 core: The memory window is not updated after a write operation in data cache. This<br />
is by design – no attempt to read data cache is done when reading memory, only the<br />
instruction cache. It is done this way because data cache is coherent, while instruction cache<br />
is not.<br />
e500v2 core: A cache line gets invalidated, when its content has been changed through the<br />
memory window; this is the expected behavior since when a transaction is produced by SAP<br />
(as well as any other bus master) the cache snooping mechanism invalidates the appropriate<br />
line.<br />
Opening Cache window: Valid lines can appear in Cache Viewer even if the cache is<br />
enabled or disabled. This is by design, the line status does not depend on whether cache is<br />
enabled or not.<br />
Freescale Confidential Proprietary<br />
6
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
2.2.6 Cache support P4080<br />
2.2.6.1 L1 Data Cache <strong>for</strong> Memory Reads <strong>for</strong> P4080<br />
L1 Data cache allocates lines <strong>for</strong> memory reads of code around the PC; in order not to have that<br />
code in the cache, a cache inhibited read should be done or SAP should be used.<br />
2.2.7 Multi-core reset<br />
MTWX42123 Reset command from debugger shell can only be used to reset the entire system.<br />
For per-core reset, the GUI reset dialog should be used.<br />
2.3 Software Analysis<br />
2.3.1 General<br />
The Software Analysis tools only support the P4080 and P4040 processors.<br />
Enabling Trace and Profiling was found, in some cases, to have negative consequences <strong>for</strong><br />
some debugging functions. In general, the debugging problems can be avoided if profiling<br />
and trace are disabled in the Trace and Profile tab in the Launch Configuration, if they are not<br />
needed during basic debugging.<br />
2.3.2 Trace Collection<br />
1. Tracing is supported only when the debugger is connected to the target.<br />
2. Within the Jython console in <strong>CodeWarrior</strong> there is no standard out being shown when scripts<br />
are invoked. To workaround this limitation capture the decoded output using “out=”<br />
argument to GetBufferTrace or GetProbeTrace scripts.<br />
3. When using the GetBufferTrace.py or GetProbeTrace.py scripts to collect and decode trace<br />
data, please edit your debug launch configuration and uncheck the 'Enable Trace and Profile'<br />
setting.<br />
4. If collecting program trace from a P4080 rev2 processor, edit the file(s) listed below and set the<br />
value of the 'Trace Predicate Instructions' attribute to '1', <strong>for</strong> each core that outputs program<br />
trace data:<br />
If collecting trace using the graphical user interface:<br />
\PA\cdde\sasdk\data\fsl.configs.sa.nexusdecoder\NexusDecoderP4080Internal.xml<br />
If collecting trace using the GetBufferTrace.py or GetProbeTrace.py scripts:<br />
\PA\cdde\sasdk\data\fsl.configs.sa.nexusdecoder\NexusDecoderP4080.xml<br />
Freescale Confidential Proprietary<br />
7
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
Note: In order to check whether your P4080 processor is rev1 or rev2, check the content<br />
of the e500mc's special purpose register called SVR, in the <strong>CodeWarrior</strong> register view. If<br />
the SVR register's value masked with 0xfff0fff0 is equal to 0x82000010 the processor's<br />
revision is rev1, otherwise it is rev2. For more details please consult the P4080<br />
Reference Manual.<br />
5. The trace settings are applied to the target using the active debug launch configurations.<br />
Currently the multiple active debug launch configurations associated with different P4080<br />
boards are not supported, please make sure that all active debug launch configurations are<br />
using the same P4080 board, when collecting trace data.<br />
6. U-boot in the FSL BSP (on P4080rev1) disables the aurora lanes used <strong>for</strong> Nexus trace<br />
support with the Gigabit TAP. To collect trace to Gigabit TAP probe you must enable at least<br />
2 lanes <strong>for</strong> Aurora.<br />
7. Sometimes, collecting to the NPC Buffer via the <strong>CodeWarrior</strong> Eclipse environment is not<br />
currently working. Collecting to the NPC buffer via the scripting environment (GetBufferTrace)<br />
is working.<br />
2.3.3 Per<strong>for</strong>mance Analysis Tools<br />
The "Generate a Configuration Access Log" operation, found on the Analyze Tab, requires that<br />
the "Save configuration with each captured data" options be checked on the Options Tab.<br />
The Per<strong>for</strong>mance Analysis Events viewer will be empty when initially opened. Upon completion<br />
of each collection operation it will display the collected counter data.<br />
3 System Requirements<br />
Recommended Configuration<br />
3GHz Intel® Pentium® P4 processor or better. Dual-core processor preferable.<br />
Microsoft® Windows XP<br />
2GB RAM (Step speed on machines with 1GB RAM is significantly slower)<br />
1GB free disk space<br />
Note: 500MB of free space is required on the OS drive, regardless of the free space available<br />
on the destination drive.<br />
4 Who Should Use this Release?<br />
Users developing <strong>for</strong> the P4080<br />
5 Who Should NOT Use this Release?<br />
Users developing <strong>for</strong> <strong>Power</strong>Quicc, 8xxx, 7xxx, 7xx, 6xx or 5xx based processors. These<br />
developers should use the previous (non-Eclipse based) versions of the tools.<br />
Freescale Confidential Proprietary<br />
8
<strong>CodeWarrior</strong> <strong>Development</strong> <strong>Studio</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> <strong>Netcomm</strong> v10.0.1<br />
6 Errata<br />
6.1 Known Errata in this Release<br />
Please check the Documentation tab in the <strong>CodeWarrior</strong> <strong>for</strong> <strong>Power</strong> <strong>Architecture</strong> section<br />
of the Freescale website <strong>for</strong> updated lists of known errata and addressed errata:<br />
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=CW_DSPA&<br />
Freescale Confidential Proprietary<br />
9