SD card initialization messages from 5D3:
CSMgrTask:ff5c4634:1e:01: CSMgrTask: pMessage=0x361a4, pLStorage=0x647a5c
CSMgrTask:ff5c457c:1e:01: MapLogToPhysic: pLStorage=0x647a5c
CSMgrTask:ff5c45a0:1e:01: MapLogToPhysic: SUCCESS(ID=1)
CSMgrTask:ff5c457c:1e:01: MapLogToPhysic: pLStorage=0x647a5c
CSMgrTask:ff5c45a0:1e:01: MapLogToPhysic: SUCCESS(ID=1)
CSMgrTask:ff6bda48:23:03: ---- SDEventHandler(ID=1:Event=8) ----
CSMgrTask:ff6bcb14:23:01: SD_DeviceCreate: StorageID=1, WP=0
CSMgrTask:ff6bcc20:23:01: sdIdentifyDrive Start
CSMgrTask:ff6baeb0:23:01: sdSoftReset( 0 )
CSMgrTask:ff6baf24:23:01: sdSoftReset SUCCESS
CSMgrTask:ff6baf40:23:01: sdTrySendCommand1 Start
CSMgrTask:ff6baf88:23:03: sdTrySendCommand1: Timeout
CSMgrTask:ff6baeb0:23:01: sdSoftReset( 0 )
CSMgrTask:ff6baf24:23:01: sdSoftReset SUCCESS
CSMgrTask:ff6baac0:23:01: sdIdentifyDrive Start
CSMgrTask:ff6bd6e4:23:01: sdSendIFCondition Start
CSMgrTask:ff6bd8f4:23:01: sdSendIFCondition End
CSMgrTask:ff6ba724:23:01: sdSendOCR Start
CSMgrTask:ff6ba864:23:05: sdSendOCR: Hi-Capacity Card
CSMgrTask:ff6ba888:23:05: sdSendOCR: 1.8V Signaling Card
CSMgrTask:ff6baaa4:23:01: sdSendOCR End
CSMgrTask:ff6bab48:23:01: sdAllSendCID Start
CSMgrTask:ff6bac7c:23:01: sdAllSendCID End
CSMgrTask:ff6ba5b0:23:01: sdSendRelativeAddress Start
CSMgrTask:ff6ba6f8:23:01: sdSendRelativeAddress End
CSMgrTask:ff6ba1cc:23:01: sdSendCSD Start
CSMgrTask:ff6ba288:23:03: CsdStructVersion = 1
CSMgrTask:ff6ba2a8:23:03: MMCSpecVersion = 0
CSMgrTask:ff6ba370:23:03: C_SIZE=0x0001d0df READ_BL_LEN=0x0009
CSMgrTask:ff6ba3ac:23:03: *** EraseBlks = 128 ***
CSMgrTask:ff6ba3d0:23:05: CARD CAPACITY is 59504Mbyte( 121864192Sec )
CSMgrTask:ff6ba438:23:01: sdSendCSD End
CSMgrTask:ff6b9df8:23:01: sdSendCID Start
CSMgrTask:ff6b9eac:23:01: ***********************************
CSMgrTask:ff6b9ec4:23:01: MID: 0x41
CSMgrTask:ff6b9ee8:23:01: OID: 0x3432
CSMgrTask:ff6b9f18:23:01: PNM: SD64G
CSMgrTask:ff6b9f38:23:01: PRV: 3.0
CSMgrTask:ff6b9f64:23:01: PSN: 0x02e81ab2
CSMgrTask:ff6b9f8c:23:01: MDT: 2013/05
CSMgrTask:ff6b9fa4:23:01: CRC: 0x9b
CSMgrTask:ff6b9fb4:23:01: ***********************************
CSMgrTask:ff6ba038:23:03: sdSendCID: MID = 0x41, PDN = 0x5344
CSMgrTask:ff6ba048:23:01: sdSendCID End
CSMgrTask:ff6b9bf0:23:01: sdSelectDeselectCard Start
CSMgrTask:ff6b9ddc:23:01: sdSelectDeselectCard End
CSMgrTask:ff6b9a78:23:01: sdSetClearCardDetect Start
CSMgrTask:ff6b9bd4:23:01: sdSetClearCardDetect End
CSMgrTask:ff6b9708:23:01: sdSendStatus Start
CSMgrTask:ff6b98bc:23:03: sdSendStatus: SD_CARD_TYPE_H = 0x0000
CSMgrTask:ff6b98d8:23:03: sdSendStatus: SD_CARD_TYPE_L = 0x0000
CSMgrTask:ff6b9958:23:01: sdSendStatus End
CSMgrTask:ff6b95fc:23:01: sdSendSCR Start
CSMgrTask:ff6b9690:23:03: sdSendSCR: SCR=0x03804502, SpecVersion=2
CSMgrTask:ff6b96e8:23:01: sdSendSCR End
CSMgrTask:ff6bd384:23:01: sdCheckFunction Start
CSMgrTask:ff6bd40c:23:01: sdCheckFunction End
CSMgrTask:ff6b8fec:23:01: sdSetFunction( 16776961 ) Start
CSMgrTask:ff6b91c8:23:01: sdSetFunction( 16776961 ) End
CSMgrTask:ff6bae58:23:01: sdIdentifyDrive End(2)
CSMgrTask:ff6bcd20:23:01: pBlkDev=0x647b64
CSMgrTask:ff6bcd40:23:03: nBlocks=121864192, blksPerTrack=0, nHeads=0
CSMgrTask:ff6bcec0:23:03: ERASE_TIMEOUT:2a
CSMgrTask:ff6bcee0:23:03: ERASE_OFFSET:2
CSMgrTask:ff6bcf08:23:03: ERASE_SIZE:100
CSMgrTask:ff6bcf28:23:03: AU_SIZE:f
CSMgrTask:ff6bcf3c:23:03: dwEraseSectorSize:128
CSMgrTask:ff6bcf5c:23:03: dwEraseBlks:80000 CSD:1
CSMgrTask:ff6bdb44:23:05: SD_GetAccessMode=3
CSMgrTask:ff6bdb7c:23:05: Set Hi-Speed Mode( 48MHz )
CSMgrTask:ff6bc87c:23:01: sdReadBlk: st=0, num=1, buf=0x40647d4c
CSMgrTask:ff6bb3f4:23:01: sdDMAReadBlk: st=0, num=1
CSMgrTask:ff5c592c:21:01: fsuGetPart: default 1
CSMgrTask:ff5c5948:21:01: nBlocks = 121864192, blkOffset = 32768
Code from dm-spy-experiments branch, "CONFIG_DEBUG_INTERCEPT_STARTUP = y" in Makefile.user, and the following code changes:
diff -r 3f8197bdca6a src/dm-spy.c
--- a/src/dm-spy.c Thu Jul 31 10:23:06 2014 +0300
+++ b/src/dm-spy.c Thu Jul 31 10:23:37 2014 +0300
@@ -24,7 +24,7 @@
extern void dm_spy_extra_install();
extern void dm_spy_extra_uninstall();
-#define BUF_SIZE (1024*1024)
+#define BUF_SIZE (128*1024)
static char* buf = 0;
static volatile int len = 0;
@@ -86,6 +86,8 @@
/* careful, 1MB may be too much for your camera */
static char staticbuf[BUF_SIZE];
+#include "cache_hacks.h"
+
// call this from boot-hack.c
void debug_intercept()
{
@@ -95,12 +97,9 @@
{
buf = staticbuf;
//~ dm_spy_extra_install(); /* not exactly working, figure out why */
- patch_memory(
- DebugMsg_addr, /* hook on the first instruction in DebugMsg */
- MEM(DebugMsg_addr), /* do not do any checks; on 5D2 it would be e92d000f, not sure if portable */
- B_INSTR(DebugMsg_addr, my_DebugMsg), /* replace all calls to DebugMsg with our own function (no need to call the original) */
- "dm-spy: log all DebugMsg calls"
- );
+ cache_lock();
+ cache_fake(DebugMsg_addr + 0xFF9F07C0, B_INSTR(DebugMsg_addr, &my_DebugMsg), TYPE_DCACHE);
+
}
else // subsequent call, uninstall the hook and save log to file
{