XDS100v2 emulator problem with BeagleBone Black

1,350 views
Skip to first unread message

Dean Davis

unread,
Jul 15, 2013, 11:19:58 AM7/15/13
to beagl...@googlegroups.com
I purchased 5 BeagleBone Black boards within the past 35 days with the intention of doing some "bare metal" programming.  I have 2 boards with the JTAG connectors installed, 3 without. I purchased an XDS100v2 from the TI e-store. When it arrived, I plugged it in, and the USB drivers were installed. Using Code Composer Studio V 5.4.0.0019, I selected the XDS100v2 for debug, and started a minimal code main.c for AM3359/Cortex A target. The code compiled and built fine, but in the process of downloading and debugging, I get an error message:

Error connecting to the target:
(Error -1266 @ 0x0)
Device is held in reset. Take the device out of reset, and retry the operation.
(Emulation package 5.1.73.0)

I am unable to get past this point. My hardware:

Windows XP 32 bit computer
Code Composer Studio 5.4.0.0091
XDS100V2 (Label says BlackHawk xds100v2) purchased from TI e-store
BeagleBone Black (all purchased within the past 35 days).
External power supply for the Beaglebone boards.
 
I am not sure what pin the XDS100v2 monitors for reset, but JTAG pin15 (SYS_RESETn) is at 3.3 volts (so the Beaglebobe is technically NOT in reset.
Additional things I have tried and/or checked:
1) I have checked the voltages/ signals from the JTAG connector on an oscilloscope (XDS100v2 not connected. All have what I would expect to find (all ground pins at  zero volts, all power pins at 3.3 volts, SYS_RESETn pin 25 high when running, low when the reset button is pressed).
2) IF the XDS100v2 monitors Pin 2 (TRSTn) for reset, then that is wher the problem probably is. With the oscilloscope connected to Pin2, I never see anything other than a low voltage. According to the BeagleBone Black schematic, that pin is pulled low by a 4.75k resistor. The only other connection I can find on the schematic for that signal is to NTRST (B10) on the AM3359 processor. I have checked Pin 2 on both BeagleBone boards with the JTAG connectors installed, and both are exactly the same. Thinking that the installation of the JTAG connector may have shorted something, I tested a new one right out of the box by measuring the PBC Pad for Pin 2 on the JTAG connector place. The results are exactly the same on that board (Pin 2 never goes high). Looking at a previous post, another person was having a similar problem. It was suggested to hold the boot button down when powering the board on so that it would not try and boot Angstrom Linux from the flash memory. I also tried this numerous times with the same result (Pin 2 on the JTAG board never goes high).

Just out of desperation, downloaded the Ansgtrom 2013_06_20 image  and flashed it to one of the boards just to see if it would make a difference (It did not).

Other notes:

If I check the box to reset the microprocessor on connect of the XSDS100v2, when I try to run debug, I do see the BeagleBone board reset.
Also, If I disconnect the power from the BeagleBone, I get a message that the board is powered down. So it appears that most of the functions of the XDS100v2 /Code Composer Studio are working.

I have only come to 2 possible conclusions from all these tests.
1) If the XDS100v2 checks SYS_RESETn for reset, then the XDS100v2 must be bad.
2) If the XDs100v2 checks the TRSTn pin for reset, then I either have 5 defective BeagleBone boards (which I am not inclined to believe since they all function normally in every other way).


Thus far I am at my wits end, and I can't think of anything else to try at this point. Any help or pointers at this point would be greatly appreciated. Thanks

Dean

Maxim Podbereznyy

unread,
Jul 15, 2013, 1:12:34 PM7/15/13
to beagleboard
and no information about a GEL file you used..


2013/7/15 Dean Davis <de...@jeanniesherbs.com>


Dean

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--

laza...@yahoo.com

unread,
Jul 15, 2013, 3:54:43 PM7/15/13
to beagl...@googlegroups.com
Google the list someone claimed to have ported the gel TI supplies for the white to the black. Did you think the processor gets uninitialized by magic ?

From Android 4G on HTC Sense dual core SnapDragon.

laza...@yahoo.com

unread,
Jul 15, 2013, 3:57:08 PM7/15/13
to beagl...@googlegroups.com

Dean Davis

unread,
Jul 15, 2013, 5:50:13 PM7/15/13
to beagl...@googlegroups.com
Thanks. Since I am new to ARM programming, I had no idea what a GEL file was.

I found this excellent tutorial on how to make a GEL file for the BeagleBone Black :
http://processors.wiki.ti.com/index.php/Sitara_Linux_Training:_Tuning_the_DDR3_Timings_on_BeagleBoneBlack

So, I now know what a GEL file is and mostly what it does. My background is electronics design (the last 20 years spent doing PCB design for embedded processors), with some low level driver programming so that the "real programers" could use my libraries to interface with the hardware.

I may be dating myself, but most of the last programming I did was on Motorola 68020, 68HC11,  AT&T DSP32C, and early TI DSP 320 series processors. On those, we just connected up an emulator, and started downloading and debugging files.

I am bored in retirement, so hence the BeagleBone programming (keeps me busy and off the streets). I have a project in mind where I need to control at least 8 GPIO ports so that they can be switched on and off at a rate of around 250 KHz. Also, there can be no delay between the time one port changes and the next one changes of no greater than 1 microsecond. The only way that I can see this accomplished, is by down and dirty "bare metal" programming.

Again, thanks for your help.

Mark Lazarewicz

unread,
Jul 15, 2013, 7:25:40 PM7/15/13
to beagl...@googlegroups.com
Dean

GEL files used to be used alot to automate V&V test cases software but TI is moving away from .gel for automation


as far as processor initialization

Any processor that has a memory controller and a memory map that uses this external memory or needs certain registers inititialized to run using an emulator has these startup scripts. typically the HW vendor suppplies these as TI does for the BBW

MMU and cache init would be another reasons. holding certain processors in reset on a multicore SOC is another application for these script

Lauterbach scripts are called PRACTICE
TI JTAG used .gel
GreenHills JTAG has its one scripts
Applied Microsystems had another script

Recently i USED a gel file that loaded our code into a large external RAM
for a TI28335 that had internal RAM and FLASH. WHY? we got more breakpoints and it loaded faster.

Being a HW type is always good focus on the HW differences between the white and black and then look at the gel file supplied with white and adjust the gel file for the difference ie RAM size and timings

also barebones type questions TI's E2E forum is another resource for questions they have to answer in a timely manner I take it you heard of starterware its another good resource for working NON OS code

--------------------------------------------
On Mon, 7/15/13, Dean Davis <de...@jeanniesherbs.com> wrote:

Subject: Re: [beagleboard] XDS100v2 emulator problem with BeagleBone Black
To: beagl...@googlegroups.com
Date: Monday, July 15, 2013, 4:50 PM
Reply all
Reply to author
Forward
0 new messages