Albatron Technology ARM11/Cortex-A8 user manual Target DCC I/O via BDI

Page 43

bdiGDB for GNU Debugger, BDI2000 (ARM11/Cortex-A8)

User Manual 43

3.3.6 Target DCC I/O via BDI

It is possible to route a TCP/IP port to the ARM’s debug communciation channel (DCC). This way, the application running on the target can output messages via DCC that are displayed for example in a Telnet window. The BDI routes every byte received via DCC to the connected TCP/IP channel and vice versa. Below some simple functions you can link to your application in order to implement IO via DCC.

#define DSCR_WDTR_FULL (1L<<29) #define DSCR_RDTR_FULL (1L<<30)

static unsigned int read_dtr(void)

{

unsigned int c;

__asm__ volatile(

"mrc p14, 0, %0, c0, c5\n"

:"=r" (c));

return c;

}

static void write_dtr(unsigned int c)

{

__asm__ volatile(

"mcr p14, 0, %0, c0, c5\n"

:

: "r" (c));

}

static unsigned int read_dscr(void)

{

unsigned int ret;

__asm__ volatile(

"mrc p14, 0, %0, c0, c1\n"

:"=r" (ret)); return ret;

}

void write_dcc_char(unsigned int c)

{

while(read_dscr() & DSCR_WDTR_FULL); write_dtr(c);

}

unsigned int read_dcc_char(void)

{

while(!(read_dscr() & DSCR_RDTR_FULL)); return read_dtr();

}

void write_dcc_string(const char* s)

{

while (*s) write_dcc_char(*s++);

}

© Copyright 1997-2007 by ABATRON AG Switzerland

V 1.04

Image 43
Contents BdiGDB BDI2000 BDI Configuration InstallationUsing bdiGDB IntroductionAppendices Troubleshooting Maintenance TrademarksBDI2000 IntroductionBDI Configuration Connecting the BDI2000 to Target InstallationFor BDI Main / Target a connector signals see table on next Jtag Test Reset BDI Main / Target a Connector SignalsChanging Target Processor Type Adaptive Clocking For Target B connector signals see table on nextReturned Jtag Test Clock BDI Target B Connector SignalsExternal power supply Target system Please switch on the system in the following sequence142 Power Supply from Target SystemBuilt in LED indicates the following BDI states Status LED «MODE»RS232 Connector Name Description BASE-T ConnectorEthernet communication PC HostOverview of an installation / configuration process Installation of the Configuration SoftwareActivating Bootp Following the steps to bring-up a new BDI2000 Build the setup toolLoad/Update the BDI firmware/logic 1 Configuration with a Linux / Unix hostFor more information about Tftp use man tftpd Check configuration and exit loader modeTransmit the initial configuration parameters file name without any pathOry / programmable logic 2 Configuration with a Windows hostReassemble the unit as described in Appendix «Maintenance» Recover procedureTftp server for Windows NT Testing the BDI2000 to host connectionPrinciple of operation Using bdiGDBConfiguration File Part Init BdiGDB for GNU Debugger, BDI2000 ARM11/Cortex-A8 Format Coff Using a startup program to initialize the target systemROM on the target, select ROM as the format Format COFF, SREC, AOUT, BIN, ELF or ROM ExamplePushpull Part TargetCputype ARM1136 NoneLoadonly HaltStop RUNCore SoftHard Breakmode HardDaisy chained Jtag devices Low level Jtag scan chain configuration Part Host Dump filename Prompt ARM11Part Flash BLOCK, CHIP, Unlock AM29BX8 MIRRORX8, I28BX8 STRATAX8, AT49X8 Supported Flash MemoriesTor. In other words, this is the size of one sector in bytes Or use the Telnet unlock commandPart Regs Entry in the configuration file Example for a register definitionRegister definition file Connecting to the target Target setupDebugging with GDB Breakpoint Handling GDB monitor commandTarget serial I/O via BDI Target DCC I/O via BDI Telnet Interface Dump Command listCP15 Invalidate I cache line CRn = 7, opcode2 = 1, CRm = CPxx RegistersSome examples CP15 ID register CRn = 0, opcode2 = CP15 Cache Type CRn = 0, opcode2 =Multi-Core Support BASE-T SpecificationsDeclaration of Conformity CE Environmental noticeWarranty Possible reasons TroubleshootingProblem firmware can not be loadedUnplug the cables MaintenanceReinstallation All trademarks are property of their respective holders Trademarks