SetSSCG(12,0)sHWInit(0)sSWInit(0)sSetUHSMod(0,1)sRegPowCF(0)sCardInit(0)sGetCrdTyp(0)sGetCmnReg(0)sSdGetReg(0)sGetRUS(0)sGetSpd(0)sGetTtlSect(0)sCrdRd(0,0x5d757e00,0x6acf4c,0x0,-1)sGetTtlSect(0)sGetTtlSect(0)sCrdRd(0,0x5d757e00,0x6acf4c,0x0,-1)sGetTtlSect(0)sIsIntWP(0)sGetTtlSect(0)sCrdRd(0,0x421bcb00,0x6ace4c,0x0,-1)sGetTtlSect(0)sGetAUS(0)sGetTtlSect(0)sCrdRd(0,0x421bcd00,0x6ace54,0x0,-1)s
00050: InitFileModules:0x010e7ecd: SetSSCG(12,0)s00210: InitFileModules:0x010e5f6d: HWInit(0)s00210: InitFileModules:0x010e5fb7: SWInit(0)s00210: InitFileModules:0x010e7111: SetUHSMod(0,1)s00210: InitFileModules:0x010e70e9: RegPowCF(0)s00210: InitFileModules:0x010e6685: CardInit(0)s00220: InitFileModules:0x010f038f: [CMD52]=0x80000c0800230: InitFileModules:0x010ee2db: [CMD0]=0x0000000000230: InitFileModules:0x010ee2db: [CMD0]=0x0000000000230: InitFileModules:0x010ee903: [CMD8]=0x000001aa00230: InitFileModules:0x010f020d: [CMD5]=0x0000000000230: InitFileModules:0x010f0007: [CMD55]=0x0000000000230: InitFileModules:0x010eff7f: [CMD41]=0x5110000000230: InitFileModules:0x010f0007: [CMD55]=0x0000000000230: InitFileModules:0x010eff7f: [CMD41]=0x5110000000250: InitFileModules:0x010f0007: [CMD55]=0x0000000000250: InitFileModules:0x010eff7f: [CMD41]=0x5110000000250: InitFileModules:0x010ee391: [CMD2]=0x0000000000250: InitFileModules:0x010ee3d5: [CMD3]=0x0000000000250: InitFileModules:0x010ee9f1: [CMD9]=0xaaaa000000250: InitFileModules:0x010ee8bd: [CMD7]=0xaaaa000000250: InitFileModules:0x010f0007: [CMD55]=0xaaaa000000250: InitFileModules:0x010f01b1: [CMD51]=0x0000000000250: InitFileModules:0x010f0007: [CMD55]=0xaaaa000000250: InitFileModules:0x010f0045: [CMD6]=0x0000000200250: InitFileModules:0x010ee489: [CMD6]=0x00ffffff00250: InitFileModules:0x010ee489: [CMD6]=0x00fffff100250: InitFileModules:0x010ee489: [CMD6]=0x80fffff100250: InitFileModules:0x010f0007: [CMD55]=0xaaaa000000250: InitFileModules:0x010f0145: [CMD42]=0x0000000000250: InitFileModules:0x010f0007: [CMD55]=0xaaaa000000250: InitFileModules:0x010f00a9: [CMD13]=0x0000000000260: InitFileModules:0x010eedf1: [CMD16]=0x0000020000260: InitFileModules:0x010e642d: GetCrdTyp(0)s00260: InitFileModules:0x010e6db5: GetCmnReg(0)s00260: InitFileModules:0x010e70a7: SdGetReg(0)s00260: InitFileModules:0x010e721b: GetRUS(0)s00260: InitFileModules:0x010e78ab: GetSpd(0)s00260: InitFileModules:0x010e6d45: GetTtlSect(0)s00260: InitFileModules:0x010e6ae3: CrdRd(0,0x5d677dc0,0x5d677dc0,0x0,0)s00260: InitFileModules:0x010ed777: [CMD18]=0x0000000000260: InitFileModules:0x010eeb71: [CMD12]=0x0000000000260: InitFileModules:0x010ee577: [CMD13]=0xaaaa0000
Still waiting for reayalp's log...
void __attribute__((naked,noinline)) sd_debug_printf_0() {asm volatile("push {r0-r3}\n""push.w {r4-r9,lr}\n""push {r1-r7}\n"// "sub sp, sp, #0x44\n""mov r7, lr\n""ldr r2, =0x845C\n" // Current time"ldr r2, [r2]\n""ldr r6, =0x003A0010\n" // Pointer in my debug buffer"ldr r0, [r6]\n""ldr r1, =sstri\n""mov r5, r0\n""bl sprintf\n""add r5, r0, r5\n""ldr r2, =0x803C\n" //Current task name"ldr r2, [r2]\n""ldr r2, [r2, #0x24]\n""mov r3, r7\n""ldr r1, =sstri2\n""mov r0, r5\n""bl sprintf\n""add r0, r0, r5\n""str r0, [r6]\n""pop {r1-r7}\n""bl sprintf\n""ldr r6, =0x003A0010\n""ldr r5, [r6]\n""add r0, r0, r5\n""str r0, [r6]\n""pop.w {r4-r9,lr}\n""pop {r0-r3}\n""bx lr\n"// "ldr pc,=0x010f3fb5\n""sstri:\n"".asciz \"\n%05d: \"\n"".ltorg\n""sstri2:\n"".asciz \"%s:0x%08x: \"\n"".ltorg\n");}void __attribute__((naked,noinline)) sd_debug_cmd() {asm volatile(// "mov r5, r0\n"// "lsls r0, r1, #0x1a\n"// "lsrs r1, r2, #0x18\n"// "lsrs r0, r0, #0x12\n"// "ldr.w pc,=0x010f1a65\n""push {r0-r3}\n""push.w {r4-r9,lr}\n""mov r8, r1\n""mov r9, r2\n""mov r7, lr\n""ldr r2, =0x845C\n" // Current time"ldr r2, [r2]\n""ldr r6, =0x003A0010\n""ldr r0, [r6]\n""str r1, [r6, #0x18]\n""ldr r1, =csstri\n""mov r5, r0\n""bl sprintf\n""add r5, r0, r5\n""ldr r2, =0x803C\n" //Current task name"ldr r2, [r2]\n""ldr r2, [r2, #0x24]\n""mov r3, r7\n""ldr r1, =csstri2\n""mov r0, r5\n""bl sprintf\n""add r5, r0, r5\n""mov r2, r8\n" //Current CMD"mov r3, r9\n" //Current CMD argument"ldr r1, =csstri3\n""mov r0, r5\n""bl sprintf\n""add r0, r0, r5\n""str r0, [r6]\n""pop.w {r4-r9,lr}\n""pop {r0-r3}\n"// "bx lr\n""mov r5, r0\n" // Original code"lsls r0, r1, #0x1a\n""lsrs r1, r2, #0x18\n""lsrs r0, r0, #0x12\n""ldr pc,=0x010f1a65\n""csstri:\n"".asciz \"\n%05d: \"\n"".ltorg\n""csstri2:\n"".asciz \"%s:0x%08x: \"\n"".ltorg\n""csstri3:\n"".asciz \"[CMD%d]=0x%08x\"\n"".ltorg\n");}
I wonder why you didn't it by yourself...
CHDK 1.5.0 r4794Build date: Apr 25 2017 18:22:00Camera : m3 101aMode : 0x204CPU : 100 MIPS Screen write : 38068 Kb/s 110 FPSViewport read : 2682 Kb/s 2 FPSMemory write : 148945 C, 102400 UC Kb/s Memory read : 63627 C, 10691 UC Kb/s Text drawing : 18866, 13922 c/s 24, 18 FPSCard write (RAW): 41575 Kb/s Card write (MEM): 42372 Kb/s Card write (64k): 12603 Kb/s Card read (64k): 26859 Kb/s MEDIA_TYPE_SD:1.8V SupportHighCapacity Support--------------CID Information--------------Manufacturer ID = 0x03OEM/Application ID = 0x5344Product name = 'SL32G'Product revision = '8.0'Product Serial Number = 0x35A4****Manufacturing date = '2015/06'--------------CSD Information--------------CSD_STRUCTURE = 1TAAC = 14NSAC = 0max. data transfer rate = 50CCC:card common classes=1461READ_BL_PARTIAL=0read block misalignment = 0, write block misalignment = 0DSR implement=0C_SIZE = 58952TotalSectors = 60367872TotalSectors(from CSD) = 0x3992400ERASE_BLK_EN = 1ERASE_SCT_SIZE=127, SectorSize = 128BlockLength = 512EraseSize = 128WP_GRP_SIZE = 0WP_GRP_ENABLE = 0R2W_FACTOR=2WRITE_BL_LEN=9WRITE_BL_PARTIAL=0copy flag(OTP)=1Permanent Write Protection=0Temporary Write Protection=0File Format Group=0 File Format=0:Hard disk-like file system with partition tableCRC=74--------------SCR Register--------------SCR_STRUCTURE = 00hSD_SPEC_VERS = 02hDATA_START_AFTER_ERASE = 00hSD_SECURITY = 03hSD_BUS_WIDTH = 05hSD_SPEC3 = 1hCMD_SUPPORT = 1h--------------SD Status--------------DAT_BUS_WIDTH = 2SECURED_MODE = 0SD_CARD_TYPE = 0x0000SIZE_OF_PROTECTED_AREA = 0x05000000SPEED_CLASS = 0x04 ==> CLASS(10)PERFORMANCE_MOVE = 0x00AU_SIZE = 0x9UNIT_OF_ERASE_AU = 0x000FERASE_TIMEOUT = 1ERASE_OFFSET = 0x1EraseSize = 0x2000UHS_SpeedGrade = 0h (Less than 10MB/sec)UHS_AuSize = Dh (24MB) 80 00 00 00 05 00 00 00 04 00 90 00 0F 05 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Overriding S18A bit I've managed to increase my benchmark results:
Wonder why UHS card didn't set this bit in ACMD41 response.Maybe it already was in 1.8v mode while loading DISKBOOT.BIN ?