This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

GPIO manipulation on A55 core of IMX93 with JTAG

I'm working on a custom board using an NXP IMX93 (which contains an A55 core).

Using JLink and this script I can connect

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
Log "C:\temp\yocto\JLink\jlink.log"
device MIMX9352_A55_0
si JTAG
speed 4000
jtagconf -1,-1
connect
halt
RsetType 0
reset
ShowHWStatus
mem32 AP1:47000050,1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I am able to connect to it with JTAG and can get some output:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SEGGER J-Link Commander V7.98c (Compiled Aug 7 2024 15:41:14)
DLL version V7.98c, compiled Aug 7 2024 15:40:25
J-Link Command File read successfully.
Processing script file...
J-Link>Log "C:\temp\yocto\JLink\jlink.log"
J-Link connection not established yet but required for command.
Connecting to J-Link via USB...O.K.
Firmware: J-Link V11 compiled May 28 2024 15:36:02
Hardware version: V11.00
J-Link uptime (since boot): 0d 00h 41m 23s
S/N:xxxxxxx
License(s): GDB
USB speed mode: High speed (480 MBit/s)
VTref=1.800V (fixed)
J-Link>device MIMX9352_A55_0
J-Link>si JTAG
Selecting JTAG as current target interface.
J-Link>speed 4000
Selecting 4000 kHz as target interface speed
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

However, I'm trying to read certain input GPIO lines, and write to certain output GPIO lines but only seem to get a value of zero. And when I attempt to write to a port set, port clear such as at 47400000h it seems to have no effect. Could this be due to the exception level? I'm currently at EL3 and secure state is Secure. 

Current exception level: EL3
Exception level AArch usage:
EL0: AArch32
EL1: AArch32
EL2: AArch32
EL3: AArch64
Non-secure status: Secure

I realise the A55 is intended to boot from a secure image and not really meant for bare-metal development, but such a simple task would surely be possible somehow? And if GPIO can be addressed, some IC2 comms would also be useful.

I am able to build and deploy a linux images for an EVK board built with Yocto ok, but I'm not yet certain the external SRAM, Flash or even the USB port is quite functioning correctly on our board, otherwise using UUU and Uboot would be the obvious option.

0