comparison moko11 @ 57:277fd7b971f0

some success in finding familiar TI code in moko11 and Pirelli fw binary images
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Tue, 12 Nov 2013 04:28:47 +0000
parents
children
comparison
equal deleted inserted replaced
56:fdfb57a1c5fe 57:277fd7b971f0
1 The Init_Target() function in the TCS211 code from Sotovik (which sits in a
2 binary lib with no source!) programs nCS0 and nCS1 memory timings with WS=3.
3 We would like to determine whether or not the moko11 firmware does the same
4 thing. We have no linker map file for moko11, so we have to dig around in the
5 binary and try to match the code against known objects.
6
7 In the Sotomodem version of Init_Target(), at offset 0x60 from the beginning of
8 the function there is a BL instruction calling $CLKM_InitARMClock, and this call
9 is immediately followed by the code that sets up the memory timings.
10
11 Let's see what we can find in the moko11 binary image:
12
13 0012D4: RESET vector jumps here
14 010000: the code here appears to fully match the .inttext section of
15 TI's int.obj
16 010058: appears to be the _INT_Initialize entry point
17 (seems to be the same for all TI firmwares of that era)
18 010268: b 0x1e8364, should be a jump to the _INC_Initialize veneer
19 1D1E48: first function called from Application_Initialize, should be
20 Init_Target()
21 Matches the Sotomodem version of Init_Target() indeed,
22 including the memory timing setup!
23 1E72B0: Expected start of $INC_Initialize, appears to match
24 1E72F4: bl 0x1e81fc, should be calling Application_Initialize()
25 1E81FC: Expected start of Application_Initialize(), contains 6 calls indeed
26 1E8364: looks like an ARM->Thumb call veneer indeed
27 1E8370: Thumb code begins, does bl 0x1e72b0
28 1E8378: back to ARM, veneer return