100% found this document useful (1 vote)
653 views9 pages

RNS300 Line Codes

The document provides settings and information for reading sector 59 from flash memory using an STA2052 MCU and a J-Link clone debugger. It lists the flash memory chip as a Spansion S29GL064MxR1 with 8192K size and sectors of 128. It also provides the initialization sequence for the ARM7 CPU and codes found in sectors of the flash memory ranging from 0000 to 1999 for FIS1 and FIS2 formats.

Uploaded by

xx
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
653 views9 pages

RNS300 Line Codes

The document provides settings and information for reading sector 59 from flash memory using an STA2052 MCU and a J-Link clone debugger. It lists the flash memory chip as a Spansion S29GL064MxR1 with 8192K size and sectors of 128. It also provides the initialization sequence for the ARM7 CPU and codes found in sectors of the flash memory ranging from 0000 to 1999 for FIS1 and FIS2 formats.

Uploaded by

xx
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

flash memory: AM29LV640 or S29GL064N

MCU: STA2052
Read sector59 with j-link clone

Settings:

Target Interface :
JTAG
JTAG speed before init - Auto selection
JTAG speed after init - Auto selection
JTAG scan chain configuration - Auto detection

CPU :
Core - ARM7 Big endian
Init sequence:
Action Value0 Value1 Comment
Reset 0 0ms
Write 32bit 0xFFFFFFE0 0x00004007 Disable illegal address reset;
Write 32bit 0xFFFFFE00 0x00000000 MemSel 0
Write 32bit 0xFFFFFE04 0x00000090 MemSel 0
Write 32bit 0xFFFFFE08 0x00000004 MemSel 1
Write 32bit 0xFFFFFE0C 0x00000080 MemSel 1
Write 32bit 0xFFFFFE10 0x00000040 MemSel 2; RAM @ 0x4..
Write 32bit 0xFFFFFE14 0x00000060 MemSel 2
Write 32bit 0xFFFFFE04 0x00000190 Activate mapping

Flash:
BaseAddr - 00000000 Organization 16 bits x 1 Chip
Manufacturer - Spansion
Chip - S29GL064MxR1
Size - 8192K Sectors: 128 BusWidth: 16 Id:1227E

Code location:
$3B0204 ... $3B020B or
$3B0234 ... $3B023B depending on model

01 5F 37 00 A2 00 D8 A1 0000
01 5F 37 00 CA C9 6A 33 0001
01 5F 37 00 01 1E 8D 56 0002

01 5F 37 00 .......... 0000 FIS2


01 5F 37 D0 .......... 0001 FIS2
01 5F 37 A0 .......... 0002 FIS2
71 3F 87 C0 .......... 0003 FIS2
01 5F 37 40 .......... 0004 FIS2
01 5F 37 10 .......... 0005 FIS2
01 5F 37 E0 .......... 0006 FIS2
B1 BF 47 C0 .......... 0007 FIS2
01 5F 37 80 .......... 0008 FIS2
01 5F 37 50 .......... 0009 FIS2

41 DF E6 1F 9F A3 21 0074
01 5F 37 F8 C2 C1 62 23 0081
01 5F B7 E8 32 31 52 03 0085
E1 1F 47 F0 30 F5 1C E5 0096
D1 FF A7 40 EA 19 9A A3 0100
D1 FF A7 40 EA 19 9A A3 0100 (First 4 bytes are like 0110 but the last 4
unknown)
01 3A 12 E2 01 25 EB D2 0105
71 9F 4E EE 0E FA 60 57 0133
D1 FF E7 80 E0 25 8C 55 0151
D1 D9 4D B2 D6 EF 9E A3 0166
01 58 30 F2 C3 E1 39 3E 0171
81 BA 52 22 01 A5 2B D2 0185
01 FF D7 A0 01 5E 0D 76 0200
01 5B 33 FC FC 39 E8 A1 0201
01 FF D7 80 82 60 B8 01 0206
01 5F 37 00 01 1E 8D 56 0222
01 A1 A8 A0 00 1D 4D 76 0277
01 6F C7 A0 32 30 A8 D1 0282
51 EB 4B 64 C4 49 28 E1 0289
E1 7D 93 9A DA 5B CA 61 0366
01 04 5C CA C7 21 9D CE 0389
41 0F 27 C0 DA 69 5A E3 0401 ****
01 4F 27 F0 CA D9 8A 43 0401
01 5F 23 E3 85 A6 75 F5 0453
41 0F EE 27 BA 49 DF C1 0454
01 47 1F D0 01 AE ED 86 0464
01 3B C2 3A 01 C6 DC 6B 0499 ($20,$40,$60)
01 3A 12 7A 01 25 EB 3A 0501
51 BF E7 00 60 65 CC 95 0599
01 09 8B 4E 46 53 D1 40 0619
01 D3 E7 B0 DE 2C 34 4D 0620
E1 47 8F 60 B2 A9 D2 FB 0634
01 D3 E7 B0 DE 2C 34 4D 0620
01 5F 36 FE C9 C8 0C D1 0711
B1 BF 36 9E 49 98 1C 61 0711 // FIS2
A1 2E A6 76 41 B1 23 B6 0725 RNS310
01 C5 DB E2 1E E3 65 D8 0736
01 57 CC 15 BF FA 06 AC 0758
01 8E 02 FA 6D AF 83 58 0767
01 2E D5 9E 9E B8 BB 20 0771
01 1F F7 C0 CA 09 EA 73 0801
01 DF F7 C0 E2 00 98 A1 0840
51 37 3F 58 B8 8D E4 6D 0869
51 C6 3D 76 2A 44 93 F8 0913
D1 B7 D7 E8 81 0E 35 26 0918
01 29 E6 AF 01 58 4A 0C 0936
01 3B EF 94 A6 C9 B2 5F 0944
01 5F 01 CA CA C9 A0 73 0960
B1 ED 86 EF B1 CC FE 84 0972
01 AE 06 FE 51 9B 4F 24 0987
01 0E 95 5E CA 04 23 68 0993

