Skip to content

Latest commit

 

History

History
85 lines (68 loc) · 2.78 KB

File metadata and controls

85 lines (68 loc) · 2.78 KB

JTAG enable

This program makes Raspberry Pi's ARM JTAG enable to degub.
You need any external JTAG interface probe.

Connect JTAG interface to below pins.

  • pin15 - nTRST(GPIO22/ALT4)
  • pin18 - TDO/DI(GPIO24/ALT4)
  • pin22 - TCK/SK(GPIO25/ALT4)
  • pin37 - TDI/DO(GPIO26/ALT4), or old RP1 pin7 - TDI/DO(GPIO04/ALT5)
  • pin13 - TMS/CS(GPIO27/ALT4)
  • pin20 - GND(Ground)

Connect JTAG interface, and run this program, then start debugger.


How to

For Raspberry Pi Zero/1/2/2_64/3/3_64/4/4_64) Bare Metal code by AZO.

How to make:

  1. install "arm-none-eabi-gcc" or "gcc-aarch64-linux-gnu"(RP2_64/RP3_64/RP4_64).
  2. Open "Makefile " with texteditor, and change options.
    BOARD=OLDRPI/RPZERO/RP1/RP2/RP3/RP3_64/RP4/RP4_64
  3. make
  4. If successfully, output "kernel.img"(RPold1/Zero/1) or "kernel7.img"(RP2/3) or "kernel7l.img"(RP4) or "kernel8.img"(RP2_64/RP3_64/RP4_64).

How to run:
Put follow files to FAT SD card.

  • "bootcode.bin"
  • "start.elf"
  • "fixup.dat"
  • "config.txt" <- config_32bit.txt or config_64bit.txt.
  • "kernel.img"(RPold1/Zero/1) or "kernel7.img"(RP2/3) or "kernel7l.img"(RP4) or "kernel8.img"(RP2_64/RP3_64/RP4_64)

Firmware:
Grub "bootcode.bin" and "start.elf" and "fixup.dat" at
https://github.com/raspberrypi/firmware/tree/master/boot


OpenOCD

Use newest OpenOCD from repository.

You can make OpenOCD, include current implemantion for ARMv8.

git clone https://git.code.sf.net/p/openocd/code openocd-code  
cd openocd-code  
./bootstrap.sh
./configure --enable-ftdi --enable-bcm2835gpio  
make -j4  
sudo make install

and

sudo -s  
cp cfg/bcm*.cfg /usr/local/share/openocd/scripts/board/  
exit

When debug, run follow command.

openocd -f interface/yourinterface.cfg -f board/bcm2835.cfg  

You can use GDB, or
Eclipce + OpenOCD debugging Eclipse plug-in.
http://gnuarmeclipse.github.io/debug/openocd/

--- But, I don't success RP4 connection. Please tell me good method :(


Referrence