Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

PROCESSOR-SDK-OMAPL137: OMAPL137 ARM UBL FlashAndBootUtils UART Debug

$
0
0

Part Number:PROCESSOR-SDK-OMAPL137

I'm testing the ARM UBL Code from OMAP-L137_FlashAndBootUtils_2_40. I have created a new project in CCSv*, under a linux host, and I'm trying to step through it and debugging. I'm expecting to see a stream of data out of UART2, P1 on the Spectrum Digital EVM. I'm confident the project is configured properly. The spectrum digital is in Emulation boot mode and from CCS I can launch the target, connect to the DSP, then connect to the ARM, load the ARM UBL program and step through it. I can see the entry point "boot" and the code pauses in main() at ubl.c to allow me to step-through. 

Even before I can test the UBL works correctly I'm stuck receiving: DEBUG_printString((String)devString);

I've tested on a Windows machine using Putty and on a Linux host using minicom. In both cases I ensure I configure the host to: 115200, 8 bits, 1 stop bit, no parity, no flow control. Following:

I'm using a DB9 to USB converter which I have tested works if I change the bootmode to UART and I can see BOOTME on the screen. I've confirmed the adapter is at /dev/ttyUSB0 and sometimes can see 1 char. Initially a "O" and then changed it to "Hello" and can see an "H".

The code gets stuck here:

do
{
status = (UART->LSR)&(0x20);
timerStatus = DEVICE_TIMER0Status();
}
while (!status && timerStatus); <----- status is 0

where: 

LSR unsigned int 0x00000000 (Hex) 0x01D0D014

Here is a dump of the UART2 registers:

*(UART) struct _DEVICE_UART_REGS_ {RBR=0x00000000,IER=0x00000007,IIR=0x000000C1,LCR=0x00000003,MCR=0x00000000...} (Hex) 0x01D0D000 

RBR unsigned int 0x00000000 (Hex) 0x01D0D000
IER unsigned int 0x00000007 (Hex) 0x01D0D004
IIR unsigned int 0x000000C1 (Hex) 0x01D0D008
LCR unsigned int 0x00000003 (Hex) 0x01D0D00C
MCR unsigned int 0x00000000 (Hex) 0x01D0D010
LSR unsigned int 0x00000000 (Hex) 0x01D0D014
MSR unsigned int 0x00000000 (Hex) 0x01D0D018
SCR unsigned int 0x00000000 (Hex) 0x01D0D01C
DLL unsigned char 0x51 'Q' (Hex) 0x01D0D020
RSVD1 unsigned char[3] [0x00 '\x00',0x00 '\x00',0x00 '\x00'] (Hex) 0x01D0D021
DLH unsigned char 0x00 '\x00' (Hex) 0x01D0D024
RSVD2 unsigned char[3] [0x00 '\x00',0x00 '\x00',0x00 '\x00'] (Hex) 0x01D0D025
PID1 unsigned int 0x44141102 (Hex) 0x01D0D028
PID2 unsigned int 0x00000000 (Hex) 0x01D0D02C
PWREMU_MGMT unsigned int 0x0000E002 (Hex) 0x01D0D030
MDR unsigned int 0x00000000 (Hex) 0x01D0D034

Any suggestions will be welcomed, I'm suspecting the adapter.


Viewing all articles
Browse latest Browse all 17527

Trending Articles