A0 0E 85 29 8A 24 DC 05 1015
FE 5C 31 DF 9E EC 63 EA 1039
A0 CE BD 25 06 A0 58 01 1091
18 76 9D A3 94 D0 5F E0 1093
A0 9D 45 AE AF C4 4B 2E 1102
A0 9D 45 EE EF 04 8B 2E 1106 RNS300
A0 9D 14 7C 7D 92 EA 33 1111
6F 3B B9 28 08 D1 F8 89 1125
FE 59 2E F3 DA 3A 68 17 1134 or 1332 (FIS1)
A0 9D B1 55 36 74 AC 55 1145 RNS310
AB B3 5D F8 C0 8D 9C FD 1165
C9 EF 8F 51 8B 42 D3 DD 1187
FC 50 0F BF 00 5E 72 37 1255
49 E3 CB D0 EE 91 86 DF 1282
6F AB 61 FA 95 F5 02 11 1290
49 E4 94 C5 92 E0 E8 CD 1385
18 B3 DA 13 4C E2 8C 8D 1390
00 52 21 E1 E2 FC D4 9D 1433
FD 57 1B C6 CC E0 D6 BD 1456
A0 6E 4E 87 28 42 96 3D 1464
D1 3F 27 69 93 83 83 4D 1507
A0 D9 50 55 B6 44 4C 85 1512
01 66 45 e0 7b 5b b5 9e 1516 ?
FD 47 0B CD EF 22 1B 15 1547
F9 2F F7 A0 01 BE 3D A6 1548
6F 77 BD F4 5C 69 1D C2 1612
AB 6F AD DC E9 E3 B8 8D 1676
A0 9A 12 4B 6C 26 2A AD 1684
7A 88 6C 05 8E 1C 7C 9D 1740
7A 88 6C 05 8E 1C 7C 9D 36 71 5C 60 -1740
DC B3 92 2F 5C E6 F0 55 1754
7A 07 7C 74 5D 8F 4F D0 1757
A0 7E 56 BE FF 9D B5 BE 1801
49 EF 97 37 11 16 7D 75 1803
49 EF 9F B0 8A 98 20 B9 1838
A0 2E 0E 07 A8 C2 16 7D 1846
49 EF 77 10 EA 58 C0 F9 1870
A0 BE 56 BE FF 9D B5 BE 1881
49 2F 8F E0 01 BE 55 FE 1898
A0 15 3D 1D FE 3C F4 9D 1909
FC 2D EA 9A 43 8F 0F 40 1935
A0 15 F9 61 C2 00 38 61 1941
FD 37 EB B1 73 76 0F 5D 1943
3E 41 8A F8 F5 5B C7 E0 1953
7A 99 0E 98 75 FB 27 A0 1957
DC 6D 06 D6 AF EF 9F 80 1975
F8 05 8C 51 7A 1C 38 B5 1992
A0 15 04 3D 1E 5C 40 E9 1994
18 C5 EC E8 A9 6E 26 2F 1995
A0 15 04 8D 6E AC 50 F9 1998

EF 4C 1B DC 79 E3 87 EC 2194

ef 3b 0b cc b8 7d cc d1 3618

