to download MULTI for Davinci Quick - Green Hills Software
to download MULTI for Davinci Quick - Green Hills Software
to download MULTI for Davinci Quick - Green Hills Software
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
v4.3.1<br />
<strong>Quick</strong><br />
Start<br />
Guide<br />
<strong>for</strong> DaVinci technology processors
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong> 30-day Evaluation License Agreement<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc. (<strong>Green</strong> <strong>Hills</strong>) agrees <strong>to</strong> grant and user (“Licensee”) agrees <strong>to</strong> accept a non-transferable and non-exclusive license (“the License”) <strong>to</strong> use the<br />
computer programs: <strong>Green</strong> <strong>Hills</strong> C/C++ Compilers and <strong>MULTI</strong>® (“the Licensed Programs”), on the following terms and conditions:<br />
1. Consideration—For and in consideration of receiving the License, Licensee agrees <strong>to</strong> evaluate the Licensed Programs <strong>for</strong> the sole purpose of making a purchase<br />
decision, and <strong>to</strong> report <strong>to</strong> <strong>Green</strong> <strong>Hills</strong> problems encountered in their use. Licensee also agrees <strong>to</strong> prevent the disclosure of any and all results of Licensee’s use of<br />
Licensed Programs, including but not limited <strong>to</strong>, space per<strong>for</strong>mance, time per<strong>for</strong>mance, compile time per<strong>for</strong>mance, new features, bug fixes, defects, Bugs, documentation<br />
improvements, documentation errors, user interface, competitive analysis, comparison with competing products, etc.<br />
2. Ownership of Licensed Programs—Title and full ownership rights <strong>to</strong> the Licensed Programs under this 30 Day Evaluation License Agreement, including any installation,<br />
operations, or other manuals, remain with <strong>Green</strong> <strong>Hills</strong>. The Licensed Programs are agreed <strong>to</strong> be <strong>Green</strong> <strong>Hills</strong>’ proprietary in<strong>for</strong>mation and trade secret, whether or<br />
not any portion thereof is or may be validly copyrighted or patented.<br />
Licensee shall have the right <strong>to</strong> use the Licensed Programs or any portion thereof on this computer system located at the address of licensee above.<br />
Separate licenses, <strong>for</strong> additional consideration payable <strong>to</strong> <strong>Green</strong> <strong>Hills</strong>, shall be required <strong>for</strong> the use of the Licensed Programs on each additional central processing unit.<br />
Unless <strong>Green</strong> <strong>Hills</strong> declares otherwise in writing, Licensee shall not inhibit or otherwise disable any feature of the Licensed Programs, by modification of the licensed<br />
program or otherwise, which prints out or otherwise displays notices of <strong>Green</strong> <strong>Hills</strong>’ proprietary rights in the Licensed Programs, identifications of this 30 Day<br />
Evaluation License Agreement or the License granted hereunder, or the site at which Licensee may use the Licensed Programs pursuant <strong>to</strong> this 30 Day Evaluation<br />
License Agreement.<br />
No right <strong>to</strong> print, copy, or otherwise disclose the Licensed Programs or any portion thereof, in any <strong>for</strong>m whatsoever, is granted hereby.<br />
This 30 Day Evaluation License Agreement, the License granted hereunder, and the Licensed Programs may not be assigned, sub-licensed, or otherwise transferred by<br />
the Licensee without the prior written consent of <strong>Green</strong> <strong>Hills</strong>. Any assignment, sub-license, or transfer in violation of the <strong>for</strong>egoing sentence shall be null and void and<br />
shall, at the option of <strong>Green</strong> <strong>Hills</strong>, result in the au<strong>to</strong>matic termination of this 30 Day Evaluation License Agreement. Licensee shall take all reasonable steps <strong>to</strong> ensure<br />
the per<strong>for</strong>mance of this paragraph.<br />
3. Term and Termination—The license shall be effective from the date hereof and shall terminate thirty (30) days thereafter unless terminated earlier as provided<br />
herein.<br />
In the event Licensee neglected or fails <strong>to</strong> per<strong>for</strong>m or observe any of its obligations under this 30 Day Evaluation License Agreement, and fails <strong>to</strong> correct such breach<br />
within thirty (30) days after <strong>Green</strong> <strong>Hills</strong> gives Licensee notice of such breach, or if any assignment shall be made of its business <strong>for</strong> the benefit of credi<strong>to</strong>rs, or if a<br />
receiver, trustee in bankruptcy, or a similar officer shall be appointed <strong>to</strong> take charge of all or part of its property, or it is adjudged a bankrupt, this 30 Day Evaluation<br />
License Agreement and the License granted hereunder shall immediately terminate.<br />
4. Security—Licensee and all individuals having access <strong>to</strong> the Licensed Programs, on other than an “execute only” basis, acknowledge and agree:<br />
(a) <strong>to</strong> maintain the Licensed Programs in secure premises <strong>to</strong> prevent any unauthorized person from obtaining any part thereof; and<br />
(b) not <strong>to</strong> provide any copies or disclose any details of the Licensed Programs <strong>to</strong> unauthorized third parties without the prior written approval of <strong>Green</strong> <strong>Hills</strong>; and<br />
(c) not <strong>to</strong> create, not <strong>to</strong> attempt <strong>to</strong> create, and not <strong>to</strong> permit or help others <strong>to</strong> create, by disassembly or otherwise, source code <strong>for</strong> the Licensed Programs, and not <strong>to</strong><br />
translate the Licensed Programs in<strong>to</strong> any computer or natural language; and<br />
(d) not <strong>to</strong> allow any individual access <strong>to</strong> the Licensed Programs, on other than an “execute only” basis, until a signed acknowledgement of their obligations hereunder<br />
is obtained; and<br />
(e) <strong>to</strong> give <strong>Green</strong> <strong>Hills</strong> written notice of any unauthorized disclosure or use of the Licensed Programs as soon as they learn or become aware of it.<br />
5. Support Services—For a thirty (30) day period beginning on the date hereof, <strong>Green</strong> <strong>Hills</strong> will make reasonable ef<strong>for</strong>ts <strong>to</strong> correct any program errors in the Licensed<br />
Programs brought <strong>to</strong> its attention with written documented reports submitted by Licensee’s Designated Contact Person, except those resulting from alteration or misuse<br />
of the Licensed Programs. <strong>Green</strong> <strong>Hills</strong>, however, does not guarantee service results or represent or warrant that all program errors will be corrected.<br />
6. Warranty—<strong>Green</strong> <strong>Hills</strong> warrants that the Licensed Programs will be in good operating condition at the time of acceptance of Licensee and will con<strong>for</strong>m in all essential<br />
respects <strong>to</strong> the then currently published Program Description applicable <strong>to</strong> the Licensed Programs when it is shipped <strong>to</strong> Licensee.<br />
GREEN HILLS MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER MATTER OTHER THAN<br />
THE EXPRESS WARRANTIES CONTAINED IN THIS LICENSE AGREEMENT AND ANY AMENDMENT(S) HERETO. NO REPRESENTATION OR STATEMENT NOT EXPRESSLY<br />
CONTAINED IN THIS LICENSE AGREEMENT OR ANY AMENDMENT(S) HERETO SHALL BE BINDING UPON GREEN HILLS AS A WARRANTY OR OTHERWISE.<br />
<strong>Green</strong> <strong>Hills</strong> shall have no liability <strong>to</strong> Licensee <strong>for</strong> any losses or damages, direct or indirect, arising out of this 30 Day Evaluation License Agreement. In no event shall<br />
<strong>Green</strong> <strong>Hills</strong> be liable <strong>for</strong> any indirect, special, or consequential damages, such as, but not limited <strong>to</strong>, loss of anticipated profits or other economic loss in connection with<br />
Licensee’s use of the Licensed Programs. <strong>Green</strong> <strong>Hills</strong> shall not be liable <strong>for</strong> any loss, injury, damage, or expense caused by Licensee’s use of the Licensed Programs.<br />
<strong>Green</strong> <strong>Hills</strong> shall not be liable <strong>for</strong> any loss, injury, damage, or expense caused by Licensee’s misuse or negligent processing of the Licensed Programs.<br />
<strong>Green</strong> <strong>Hills</strong> shall not be held <strong>to</strong> any liability with respect <strong>to</strong> any claim by a third party on account of, or arising out of the use of the Licensed Programs.<br />
7. Patent/Copyright Infringement—<strong>Green</strong> <strong>Hills</strong> guarantees that Licensee’s purchase and use of the license furnished in this agreement, in the <strong>for</strong>m in which furnished<br />
<strong>to</strong> Licensee, will not infringe any valid United States or Foreign patent or copyright, and <strong>Green</strong> <strong>Hills</strong> agrees <strong>to</strong> defend any claim, action, or suit that may be<br />
brought against Licensee <strong>for</strong> patent or copyright infringement by reason of Licensee’s purchase or use of such license, and <strong>Green</strong> <strong>Hills</strong> also agrees <strong>to</strong> indemnify Licensee<br />
and hold Licensee harmless against all claims, judgments, decrees, damages, costs, and expenses recovered against Licensee or sustained by Licensee on account of any<br />
such actual or alleged infringement.<br />
8. Miscellaneous—The terms of this 30 Day Evaluation License Agreement may be modified only in writing signed by <strong>Green</strong> <strong>Hills</strong> and by Licensee.<br />
This 30 Day Evaluation License Agreement represents the entire agreement between the parties with respect <strong>to</strong> the use of the Licensed Programs and supercedes any<br />
previous oral or written communications, representations, understandings, or agreements with respect there<strong>to</strong>. No provision appearing on any purchase order, quotation<br />
<strong>for</strong>m or other <strong>for</strong>m originated by either party shall be applicable unless such provisions are expressly accepted in writing by both<br />
parties.<br />
Fees specified in this agreement are exclusive of sales and use taxes. Licensee shall pay any sales or use tax imposed as a result of the existence or operation of this<br />
agreement.<br />
Any dispute under this 30 Day Evaluation License Agreement shall be submitted <strong>to</strong> binding arbitration in Los Angeles County, Cali<strong>for</strong>nia, under the rules then prevailing<br />
of the American Arbitration Association. Judgment upon any award made in such arbitration may be entered and en<strong>for</strong>ced in any court of competent jurisdiction.<br />
This 30 Day Evaluation License Agreement shall be governed by the laws of the State of Cali<strong>for</strong>nia, U.S.A. Any judicial action taken by either party shall have its venue<br />
only in Los Angeles County, State of Cali<strong>for</strong>nia, U.S.A, in the State or Federal Court having jurisdiction of the subject matter of the action. The prevailing party in any<br />
legal action brought <strong>to</strong> en<strong>for</strong>ce or interpret this Agreement or <strong>for</strong> damages <strong>for</strong> its breach shall be entitled <strong>to</strong> an award of reasonable at<strong>to</strong>rney’s fees. If any provision<br />
hereof is invalid under any applicable statute or rule of law, it shall <strong>to</strong> that extent be deemed <strong>to</strong> be omitted.<br />
The waiver by any party <strong>to</strong> this 30 Day Evaluation License Agreement of any default or breach of the 30 Day Evaluation License Agreement shall not constitute a<br />
waiver of any subsequent default or breach of the same or of a different kind.<br />
2<br />
<strong>Quick</strong> Start Guide<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
<strong>MULTI</strong> v4.3.1 <strong>for</strong> DaVinci Technology Processors<br />
TABLE OF CONTENTS<br />
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4<br />
Installing the <strong>Software</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4<br />
Setting up <strong>MULTI</strong> <strong>for</strong> Linux Run Mode Debugging . . . . . . . . . . . . . . . . . . . . . . .4<br />
Creating a new Linux Application in <strong>MULTI</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6<br />
Setting up the <strong>Green</strong> <strong>Hills</strong> Probe <strong>for</strong> DaVinci . . . . . . . . . . . . . . . . . . . . . . . . . . . .11<br />
Debugging a Linux kernel image with <strong>MULTI</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . .11<br />
Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16<br />
Copyright © 2006 by <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc. All rights reserved. No part of this publication may be reproduced, s<strong>to</strong>red in a retrieval<br />
system, or transmitted, in any <strong>for</strong>m or by any means, electronic, mechanical, pho<strong>to</strong>copying, recording, or otherwise, without prior written<br />
permission from <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
DISCLAIMER<br />
GREEN HILLS SOFTWARE, INC. MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND SPECIFICALLY DIS-<br />
CLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE.<br />
Further, <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc. reserves the right <strong>to</strong> revise this publication and <strong>to</strong> make changes from time <strong>to</strong> time in the content hereof without<br />
obligation of <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc. <strong>to</strong> notify any person of such revision or changes. <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, the <strong>Green</strong> <strong>Hills</strong> logo, <strong>MULTI</strong> and<br />
Ada<strong>MULTI</strong> are registered trademarks, and EventAnalyzer and ResourceAnalyzer are trademarks of <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc. All other<br />
trademarks and registered trademarks are property of their respective companies.<br />
PubID: 0806<br />
August 25, 2006<br />
3
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors <strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
OVERVIEW<br />
This <strong>Quick</strong> Start Guide is a companion <strong>to</strong> the software provided with the DVEVM and the <strong>MULTI</strong><br />
integrated development environment.<br />
This documents provides high-level, step-by-step instructions <strong>for</strong> developers using <strong>MULTI</strong> with DaVinci<br />
technology processors <strong>for</strong> the first time. For more detailed instructions, users are directed <strong>to</strong> other manuals<br />
and documents provided by either Texas Instruments (TI) or <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong> (GHS). This guide<br />
is written <strong>to</strong> support a Linux host development environment, since that is what is provided with the<br />
DVEVM. <strong>MULTI</strong> is also available <strong>for</strong> Windows host environments.<br />
INSTALLING THE SOFTWARE<br />
Install the TI and MontaVista software included with the DV-EVM be<strong>for</strong>e proceeding. See DVEVM<br />
Getting Started Guide (sprue66a.pdf) <strong>for</strong> details.<br />
Install <strong>MULTI</strong>. Please refer <strong>to</strong> the <strong>MULTI</strong>: Getting Started Guide (start.pdf) <strong>for</strong> in<strong>for</strong>mation on<br />
installing and licensing <strong>MULTI</strong>. Make sure that <strong>MULTI</strong> is in your PATH so that command line <strong>to</strong>ols<br />
that are used below such as dblink can be found.<br />
SETTING UP <strong>MULTI</strong> FOR LINUX RUN MODE DEBUGGING<br />
Details <strong>for</strong> this section are covered in <strong>MULTI</strong>: Developing <strong>for</strong> Embedded Linux on ARM (linux_arm.pdf).<br />
There is also a high level overview covered in the <strong>MULTI</strong> release notes (release_notes.pdf) found in the<br />
<strong>MULTI</strong> installation direc<strong>to</strong>ry. There is a script (dvevm_debug.sh) in the same installation direc<strong>to</strong>ry that<br />
au<strong>to</strong>mates much of this process and generates a <strong>MULTI</strong> project based on the DVEVM examples. This is<br />
the fastest way <strong>to</strong> get started debugging an application on DaVinci.<br />
The script provided with <strong>MULTI</strong> v4.3.1 has been validated with version 1_10_00_18 software from TI.<br />
For the most recent software updates, please check www.ghs.com/ti_quickstart.<br />
The script will ask you several questions and au<strong>to</strong>matically take you through all of the steps covered<br />
below. Be<strong>for</strong>e executing dvevm_debug.sh, please edit~/dvevm_1_10/Rules.make and be sure that the variables<br />
in that file are all pointing <strong>to</strong> the correct direc<strong>to</strong>ries. To verify that Rules.make is acceptable, compile<br />
the DVEVM demos using the 'make' command and run them on your DaVinci. For more in<strong>for</strong>mation<br />
on this procedure, please refer <strong>to</strong> your TI documentation.<br />
Also verify that you have write permissions <strong>to</strong> the following direc<strong>to</strong>ries and the files in those direc<strong>to</strong>ries:<br />
~/dvevm_1_10/<br />
~/dvevm_1_10/demos/decode/<br />
~/dvevm_1_10/demos/encode/<br />
~/dvevm_1_10/demos/encodedecode/<br />
~/workdir/filesys/usr/lib/ (<strong>for</strong> libc.so and libpthread.so)<br />
4<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
Use the following commands <strong>to</strong> execute the script:<br />
host $ cd /usr/ghs/multi431/linux86<br />
host $ ./dvevm_debug.sh<br />
NOTE: Running the above script lets you skip the following steps.<br />
The details of what happens behind the scenes in the script are important <strong>for</strong> setting up your development<br />
environment, so we will quickly cover them here.<br />
First setup a linux build direc<strong>to</strong>ry on your host that contains the cross <strong>to</strong>ols, headers and libraries that<br />
<strong>MULTI</strong> will use <strong>to</strong> build embedded linux applications. The script creates a direc<strong>to</strong>ry in your DVEVM<br />
software install direc<strong>to</strong>ry called multi_linux_build_dir. When you create new projects <strong>for</strong> embedded<br />
linux in <strong>MULTI</strong> you will be prompted <strong>to</strong> provide the path <strong>to</strong> this direc<strong>to</strong>ry.<br />
host $ cd ~/workdir/dvevm_1_10<br />
host $ mkdir multi_linux_build_dir<br />
host $ cd multi_linux_build_dir<br />
host $ ln –s /opt/mv_pro_4.0/MontaVista/pro/devkit/arm/v5t_le/armv5tl_MontaVista-linuxeabi/bin bin<br />
host $ ln –s ~/workdir/filesys/usr/include include<br />
host $ ln –s ~/workdir/filesys/lib lib<br />
host $ mkdir usr<br />
host $ cd usr<br />
host $ ln –s ~/workdir/filesys/usr/lib lib<br />
Next you must modify libc.so and libprthread.so such that the local MontaVista versions are used instead<br />
of the files from /usr.<br />
host $ cd ~/workdir/dvevm_1_10/multi_linux_build_dir/lib/usr<br />
Edit libc.so <strong>to</strong> have the following path in the GROUP line:<br />
GROUP ( ../../lib/libc.so.6 ../../lib/libc_nonshared.a )<br />
Edit libpthread.so <strong>to</strong> have the following path in the GROUP line:<br />
GROUP ( ../../lib/libpthread.so.0 ../../lib/libpthread_nonshared.a )<br />
The last thing <strong>to</strong> do is <strong>to</strong> copy the target resident debug agent that <strong>MULTI</strong> uses <strong>for</strong> run mode debug.<br />
This agent is called linuxserv and is located in /lib/lnxarm_davinci5/linuxserv<br />
host $ cp /usr/ghs/multi431/lib/lnxarm_davinci5/linuxserv ~/workdir/filesys/opt/dvevm<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
5
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors <strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
CREATING A NEW LINUX APPLICATION IN <strong>MULTI</strong><br />
1. From the <strong>MULTI</strong> Launcher choose File->Create New Project<br />
2. Make the selections shown below and click Next.<br />
3. Choose the <strong>for</strong>k debugging example<br />
4. Make sure <strong>to</strong> s<strong>to</strong>re it somewhere in your target files system hierarchy, click Next<br />
5. Specify the Linux build direc<strong>to</strong>ry that you created, then click Finish<br />
6. Build the application. Hit F7 or click the Build but<strong>to</strong>n<br />
6 <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
7
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors <strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
7. Click the Debug but<strong>to</strong>n <strong>to</strong> launch the debugger<br />
8. Start linuxserv running on the target<br />
target $ cd /opt/dvevm<br />
target $ ./linuxserv –server 3112 –target_root_dir /home/green/workdir/filesys<br />
9. Establish a linuxserv connection <strong>to</strong> <strong>MULTI</strong>. See chapter 4 of <strong>MULTI</strong>: Developing <strong>for</strong> Embedded Linux<br />
on ARM (linux_arm.pdf) <strong>for</strong> details on setting up the Linuxserv connection in <strong>MULTI</strong>.<br />
Here is a screen shot of an example connection <strong>for</strong> DaVinci.<br />
8 <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
9
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors <strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
10. Debug the application. As you step over the first line <strong>MULTI</strong> will open up a new debugger window <strong>for</strong><br />
you on the child process that was created by the <strong>for</strong>k() system call.<br />
SETTING UP THE GREEN HILLS PROBE FOR DAVINCI<br />
There are various ways <strong>to</strong> communicate with the <strong>Green</strong> <strong>Hills</strong> Probe and configure it <strong>for</strong> use with your<br />
DaVinci target. For details on how <strong>to</strong> connect <strong>to</strong> the probe and adjust the settings please consult the<br />
<strong>Green</strong> <strong>Hills</strong> Debug Probe User’s Guide. There is additional DaVinci EVM specific board in<strong>for</strong>mation in<br />
the board_info.pdf document that is located in \target\arm\davinci\board_info.pdf.<br />
The output below is an example working probe configuration <strong>for</strong> the DaVinci EVM. Please pay particular<br />
attention <strong>to</strong> the adapter, logic_high, and target settings below. This example uses the TI DSP target<br />
interface module with a 14 pin connec<strong>to</strong>r and 3.3V logic. This configuration requires the use of the<br />
Low Voltage Adapter with Adaptive Clocking <strong>for</strong> TI ARM based processors (14 pin-CTI-20 pin) from<br />
Spectrum Digital that converts the 1.8V logic on the DVEVM <strong>to</strong> 3.3V. The part number is 701212.<br />
The <strong>Green</strong> <strong>Hills</strong> Probe can also directly support 1.8V logic if you do not wish <strong>to</strong> use this adapter.<br />
Furthermore, if you have a 20pin-20pin adapter you can use an ARM target interface module with the<br />
probe instead of the TI DSP target interface module. This interface module provides the added functionality<br />
of exposing the SYSRESET line of the processor, which allows you <strong>to</strong> reset the board from the<br />
probe without having <strong>to</strong> cycle power.<br />
Note: The probe command t switches the probe between the various cores available<br />
through the JTAG. The currently selected core and it’s state is indicated in the command prompt.<br />
The numbering scheme is as follows:<br />
0 = icepick<br />
1 = ARM926<br />
2 = Embedded Trace Buffer<br />
3 = C64x+<br />
Here is an example of switching between cores:<br />
icepick[0,?] % t 1<br />
Selected core 1.<br />
arm926[1,c] %<br />
See Appendix A <strong>for</strong> complete listing of probe settings <strong>for</strong> this example.<br />
DEBUGGING A LINUX KERNEL IMAGE WITH <strong>MULTI</strong><br />
If you wish <strong>to</strong> debug a linux kernel image with <strong>MULTI</strong> you must build the kernel with debug in<strong>for</strong>mation<br />
included in the output file.<br />
Follow the steps in section 4 of the DVEVM Getting Started Guide (sprue66a.pdf) <strong>to</strong> install and setup<br />
the MontaVista Linux Kernel software. In section 4.6 “Building a New Linux Kernel” you will need <strong>to</strong><br />
pass an additional parameter in the make command line <strong>to</strong> build the linux kernel imagewith debug<br />
in<strong>for</strong>mation. In step 5 of section 4.6 use the following command line <strong>to</strong> build debug in<strong>for</strong>mation in<strong>to</strong><br />
the kernel image:<br />
host $ make ARCH=arm CROSS_COMPILE=arm_v5t_le- CONFIG_DEBUG_INFO=1 uImage<br />
10 <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc. <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
11
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
You will also need <strong>to</strong> translate the dwarf debug in<strong>for</strong>mation generated by gcc <strong>to</strong> a debug <strong>for</strong>mat that<br />
<strong>MULTI</strong> understands. To do this run the following command:<br />
host $ dblink --scan_source -au<strong>to</strong>_translate vmlinux<br />
The dblink command will create the following files that <strong>MULTI</strong> uses when debugging the kernel:<br />
vmlinux.dla<br />
vmlinux.dnm<br />
Boot the kernel using one of the methods described in DVEVM Getting Started Guide. Once the kernel<br />
is up and running you will want <strong>to</strong> start a debugger on the vmlinux image and then attach <strong>to</strong> the target<br />
with a freeze mode connection. For details on configuring target connections with <strong>MULTI</strong> please<br />
refer <strong>to</strong> <strong>MULTI</strong>: Configuring Connections <strong>for</strong> ARM Targets and <strong>MULTI</strong>: Configuring Connections <strong>for</strong><br />
C6000 Targets.<br />
The following screen shots show how <strong>to</strong> create a connection <strong>to</strong> the ARM core through the <strong>Green</strong> <strong>Hills</strong><br />
Probe. It is also possible <strong>to</strong> debug using the Spectrum Digital XDS560 and XDS510 as well as the<br />
Blackhawk XDS560 probes with <strong>MULTI</strong>.<br />
1. Create a connection.<br />
12 <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
2. In the Connection Edi<strong>to</strong>r Window, click on the Advanced tab <strong>to</strong> specify the ARM core <strong>for</strong> this<br />
connection.<br />
3. After you have created the connection, connect the debugger in Attach mode.<br />
13
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
4. After establishing the connection you can browse through the code using <strong>MULTI</strong> and put a breakpoint<br />
in the kernel. A safe place <strong>to</strong> do this is in the __schedule() function.<br />
14 <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
5. From here you can open up the OSA Explorer <strong>to</strong> view internal linux kernel structures and the list of<br />
processes in the system. You can also open up a new debugger window on a specific process by double<br />
clicking on the process in the Task pane of the OSA window.<br />
For detailed in<strong>for</strong>mation on linux kernel debugging, including debugging kernel modules, please see<br />
chapter 6 in the <strong>MULTI</strong>: Developing <strong>for</strong> Embedded Linux on ARM (linux_arm.pdf) document.<br />
15
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
APPENDIX<br />
Example probe configuration <strong>for</strong> TI DSP interface module with 3.3V logic adapter:<br />
* <strong>Green</strong> <strong>Hills</strong> Probe <strong>for</strong> DaVinci, v1.12.0<br />
* Firmware built Apr 28 2006 14:35:40<br />
* Serial No: 6927<br />
* Part number 520-GP300-02A<br />
* <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc<br />
* http://www.ghs.com<br />
*<br />
* Type 'info' <strong>to</strong> list probe in<strong>for</strong>mation.<br />
* Type 'setup' <strong>to</strong> set the current configuration.<br />
Type 'help' <strong>to</strong> list the online help.<br />
<strong>Green</strong> <strong>Hills</strong> Probe<br />
icepick[0,?] % set<br />
dhcp = off<br />
ip = 192.168.104.248<br />
netmask = 255.255.255.0<br />
gateway = 192.168.104.254<br />
single_mpserv_only = off<br />
adapter = au<strong>to</strong> [ti]<br />
clock = 15 MHz<br />
use_rtck = off<br />
rtck_use_timeout = on<br />
logic_high = 3.300000<br />
target = icepick(0:arm926 1:armetb 2:c64x_plus)<br />
checker = off<br />
power_detect = on<br />
user_but<strong>to</strong>n = tri-state<br />
user_string = <strong>Green</strong> <strong>Hills</strong> Probe<br />
baudrate = 115.2 kbaud<br />
rst_pulse = 300 ms<br />
rst_settle = 300 ms<br />
jrst_pulse = 300 ms<br />
jrst_settle = 300 ms<br />
rst_tap_then_sys = off<br />
minimize_scanchain = off<br />
use_max_reset = off<br />
icepick[0,?] % t 1<br />
Selected core 1.<br />
arm926[1,c] % set<br />
dhcp = off<br />
ip = 192.168.104.248<br />
netmask = 255.255.255.0<br />
16 <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
gateway = 192.168.104.254<br />
single_mpserv_only = off<br />
adapter = au<strong>to</strong> [ti]<br />
clock = 15 MHz<br />
use_rtck = off<br />
rtck_use_timeout = on<br />
logic_high = 3.300000<br />
target = icepick(0:arm926 1:armetb 2:c64x_plus)<br />
checker = off<br />
power_detect = on<br />
user_but<strong>to</strong>n = tri-state<br />
user_string = <strong>Green</strong> <strong>Hills</strong> Probe<br />
baudrate = 115.2 kbaud<br />
rst_pulse = 300 ms<br />
rst_settle = 300 ms<br />
jrst_pulse = 300 ms<br />
jrst_settle = 300 ms<br />
rst_tap_then_sys = off<br />
endianness = little<br />
fast_dl = off<br />
abort_check = on<br />
use_bkpt_inst = on<br />
use_hw_singlestep = off<br />
catch_por = off<br />
catch_reset = off<br />
catch_undef = off<br />
catch_swi = off<br />
catch_prefetch = off<br />
catch_abort = off<br />
catch_irq = off<br />
catch_fiq = off<br />
etm_version = 1<br />
moni<strong>to</strong>r_mode = off<br />
override_mmu = on<br />
<strong>for</strong>ce_dbgack = on<br />
simulate_singlestep = off<br />
arm926[1,c] % t 2<br />
Selected core 2.<br />
[2,?] % set<br />
dhcp = off<br />
ip = 192.168.104.248<br />
netmask = 255.255.255.0<br />
gateway = 192.168.104.254<br />
single_mpserv_only = off<br />
adapter = au<strong>to</strong> [ti]<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
17
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
clock = 15 MHz<br />
use_rtck = off<br />
rtck_use_timeout = on<br />
logic_high = 3.300000<br />
target = icepick(0:arm926 1:armetb 2:c64x_plus)<br />
checker = off<br />
power_detect = on<br />
user_but<strong>to</strong>n = tri-state<br />
user_string = <strong>Green</strong> <strong>Hills</strong> Probe<br />
baudrate = 115.2 kbaud<br />
rst_pulse = 300 ms<br />
rst_settle = 300 ms<br />
jrst_pulse = 300 ms<br />
jrst_settle = 300 ms<br />
rst_tap_then_sys = off<br />
endianness = little<br />
associated_core = 1<br />
[2,?] % t 3<br />
Selected core 3.<br />
c64x+[3,?] % set<br />
dhcp = off<br />
ip = 192.168.104.248<br />
netmask = 255.255.255.0<br />
gateway = 192.168.104.254<br />
single_mpserv_only = off<br />
adapter = au<strong>to</strong> [ti]<br />
clock = 15 MHz<br />
use_rtck = off<br />
rtck_use_timeout = on<br />
logic_high = 3.300000<br />
target = icepick(0:arm926 1:armetb 2:c64x_plus)<br />
checker = off<br />
power_detect = on<br />
user_but<strong>to</strong>n = tri-state<br />
user_string = <strong>Green</strong> <strong>Hills</strong> Probe<br />
baudrate = 115.2 kbaud<br />
rst_pulse = 300 ms<br />
rst_settle = 300 ms<br />
jrst_pulse = 300 ms<br />
jrst_settle = 300 ms<br />
rst_tap_then_sys = off<br />
endianness = little<br />
step_ints = off<br />
c64x+[3,?] %<br />
18 <strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Green</strong> <strong>Hills</strong> <strong>Software</strong>, Inc.<br />
<strong>Quick</strong> Start <strong>for</strong> <strong>MULTI</strong> and DaVinci technology processors<br />
19
Corporate Headquarters<br />
30 West Sola Street<br />
Santa Barbara, CA 93101<br />
ph: 805.965.6044<br />
fax: 805.965.6343<br />
email: sales@ghs.com<br />
www.ghs.com<br />
North American Sales Offices<br />
Arizona - Phoenix<br />
Tel: 602.953.6123<br />
Cali<strong>for</strong>nia - Los Angeles<br />
Tel: 805.965.6044<br />
Cali<strong>for</strong>nia - San Clemente<br />
Tel: 949.369.3950<br />
Cali<strong>for</strong>nia - Santa Clara<br />
Tel: 408.919.0800<br />
Canada - Ottawa<br />
Tel: 613.271.2115<br />
Colorado - Denver<br />
Tel: 303.740.8462<br />
Georgia - Atlanta<br />
Tel: 404.873.6285<br />
Illinois - Chicago<br />
Tel: 847.515.2418<br />
Massachusetts - Natick<br />
Tel: 508.655.5155<br />
Massachusetts - Topsfield<br />
Tel: 978.887.0051<br />
North Carolina - Mars Hill<br />
Tel: 828.689.8508<br />
Ohio - Day<strong>to</strong>n<br />
Tel: 937.848.8644<br />
Texas - Dallas<br />
Tel: 972.712.1407<br />
Washing<strong>to</strong>n - Bothell<br />
Tel: 425.402.3692<br />
International Offices<br />
Australia<br />
Tel: +61.4.3744.7638<br />
France<br />
Tel: +33.1.46.96.07.00<br />
Germany<br />
Tel: +49.721.98.62.580<br />
Israel<br />
Tel: +972.9.958.4060<br />
Japan<br />
Tel: +81.3.3576.5351<br />
Netherlands<br />
Tel: +31.33.4613363<br />
Sweden<br />
Tel: +46.46.211.33.70<br />
United Kingdom<br />
Tel: +44.1844.267950<br />
North American Safety<br />
Critical Products Sales Offices<br />
Cali<strong>for</strong>nia - Laguna <strong>Hills</strong><br />
Tel: 949.460.6442<br />
Florida - Palm Harbor<br />
Tel: 727.781.4909<br />
Technical Support<br />
North America Mountain/Pacific<br />
time, Australia, New Zealand<br />
support-west@ghs.com or<br />
1.877.GHS.TECH<br />
North America Eastern/Central<br />
time, South America<br />
support-east@ghs.com or<br />
1.877.GHS.TECH<br />
Europe, Africa, India<br />
support-nl@ghs.com or<br />
+31.33.4613363<br />
Japan, Taiwan, South Korea<br />
support@adac.co.jp or<br />
+86.10.62000988<br />
Safety Critical Technical Support<br />
support-ada@ghs.com or<br />
727.781.4909