Files
2025-10-14 09:52:32 +09:00
..
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00
2025-10-14 09:52:32 +09:00

; --------------------------------------------------------------------------------
; @Title: How to use the Lauterbach debugger on a ODROID C2 target
; @Description: Board adaptation, GPIO configuration for JTAG, debugger start-up
; @Keywords: Cortex-A53, enable, jtag, odroid-c2
; @Author: YDA
; @Board: ODROID C2
; @Chip: S905
; @Copyright: (C) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: readme.txt 18877 2022-02-02 07:04:07Z bschroefel $

The below was tested on a ODROID-C2 board.

Overview:

The ODROID-C2 is a 64-bit quad-core single board computer(SBC).
The JTAG pins in ODROID-C2 are not connected by default to the outside world.
The developer, needs to have a program that configures the alternate GPIO functions, 
so that the JTAG signals will show up on the J7 connector. During the debug session 
no reset might happen because this would cause the default configuration of the GPIOs
and would disconnect the JTAG.
The ODRDOID-C2 does not have a standard ARM20 JTAG-20 connector, so the user needs to build 
an adapter.

ODRDOID-C2 pins to JTAG-20 pin adapter :

JTAG-20     signal  GPIO pin    ODROID-C2 pin
1           VREF                J40-1 (3.3v)
5           TDI     GPIOAO10    J7-5
7           TMS     GPIOAO09    J7-6
9           TCK     GPIOAO08    J7-4
13          TDO     GPIOAO11    J7-7
4, 6,..,20  GND                 J7-1, J40-6, J40-9, J40-14, J40-20, J40-25, J40-30, J40-34, J40-39


= How to get this configuration executed =
== Method 1 - Using jtagenable_odroid_c2.bin ==

Copy the enclosed "jtagenable_odroid_c2.bin" on the SD-card (FAT partition). It contains the
configuration above and execute an infinite while loop (no operating system boot any-more).

Further, edit the existing "boot.ini" to get this binary file executed:
After :
showlogo ${hdmimode}
add:

fatload mmc 0 0x20000000 jtagenable_odroid_c2.bin
go 0x20000000

== Method 2 - Using jtagenable_odroid_c2.bin ==

In this case the regular boot sequence is not interrupted. We use the builtin command "jtagon" to 
enable the JTAG interface.

Edit the existing "boot.ini" and add 
After :
showlogo ${hdmimode}
add:

jtagon apao

= Debugger start-up =

RESet
SYStem.RESet
SYStem.CPU S905
CORE.ASSIGN 1.
SYStem.Mode Attach
Break.direct

Alternatively run the enclosed demo program.