50 FD 24 5D 4E 9C 60 19 9994
7A 88 6C 05 8E 1C 9D 36 1740 RNS310
7A 88 6C 05 8E 1C 7C 9D 36 71 5C 60 1740 Correct one
Didn't you make a mistake on this line?
7
A
8
8
6
C
0
5
8
E
1
C
7
C
9
D
must be for this code!
Raimax
2nd February, 2020, 06:56 PM
7
A
8
8
6
C
0
5
8
E
1
C
7
C
9
D
must be for this code!
Interesting! Apparently only the first 4 bytes are important or ??!
All codes are 8 bytes.
but in FIS1 more then one code can happen because the first 4 bytes are read first
then the next 4.
In FIS2 all 8 bytes are needed.

Type1 = code range 0000~1999 (8 bytes then 8 bytes of "0" then 2 bytes of CRC)
Type2 = code range 0000~1999 (8 bytes of code then 8 bytes of CRC)
Type3 = code range 0000~9999 (8 bytes of code)

type 2 algo in 99.5% of codes only needs first 4 bytes for code...
codes from 0000-1999 there are only 10 arrays that produce 2 different codes

If the string starts with 01 59 2B EE then possible codes are: 0322, 0332, 0611 and
0661.
From Martech this 01 59 2B EE 96 03 E1 B0 is 0332.
Any explanation ?!? 01 29 CB 5E 36 03 51 90
this must be 0699. Of course the second nibble is the same for both: 19BE6310.
Carradio2001.
Wrong line code , he,he,he...

Wrong... if you say Martech says this then Martech is wrong.... again...

01 59 2B EE 96 03 E1 B0 = 0611 maybe 0699 if CRC is different

(X1 X9 XB XE X6 X3 X1 X0 = XX11)

From my point of view, certain If the string starts with


01 59 2B EE then possible codes are: 0322, 0332, 0611 and 0661.

Well Martech gives this time different codes for the same strings :
0332 and 0699. Voila !

Because Martech isn't always correct....


FIS1 is 8bytes and FIS2 & FIS3 are 16bytes long, Martech only looks at 4bytes
so can never be accurate... Those codes are only POSSIBLE codes....
It uses 4bytes because the old FIS1 radios accepted any code from the first
4 bytes, but later models use 8bytes.
FIS2 use 16bytes but accept any code from the first 8bytes.
All FIS data is 8bytes of code and 8bytes of CRC,
FIS1 CRC is always "00 00 00 00 00 00 00 00"
Maybe now you understand.......

An example:
01 5F 37 00 A2 00 D8 A1 = 0000
01 5F 37 00 CA C9 6A 33 = 0001

6F DD FD A4 89 1E 8D 3A 36 97 D0 99 85 AD A0 39 othere algo code 1289 calculator


Fis does not work

00 5E 2D ED EE C8 A0 69 00 00 00 00 00 00 00 00 other algo code 1033 calculator


Fis works

6F DD FD A4 89 1E 8D 3A code 1289 is correct

Here's an example:
01 5F 37 00 A2 00 D8 A1 = 0000
01 5F 37 00 CA C9 6A 33 = 0001

You are saying these should have the same code... there are many other examples if
you like

wbr

that is FIS 1 where the majority of codes begin 01 for 0000 -0999

in FIS 2 there are a lot more first numbers 01-41-51-71-81 etc. so code is code
calculated

that is FIS 1 where the majority of codes begin 01 for 0000 -0999
in FIS 2 there are a lot more first numbers 01-41-51-71-81 etc. so code is code
calculated

FIS1 2 or 3 ... all the same layout, code then checksum, 16 bytes
I'm not going to argue with you, try your theory on an actual radio

----------------------
01 5F 37 00 00 F5 FC C5 = ????
01 5F 37 F0 F0 E5 EC B5 = ????
There are 37 possible codes from 0000-9999 range.
I don't have now a navi to test, only FIS_2 I can. Two codes I know but can be more
OK ...

Carradio2001.
01 5F 37 00 00 F5 FC C5 Code: 0003
01 5F 37 F0 F0 E5 EC B5 Code: 0304

----------------
I need 1111 for FIS 1 algo [00 5D 34 FC xD x2 xA x3]
I have a navigation with speed button defective, I need code 1111 for FIS_1.

Try this:
eg: 00 5D 34 FC FD 92 FA 53 00 00 00 00 00 00 00 00

This line of code it is NOT 1111 (FIS_1), waiting for another opinion ..
----------------

------------------------
VWZ1Z7.......
7H0 035 191
7 612 002 018

-----------------------
Only 0355 and 0755 will work.
0055 had another nibble bytes --> 01 5F 1E CE x1 xE x8 x3

---------------------
Can somebody please help me with missing codes: 0737, 0880, 0888, 0915, 0951, 1004,
1010 and 1070 for FIS_1 codes
All starting with 01 5F 37 00 xx xx xx xx

