Hi,
The simtrace firmware is in the OpenPCD git repository at:
I used the last revision at the time of writing:
dc2983d firmware: Makefiles: enable changing toolchain
With a fairly recent gcc version:
$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (Arch Repository) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There
is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiling the firmware the usual way works, with many warnings:
$ make BOARD=SIMTRACE DEBUG=1 TARGET=main_simtrace \
CROSS_COMPILE=arm-none-eabi-
[...]
Installing that firmware went fine:
$ sudo dfu-util -d 16c0:0762 -a0 -D
./main_simtrace.bin -R
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to
http://sourceforge.net/p/dfu-util/tickets/
dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util
release!!! Opening DFU capable USB device...
ID 16c0:0762
Run-time device DFU version 0100
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0100
Device returned transfer size 256
Copying data from PC to DFU device
Download [=========================] 100% 23084 bytes
Download done.
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
dfu-util: can't detach
Resetting USB to switch back to runtime mode
Unfortunately with the new compiler the device gets re-enumerated
continuously:
usb 4-1: new full-speed USB device number 3 using
uhci_hcd
usb 4-1: new full-speed USB device number 4 using uhci_hcd
usb 4-1: new full-speed USB device number 5 using uhci_hcd
[...]
Here's what I have on the serial port:
[000000]
[000001] (C) 2006-2011 by Harald Welte <hwelte(a)hmw-consulting.de>
This software is FREE SOFTWARE licensed under GNU GPL
[000002] Version 0.5.30-dc29 compiled 20180309-165435 by gnutoo@second-laptop
[000003]
DEBUG Interface:
0) Set Pull-up 1) Clear Pull-up 2) Toggle LED1 3) Toggle LED2
9) Reset
[000004] RSTC_SR=0x00010000
[000005] LARGE req_ctx[00] initialized at 002055AC, Data: 00200A68 => 00200E28
[000006] LARGE req_ctx[01] initialized at 002055C0, Data: 00200E28 => 002011E8
[000007] LARGE req_ctx[02] initialized at 002055D4, Data: 002011E8 => 002015A8
[000008] LARGE req_ctx[03] initialized at 002055E8, Data: 002015A8 => 00201968
[000009] LARGE req_ctx[04] initialized at 002055FC, Data: 00201968 => 00201D28
[00000A] LARGE req_ctx[05] initialized at 00205610, Data: 00201D28 => 002020E8
[00000B] LARGE req_ctx[06] initialized at 00205624, Data: 002020E8 => 002024A8
[00000C] LARGE req_ctx[07] initialized at 00205638, Data: 002024A8 => 00202868
[00000D] LARGE req_ctx[08] initialized at 0020564C, Data: 00202868 => 00202C28
[00000E] LARGE req_ctx[09] initialized at 00205660, Data: 00202C28 => 00202FE8
[00000F] LARGE req_ctx[10] initialized at 00205674, Data: 00202FE8 => 002033A8
[000010] LARGE req_ctx[11] initialized at 00205688, Data: 002033A8 => 00203768
[000011] LARGE req_ctx[12] initialized at 0020569C, Data: 00203768 => 00203B28
[000012] LARGE req_ctx[13] initialized at 002056B0, Data: 00203B28 => 00203EE8
[000013] LARGE req_ctx[14] initialized at 002056C4, Data: 00203EE8 => 002042A8
[000014] LARGE req_ctx[15] initialized at 002056D8, Data: 002042A8 => 00204668
[000015] LARGE req_ctx[16] initialized at 002056EC, Data: 00204668 => 00204A28
[000016] LARGE req_ctx[17] initialized at 00205700, Data: 00204A28 => 00204DE8
[000017] LARGE req_ctx[18] initialized at 00205714, Data: 00204DE8 => 002051A8
[000018] LARGE req_ctx[19] initialized at 00205728, Data: 002051A8 => 00205568
[000019] Inititalizing usbcmd_gen_init
[00001A] udp_open(440): entering
[00001B] USART Initializing
[00001C] pio_irq_register(109): registering handler 001079bc for PIOA 7
[00001D] RST
[00001E] computed Fi(1) Di(1) ratio: 372
[000000]
[000001] (C) 2006-2011 by Harald Welte <hwelte(a)hmw-consulting.de>
This software is FREE SOFTWARE licensed under GNU GPL
[000002] Version 0.5.30-dc29 compiled 20180309-165435 by gnutoo@second-laptop
[000003]
DEBUG Interface:
0) Set Pull-up 1) Clear Pull-up 2) Toggle LED1 3) Toggle LED2
9) Reset
[000004] RSTC_SR=0x00010200
[000005] LARGE req_ctx[00] initialized at 002055AC, Data: 00200A68 => 00200E28
[000006] LARGE req_ctx[01] initialized at 002055C0, Data: 00200E28 => 002011E8
[000007] LARGE req_ctx[02] initialized at 002055D4, Data: 002011E8 => 002015A8
[000008] LARGE req_ctx[03] initialized at 002055E8, Data: 002015A8 => 00201968
[000009] LARGE req_ctx[04] initialized at 002055FC, Data: 00201968 => 00201D28
[00000A] LARGE req_ctx[05] initialized at 00205610, Data: 00201D28 => 002020E8
[00000B] LARGE req_ctx[06] initialized at 00205624, Data: 002020E8 => 002024A8
[00000C] LARGE req_ctx[07] initialized at 00205638, Data: 002024A8 => 00202868
[00000D] LARGE req_ctx[08] initialized at 0020564C, Data: 00202868 => 00202C28
[00000E] LARGE req_ctx[09] initialized at 00205660, Data: 00202C28 => 00202FE8
[00000F] LARGE req_ctx[10] initialized at 00205674, Data: 00202FE8 => 002033A8
[000010] LARGE req_ctx[11] initialized at 00205688, Data: 002033A8 => 00203768
[000011] LARGE req_ctx[12] initialized at 0020569C, Data: 00203768 => 00203B28
[000012] LARGE req_ctx[13] initialized at 002056B0, Data: 00203B28 => 00203EE8
[000013] LARGE req_ctx[14] initialized at 002056C4, Data: 00203EE8 => 002042A8
[000014] LARGE req_ctx[15] initialized at 002056D8, Data: 002042A8 => 00204668
[000015] LARGE req_ctx[16] initialized at 002056EC, Data: 00204668 => 00204A28
[000016] LARGE req_ctx[17] initialized at 00205700, Data: 00204A28 => 00204DE8
[000017] LARGE req_ctx[18] initialized at 00205714, Data: 00204DE8 => 002051A8
[000018] LARGE req_ctx[19] initialized at 00205728, Data: 002051A8 => 00205568
[000019] Inititalizing usbcmd_gen_init
[00001A] udp_open(440): entering
[00001B] USART Initializing
[00001C] pio_irq_register(109): registering handler 001079bc for PIOA 7
[00001D] RST
[00001E] computed Fi(1) Di(1) ratio: 372
[000000]
So it gets reset in a loop.
I can get it to work with the following diff:
--- a/firmware/src/simtrace/tc_etu.c
+++ b/firmware/src/simtrace/tc_etu.c
@@ -96,8 +96,8 @@ void tc_etu_init(void)
((unsigned int) 1 << AT91C_ID_TC0));
/* Connect TCLK0 to XC0 */
- tcb->TCB_BMR &= ~(AT91C_TCB_TC0XC0S);
- tcb->TCB_BMR |= AT91C_TCB_TC0XC0S_TCLK0;
+// tcb->TCB_BMR &= ~(AT91C_TCB_TC0XC0S);
+// tcb->TCB_BMR |= AT91C_TCB_TC0XC0S_TCLK0;
/* Register Interrupt handler */
AT91F_AIC_ConfigureIt(AT91C_BASE_AIC, AT91C_ID_TC0,
@@ -124,5 +124,5 @@ void tc_etu_init(void)
tcetu->TC_CCR = AT91C_TC_CLKEN;
/* Reset to start timers */
- tcb->TCB_BCR = 1;
+// tcb->TCB_BCR = 1;
}
With the diff I have the following on serial:
[000000]
[000001] (C) 2006-2011 by Harald Welte <hwelte(a)hmw-consulting.de>
This software is FREE SOFTWARE licensed under GNU GPL
[000002] Version 0.5.30-dc29-dirty compiled 20180309-165717 by gnutoo@second-laptop
[000003]
DEBUG Interface:
0) Set Pull-up 1) Clear Pull-up 2) Toggle LED1 3) Toggle LED2
9) Reset
[000004] RSTC_SR=0x00010000
[000005] LARGE req_ctx[00] initialized at 00205630, Data: 00200AEC => 00200EAC
[000006] LARGE req_ctx[01] initialized at 00205644, Data: 00200EAC => 0020126C
[000007] LARGE req_ctx[02] initialized at 00205658, Data: 0020126C => 0020162C
[000008] LARGE req_ctx[03] initialized at 0020566C, Data: 0020162C => 002019EC
[000009] LARGE req_ctx[04] initialized at 00205680, Data: 002019EC => 00201DAC
[00000A] LARGE req_ctx[05] initialized at 00205694, Data: 00201DAC => 0020216C
[00000B] LARGE req_ctx[06] initialized at 002056A8, Data: 0020216C => 0020252C
[00000C] LARGE req_ctx[07] initialized at 002056BC, Data: 0020252C => 002028EC
[00000D] LARGE req_ctx[08] initialized at 002056D0, Data: 002028EC => 00202CAC
[00000E] LARGE req_ctx[09] initialized at 002056E4, Data: 00202CAC => 0020306C
[00000F] LARGE req_ctx[10] initialized at 002056F8, Data: 0020306C => 0020342C
[000010] LARGE req_ctx[11] initialized at 0020570C, Data: 0020342C => 002037EC
[000011] LARGE req_ctx[12] initialized at 00205720, Data: 002037EC => 00203BAC
[000012] LARGE req_ctx[13] initialized at 00205734, Data: 00203BAC => 00203F6C
[000013] LARGE req_ctx[14] initialized at 00205748, Data: 00203F6C => 0020432C
[000014] LARGE req_ctx[15] initialized at 0020575C, Data: 0020432C => 002046EC
[000015] LARGE req_ctx[16] initialized at 00205770, Data: 002046EC => 00204AAC
[000016] LARGE req_ctx[17] initialized at 00205784, Data: 00204AAC => 00204E6C
[000017] LARGE req_ctx[18] initialized at 00205798, Data: 00204E6C => 0020522C
[000018] LARGE req_ctx[19] initialized at 002057AC, Data: 0020522C => 002055EC
[000019] Inititalizing usbcmd_gen_init
[00001A] udp_open(440): entering
[00001B] USART Initializing
[00001C] pio_irq_register(109): registering handler 001079bc for PIOA 7
[00001D] RST
[00001E] computed Fi(1) Di(1) ratio: 372
[00001F] ISO_SW Initializing
[000020] pio_irq_register(109): registering handler 00107fb0 for PIOA 8
[000021] pio_irq_register(109): registering handler 00107fdc for PIOA 25
[000022] VCC_PHONE off
[000023] USART Entering Rx Mode
[000024] RST
[000025] computed Fi(1) Di(1) ratio: 372
[000026] MODE: SNIFFER
[000027] RST
[000028] computed Fi(1) Di(1) ratio: 372
[000029] main(76): entering main (idle) loop
[00002A] Heart beat 00000000
[00002B] Heart beat 00000001
[00002C] Heart beat 00000002
[00002D] Heart beat 00000003
[00002E] Heart beat 00000004
[00002F] Heart beat 00000005
And I could even get some packet trace from my Galaxy SIII (i9300):
GSM SIM 80 3 9f : 00d2
GSM SIM 67 ISO/IEC 7816-4 SELECT File MF
GSM SIM 67 ISO/IEC 7816-4 SELECT /EF.ELP
GSM SIM 90 ISO/IEC 7816-4 GET RESPONSE
GSM SIM 75 ISO/IEC 7816-4 READ BINARY Offset=0
GSM SIM 67 ISO/IEC 7816-4 SELECT File EF.ICCID
GSM SIM 90 ISO/IEC 7816-4 GET RESPONSE
GSM SIM 75 ISO/IEC 7816-4 READ BINARY Offset=0
GSM SIM 85 ETSI TS 102.221 TERMINAL PROFILE
GSM SIM 67 ISO/IEC 7816-4 SELECT File EF.DIR
GSM SIM 93 ISO/IEC 7816-4 GET RESPONSE
GSM SIM 103 ISO/IEC 7816-4 READ RECORD RecordNr=1
GSM SIM 81 ISO/IEC 7816-4 SELECT Application a0000000871002ff33ff018900000100
GSM SIM 108 ISO/IEC 7816-4 GET RESPONSE
GSM SIM 67 ISO/IEC 7816-4 SELECT File MF
Denis.