lpc_jtag
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Use a LPC2148 module as a JTAG probe and connect it to GDB via remote protocol over USB Serial.
LPCGDB

Introduction

This project was created as a means to enable fast, cheap and robust debugging of
embedded targets such as ARM, BlackFin and others.
By using a LPC214x chip alot of necessary functionality is already there, such as
USB, UART and a bunch of I/O pins.
The idea is that someone should be able to just buy 2 LPC prototype boards and use
one of them to debug the other via USB and gdb. (Also using MXDB)


Features

JTAG
	ARM7 (r4 atleast)
	ARM920T
	BF533

FLASH Programming:
	LPC21x using ISP/IAP?


GDB remote protocol.
Extended remote protocol. (A binary protocol for faster data rates, used by MXDB)





LPC2138 board pins:

J3:
19: RTCK
20: TDO
21: TDI
22: TCK
23: TMS
24: TRST
27: GND

10pin   20pin
1 VCC   1 VCC
2 nTRST 3 nTRST
3 TDI   5 TDI
4 TMS   7 TMS
5 TCK   9 TCK
6 TDO   13 TDO
7 nRST  15 nRST
8 GND   Even pins GND
9 GND   Even pins GND
10 GND  Even pins GND



Example how to load and run something on the gp2x:

(gdb) file 
(gdb) set debug remote 1
(gdb) target remote /dev/ttyACM0
CTRL-C
(gdb) monitor mmuoff
(gdb) monitor ll@0x100
(gdb) load
(gdb) c


Exmplanation of the "monitor" command.
It sends a command to the GDB stub as a string.
Commands implemented are: "ll", "mmuoff", "mmuon", "id", "targets", "flash", "lpcfreq"

"ll" Loads a small binary into the target RAM at the specified address, and then starts the core at that address.
The small program can read/write target memory communicate through a special debug register that can be read/written from JTAG while the processor is running.
Makes reading/writing memory alot faster.
It's important that the mmu is either off, or that you really know what you're doing regarding virtual addresses and cache.
Also that you don't overwrite the "ll" program with your binary.

"mmuoff" makes sure the MMU is turned off.

"mmuon" Does nothing useful atm.

"id" returns the idcode to GDB

"targets" returns the supported targets.

"flash" instantiates a flash driver, only lpc supported atm.

"lpcfreq" is used by the lpc flash driver internally, it's the lpc's crystal frequency in kHz (iirc)


本源码包内暂不包含可直接显示的源代码文件,请下载源码包。