As far as I'm aware codes with data 015F3700xxxxxxxx are 0000~0500

----------------
Another and the thousandth code 2194 !!!!! :guns:
FOLKS ! If you will see EF4C1BDC79E387EC on the lines 020,040,060 that means
code 2194, code which is not genuine from radio, it is implemented by Carprog and
NYO

Apparently only the first 4 bytes are important


All codes are 8 bytes.
but in FIS1 more then one code can happen because the
first 4 bytes are read first then the next 4.
In FIS2 all 8 bytes are needed.
Exampe for you:

01 5F 37 00 A2 00 D8 A1 = 0000 - OK
01 5F 37 00 CA C9 6A 33 = 0001 - OK
you can search 4 bytes and find a code but it won't always be correct

CODE: 1995 LINE(Type1): F8058C28E92E666F


CODE: 1995 LINE(Type2): 18C5ECE8A96E262F

CODE: 1995 F8058C28E92E666F = MFD2


CODE: 1995 18C5ECE8A96E262F = MFD1, RNS300,RNS310

Again not correct, RNS300 uses Type 1 and Type 2


Type1 = code range 0000~1999 (8 bytes then 8 bytes of "0" then 2 bytes of CRC)
Type2 = code range 0000~1999 (8 bytes of code then 8 bytes of CRC)
Type3 = code range 0000~9999 (8 bytes of code)

type 2 algo in 99.5% of codes only needs first 4 bytes for code...
codes from 0000-1999 there are only 10 arrays that produce 2 different codes

--------------
A0 7E 56 BE FF 9D B5 BE

For information, FIS is 16 bytes not 8 bytes,

example: A0 7E 56 BE FF 9D B5 BE ?? ?? ?? ?? ?? ?? ?? ??

FIS1 = ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00 (Code retrievable from first


4 bytes)
FIS2 = ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? (Code retrievable from first
8 bytes)

FIS 2 code is available from first 4 bytes

Agreed but for accurate code 8 bytes are needed

btw, What is the code for this: 01 5F 37 00 (FIS2)

it is 0000 exactly like FIS 1

------------------
0001 for fis 2 = 01 5F 37 D0 9A 99 3A D3

------------------

4th byte AO should read 00

FIS1 01 5F 37 00 01 1E 8D 56 = 0002
FIS2 01 5F 37 A0 01 1E 8D F6 = 0002
A0 does not compute

-----------------
It's in Fis2 radios tho, this dump is another example with the A0 & F6
How doesn't it compute btw? It fits into the algo

wbr
I know the algo for getting the code
A0 does not compute with the first 3 bytes in any algo

Either I don't understand the answer or something is wrong here. Here is also the
fourth byte A0

01 FF D7 A0 01 5E 0D 76 = 0200
01 A1 A8 A0 00 1D 4D 76 = 0277
01 6F C7 A0 32 30 A8 D1 = 0282

yes, A0 computes with those but it does not compute with 01 5F 37

I will put this whole line of code into the Audi navi radio right away and I will
see if this code is accepted by the radio

01 5F 37 A0 01 1E 8D F6 CA 7F 94 D5 9D DD 80 BD

0002 code works


To be accurate you must also try
"01 5F 37 00 01 1E 8D 56 CA 7F 94 D5 9D DD 80 BD"

Unfortunately, this data is not accepted

--------------------------------------
definitely not 0081 and change 37 to B7 to give 0088

-------------------------------

If the string starts with 01 59 2B EE then possible codes are:


0322, 0332, 0611 and 0661.
From Martech this 01 59 2B EE 96 03 E1 B0 is 0332.
Any explanation ?!? 01 29 CB 5E 36 03 51 90
this must be 0699. Of course the second nibble is the same for both: 19BE6310.

Wrong... if you say Martech says this then Martech is wrong.... again...

01 59 2B EE 96 03 E1 B0 = 0611 maybe 0699


if CRC is different (X1 X9 XB XE X6 X3 X1 X0 = XX11)

Because Martech isn't always correct....


FIS1 is 8bytes and FIS2 & FIS3 are 16bytes long, Martech only looks at 4bytes
so can never be accurate...
Those codes are only POSSIBLE codes....
It uses 4bytes because the old FIS1 radios accepted any code from the first
4 bytes, but later models use 8bytes.
FIS2 use 16bytes but accept any code from the first 8bytes.
All FIS data is 8bytes of code and 8bytes of CRC,
FIS1 CRC is always "00 00 00 00 00 00 00 00"
An example:
01 5F 37 00 A2 00 D8 A1 = 0000
01 5F 37 00 CA C9 6A 33 = 0001

You might also like