Author Topic: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)  (Read 55795 times)

edoardoc

  • New to the forum
  • *
  • Posts: 7
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #75 on: September 02, 2018, 12:36:21 PM »
Hi! I own a Canon 200D, how can I help the developers? :D
Canon EOS 200D/SL2

edoardoc

  • New to the forum
  • *
  • Posts: 7
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #76 on: September 08, 2018, 11:02:30 AM »
I loaded the dump file for the EOS 200D but it get stuck on "- Dumping ROM0..." :




Here's a diagnostic log from my 200D :

Code: [Select]
00000000>       init:001b6acf:00:0f: Logging started.
00000000>       init:e04bdce7:00:05: [MEM] InitializePermanentMemory 0 4636784
0000013E>       init:e0041327:89:16:
K417 ICU Firmware Version 1.0.1 ( 5.0.2 )
00000163>       init:e0041333:89:05:
ICU Release DateTime 2017.09.21 12:53:23
000002BC>       init:e0048fd7:00:03: [SEQ] CreateSequencer (Startup, Num = 6)
00000306>       init:e00490d1:00:03: [SEQ] NotifyComplete (Cur = 0, 0x2018000, Flag = 0x10000)
00000979>     SFRead:e0139f05:02:05: PROPTUNEAD_CreateFROMPropertyHandleToDRAM Addr:0x416a2c00
000009E9>     SFRead:e01c7b0b:02:03: PROPCOMBO_LoadProperty(395)
00000A38>    RomRead:e04c14af:02:05: PROPAD_CreateFROMPropertyHandle DRAMAddr 0x421f8400
00005EB9>     SFRead:e00490d1:00:03: [SEQ] NotifyComplete (Cur = 0, 0x2008000, Flag = 0x8000)
00009537>    RomRead:e00490d1:00:03: [SEQ] NotifyComplete (Cur = 0, 0x2000000, Flag = 0x2000000)
00009571>    Startup:e0048f6d:00:05: [SEQ] seqEventDispatch (Startup, 0)
0000958B>    Startup:e004148f:89:05: startupEntry
0000ABD0>    Startup:e0046f31:00:03: [PWM] PWM_Initialize
0000AC4F>    Startup:e05452e9:00:03: [ADC] InitializePollingADC
0000B238>      init1:e0246323:d2:03: [FMID]FMID_SYS_Initialize(0x5eeefe00, 0x500000)
0000D3BD>    Startup:e05451f5:00:03: [ ADC ] Calibration Completed, 0x00000000
0000E602>    PropMgr:e00a8c09:81:03: PROP_RegisterMultiConvert : 3, 6
0000E632>    PropMgr:e00a8c09:81:03: PROP_RegisterMultiConvert : 1, 1
0000E82F>    PropMgr:e0066e11:81:03: @@@JudgeRestoreFlavorPC 1062
0000EB92>    Startup:001b686f:00:0f: [0] *** mpu_send(06 04 02 00 00 00)
0000ED0A>    PropMgr:e04e17e7:37:03: emSlaveChangeCBR : AUTO_POWEROFF (1)
0000ED3C>    PropMgr:e04e1805:37:03: emSlaveChangeCBR : UILOCK (0x0)
0000EF65>    PropMgr:001b68db:00:0f: [0] *** mpu_recv(06 05 01 00 00 00)
0000F020>    PropMgr:e006739b:81:03: ChangeAEMode -> 0 @AE_MODE_DIAL
0000F07F>    PropMgr:001b686f:00:0f: [1] *** mpu_send(08 06 01 a7 00 01 00 00)
0000F0A3>    PropMgr:e009134f:81:03: Active Adjective & Situation 0->0
0000F0E5>    PropMgr:e00a8dd7:81:03: ReqChangeCBR : Adjective 0, 0
0000F113>    PropMgr:001b68db:00:0f: [1] *** mpu_recv(06 05 01 99 00 00)
0000F132>    PropMgr:e00a8e41:81:03: Not ExecMultiConvert Already None : Adjective 0, 0
0000F16F>    PropMgr:e00a8ef7:81:03: Not ExecMultiConvert : Situation 0
0000F1B0>    PropMgr:001b68db:00:0f: [2] *** mpu_recv(06 05 01 9a 00 00)
0000F1EF>    PropMgr:e00916a9:81:03: !! Convert End !!
0000F246>    PropMgr:001b68db:00:0f: [3] *** mpu_recv(06 05 01 06 15 00)
0000F294>    PropMgr:e04bf3d9:02:03: DataType = 0x2000000 fModify = TRUE
0000F2F5>    PropMgr:001b68db:00:0f: [4] *** mpu_recv(06 05 01 3f 00 00)
0000F644>    PropMgr:001b68db:00:0f: [5] *** mpu_recv(06 05 01 99 00 00)
0000F6D7>    PropMgr:001b68db:00:0f: [6] *** mpu_recv(06 05 01 9a 00 00)
0000F766>    PropMgr:001b68db:00:0f: [7] *** mpu_recv(06 05 01 06 15 00)
0000F7AF>    PropMgr:e00afc13:81:03: PROP_STROBO_FIRING 0 Last 0
0000F7D2>    PropMgr:e00afc2d:81:03: dwLastStroboFiring = 0  stroboFiring = 0
0000F810>    PropMgr:001b68db:00:0f: [8] *** mpu_recv(06 05 01 3f 00 00)
0000F897>    PropMgr:001b68db:00:0f: [9] *** mpu_recv(06 05 01 4f 00 00)
0000F94C>    PropMgr:e0067a8f:81:03: PROP_CHROMATISM 0 (Excluding:0)
0000F9D9>    PropMgr:e0067a29:81:03: PROP_DISTORTION_COMP 0 (Excluding:0)
0000FA52>    PropMgr:e0067a5f:81:03: PROP_LIGHT_FALLOFF_COMP 1 (Excluding:0)
0000FC1E>    PropMgr:e00afc13:81:03: PROP_STROBO_FIRING 0 Last 0
0000FC39>    PropMgr:e00afc2d:81:03: dwLastStroboFiring = 0  stroboFiring = 0
0000FC66>    PropMgr:e0067321:81:03: FixedMovie New 0 Last 0
0000FD9A>    PropMgr:e00676a7:81:03: PROP_TOUCH_SHUTTER 0
0000FE27>    PropMgr:e00676cf:81:03: PROP_CREATIVE_TOUCH_SHUTTER 0
0000FEB6>    PropMgr:001b686f:00:0f: [2] *** mpu_send(22 20 0e 39 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)
0000FED7>    PropMgr:e041e9b5:d6:03: LvLensDataMasterResultCBR
0000FF2C>    PropMgr:e041e9b5:d6:03: PowerZoomAdapterInfoCBR
0000FF7D>    PropMgr:e041e9b5:d6:03: FactErrLensDataInfoCBR
00010228>     NFCMgr:e03d550b:3e:03: [BLE] BLEMGR_InitializeParam
000102CB>    PropMgr:001b686f:00:0f: [3] *** mpu_send(06 05 03 8a 00 00)
0001033D>    PropMgr:001b686f:00:0f: [4] *** mpu_send(06 04 02 14 00 00)
00010395>     NFCMgr:e05f3be3:3e:03:  NFCI2C_SetParam 1 3 0xa8 0x0
000103CB>     NFCMgr:e0586c13:3e:03:  PROP_SPECIAL_OPTION Wlan off (0x0)
000107C4>   PowerMgr:001b68db:00:0f: [10] *** mpu_recv(30 2f 02 0d 00 00 00 00 01 00 00 00 00 00 00 01 00 01 02 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 0f 00 01 01 01 00 00 00)
00010949>    PropMgr:e041dfc3:01:03: DivideMediaEtcInit2Data[24] comID 1 dataID 91 data 0xf00
00010979>    PropMgr:e041dfc3:01:03: DivideMediaEtcInit2Data[25] comID 1 dataID 9c data 0x100
00010E53>   PowerMgr:001b68db:00:0f: [11] *** mpu_recv(5e 5c 02 0f 02 00 00 08 01 01 00 00 00 00 00 00 00 00 00 00 09 5e 00 00 00 0c 00 00 00 00 00 00 00 03 00 00 00 01 00 00 00 00 00 01 00 01 01 00 00 00 00 00 00 00 00 00 03 01 2c 00 00 0b b5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
00010F05>    PropMgr:e041cf2f:01:03: RecMovieParam 0 0 2398 12 0 3 1 0
00011022>    PropMgr:e00679df:81:03: @@@ PROP_MOVIE_CFILTER 0
00011335>   PowerMgr:001b68db:00:0f: [12] *** mpu_recv(48 46 02 10 00 00 00 00 00 00 01 01 00 00 03 03 03 03 00 00 00 00 00 00 00 5c 00 01 ba 50 00 00 00 00 00 01 ff 00 00 02 01 01 00 03 00 01 00 04 00 00 01 05 00 01 01 00 01 00 00 03 03 00 00 00 00 00 00 00 00 00 00 00)
00011B29>   PowerMgr:001b68db:00:0f: [13] *** mpu_recv(42 40 02 11 00 01 00 00 00 00 01 00 ff 01 00 00 00 00 00 00 00 ff 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ff 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 15 00 00 00 00 00)
00011B96>    PropMgr:e041e695:01:03: DivideLensInit2Data[3] comID 1 dataID 4 data 0x0
00011BC8>    PropMgr:001b68db:00:0f: [14] *** mpu_recv(06 05 01 b6 01 00)
00011C45>   PowerMgr:001b68db:00:0f: [15] *** mpu_recv(06 05 01 b5 01 00)
00011CD2>   PowerMgr:001b68db:00:0f: [16] *** mpu_recv(06 05 01 98 00 00)
00011E28>   PowerMgr:001b68db:00:0f: [17] *** mpu_recv(12 10 02 04 0c 00 01 01 00 01 00 43 00 00 00 00 00 00)
000127DA>   PowerMgr:e0042c8b:00:03: [STARTUP]startupCompleteCallback 0x2
000127FC>   PowerMgr:e00490d1:00:03: [SEQ] NotifyComplete (Cur = 1, 0x2, Flag = 0x2)
0001287C>   PowerMgr:001b68db:00:0f: [18] *** mpu_recv(94 93 02 0e 00 00 03 01 00 00 00 68 01 00 00 17 14 50 00 00 00 00 81 00 00 01 03 00 00 06 04 00 00 01 00 00 01 00 00 00 00 60 15 00 00 00 00 00 00 00 00 01 03 00 00 90 48 00 00 88 48 80 48 80 48 90 48 88 48 80 48 78 48 70 00 00 00 00 01 00 00 00 00 02 00)
00012910>    PropMgr:001b68db:00:0f: [19] *** mpu_recv(06 05 03 37 00 00)
000129CA>    PropMgr:001b68db:00:0f: [20] *** mpu_recv(0a 08 03 2f 00 40 00 00 00 00)
00012A46>    PropMgr:001b68db:00:0f: [21] *** mpu_recv(06 05 03 20 01 00)
00012A6B>    PropMgr:e006739b:81:03: ChangeAEMode -> 0 @AE_MODE_DIAL
00012A92>    PropMgr:e00916a9:81:03: !! Convert End !!
00012ACE>    PropMgr:001b68db:00:0f: [22] *** mpu_recv(06 05 03 76 00 00)
00012C1D>    PropMgr:e041e141:01:03: DivideDataInit2Data[4] comID 1 dataID 4 data 0x0
00012C4C>    PropMgr:e041e141:01:03: DivideDataInit2Data[8] comID 1 dataID b data 0x0
00012C75>    PropMgr:e041e141:01:03: DivideDataInit2Data[10] comID 1 dataID e data 0x1450
00012CCA>    PropMgr:e041e141:01:03: DivideDataInit2Data[22] comID 1 dataID 1f data 0x0
00012D45>    PropMgr:e00afc13:81:03: PROP_STROBO_FIRING 0 Last 0
00012D64>    PropMgr:e00afc2d:81:03: dwLastStroboFiring = 0  stroboFiring = 0
00012DCA>    PropMgr:e0067ac9:81:03: PROP_MULTIPLE_EXPOSURE_SETTING 0
00012DF4>    PropMgr:e0067ac9:81:03: PROP_HDR_SETTING 0
00012E2C>    PropMgr:e00676f1:81:03: @@@ PROP_LV_CFILTER 0
00012E5A>    PropMgr:e0067ac9:81:03: PROP_GIS_SETTING Func 0
00012E77>    PropMgr:e041e141:01:03: DivideDataInit2Data[50] comID 1 dataID 47 data 0x20a
00012E9A>    PropMgr:e041e141:01:03: DivideDataInit2Data[51] comID 1 dataID 57 data 0x0
00012ED0>    PropMgr:e00675e9:81:03: PROP_SHUFFLE_MODE 0x0 ConvertMode 0x0
00012EEE>    PropMgr:e041e141:01:03: DivideDataInit2Data[53] comID 1 dataID 88 data 0x3c
00012F59>    PropMgr:e041e141:01:03: DivideDataInit2Data[59] comID 1 dataID 9e data 0x40
00012FD0>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000001, 0xE0066E9B(1)
00013059>    PropMgr:e0067475:81:03: StartupCondition : 1, 0
0001313D>    PropMgr:001b68db:00:0f: [23] *** mpu_recv(64 62 02 12 01 26 51 10 32 00 12 00 37 91 57 9a 7e 08 ff 00 00 00 00 00 00 00 3b 59 dc 00 00 00 17 26 00 00 00 3b 59 dc 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 65 00 00 00 00 00 00 00 10 32 00 00 00 00 00 00 00 00 00 00)
000131C3>    PropMgr:001b68db:00:0f: [24] *** mpu_recv(06 05 03 35 01 00)
00013295>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000001, 0xE0066E9B(0)
000132C8>    PropMgr:e041f33b:01:03: SpecialComplete ID = 0x80000001, 0x80000001 3011
00013312>    PropMgr:001b686f:00:0f: [5] *** mpu_send(08 06 00 00 02 0e 00 00)
00013389>    Startup:e0048f6d:00:05: [SEQ] seqEventDispatch (Startup, 1)
000133B5>    Startup:e0041c5d:89:05: startupPrepareProperty
0001340F>    Startup:001b68db:00:0f: [25] *** mpu_recv(1c 1b 03 1d 64 03 00 00 00 00 00 4c 50 2d 45 31 37 00 00 00 00 01 00 23 7e 02 66 00)
0001349B>    PropMgr:001b68db:00:0f: [26] *** mpu_recv(06 04 03 36 00 00)
0001353A>    PropMgr:001b68db:00:0f: [27] *** mpu_recv(08 07 03 7e ff ff ff 00)
00013567>    PropMgr:e0048577:88:03: HotPlug TimelapseSetting = 0
000135C8>    Startup:001b68db:00:0f: [28] *** mpu_recv(06 05 03 38 9e 00)
000135F9>    Startup:e0093baf:88:03: # 0 0 1 1 0
00013675>    PropMgr:001b68db:00:0f: [29] *** mpu_recv(08 06 01 a7 00 01 00 00)
000136BD>    Startup:e004899f:88:03: CreateTask Master End
00013719>    PropMgr:001b68db:00:0f: [30] *** mpu_recv(08 06 01 a7 00 00 00 00)
0001379E>    PropMgr:e0041c07:89:03: PROP_GPS_AUTO_TIME_SETTING 0
000137E2>    Startup:e0042c8b:00:03: [STARTUP]startupCompleteCallback 0x20000000
00013805>    Startup:e00490d1:00:03: [SEQ] NotifyComplete (Cur = 2, 0x20420010, Flag = 0x20000000)
0001382D>    Startup:e0041c8f:89:03: startupPrepareProperty : CLASSID_FLAG_PROPAD
0001384B>    Startup:e0693cbd:19:03: FM_Initialize (0, 1, 0)
000138BC>    PropMgr:e0693b99:19:03: fmResultCBR (0x860348)
00013A0C>    PropMgr:e0693bbf:19:03: PROP_HDD_DCIM_PATH (/)
00013AE7>    Startup:e04a1fdf:1c:03: FC_Initialize [drive:0 1 0][ClassID:28]
00013B04>    Startup:e04a2011:1c:03: FC_Initialize [86608 655360]
00013FA7>     RTCMgr:e01ca19f:00:05: [RTC] SPECIAL_OPTION 0x0, 0x4000
00014057>     RTCMgr:001b686f:00:0f: [6] *** mpu_send(08 07 03 6a 00 01 00 00)
000140B4>     RTCMgr:e024a1d5:00:05: [RTC] PermitCharge already Permit 0x20
00014127>    Startup:e0498415:80:03: srmGetShootMemAreaAddress(): Area[4] isn't Exist.
000141C4>    PropMgr:001b686f:00:0f: [7] *** mpu_send(0a 08 03 06 00 00 00 00 00 00)
0001421A>    PropMgr:001b686f:00:0f: [8] *** mpu_send(06 04 03 10 00 00)
00014376>    Startup:001b686f:00:0f: [9] *** mpu_send(06 05 03 07 ff 00)
000143C3>    Startup:e0495ffb:80:03: CreatePackHeapObject
0001441B>    Startup:e0376221:80:03: AllocateMemoryUnit For OnlyMem1
00014434>    Startup:e0376221:80:03: AllocateMemoryUnit For OnlyMem1
00014446>    Startup:e0376221:80:03: AllocateMemoryUnit For OnlyMem1
00014458>    Startup:e0376221:80:03: AllocateMemoryUnit For OnlyMem1
00014589>    Startup:e00d2213:35:03: RealClearBusy(0x1) 0x0->0x0,0x0(0x0)[1]
000145B6>    Startup:e00d2213:35:03: RealClearBusy(0x1) 0x0->0x0,0x0(0x0)[2]
00014620>    Startup:e049088d:80:03: RearrangeMemMgr sub 1 0 0
0001467F>    Startup:e04908f1:80:03: fDevDone 1, dwLvLock 0
00014699>    Startup:e049093d:80:03: 0 0 0
000146B6>    Startup:e04909b5:80:03: PROP_MEMORY_STATUS(SELF) (10->)13 (OTHER) 0, 5276
000146D3>    Startup:e04909ff:80:05: Deliver PROP_MEMORY_STATUS 19
0001471B>    Startup:e04960f9:80:03: MemMgr(IMAGE) 0 0
00014736>    Startup:e04960f9:80:03: MemMgr(IMAGE) 0 0
0001474E>    Startup:e04960f9:80:03: MemMgr(IMAGE) 0 1
00014762>    Startup:e04960f9:80:03: MemMgr(IMAGE) 0 0
00014806>     RscMgr:e00ce18b:35:03: this->dwCardStatus[0] = 0x0(474)
0001482E>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
00014846>     RscMgr:e049093d:80:03: 0 0 0
0001487A>     RscMgr:e00ce18b:35:03: this->dwCardStatus[1] = 0x0(474)
000148A1>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
000148B9>     RscMgr:e049093d:80:03: 0 0 0
000148EB>     RscMgr:e00ce219:35:03: PROP_PC_HDD_STATUS = 0x1
00014954>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
0001496F>     RscMgr:e049093d:80:03: 0 0 0
000149C3>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
000149DD>     RscMgr:e049093d:80:03: 0 0 0
00014A30>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
00014A49>     RscMgr:e049093d:80:03: 0 0 0
00014AF8>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
00014B14>     RscMgr:e049093d:80:03: 0 0 0
00014B52>     RscMgr:e00ce557:35:03: PROP_SAVE_MODE = 0x1
00014BA8>     RscMgr:e00ce5db:35:03: PROP_CARD0_FOLDER_NUMBER
00014BE8>     RscMgr:e00ce5db:35:03: PROP_CARD1_FOLDER_NUMBER
00014C87>     RscMgr:e00cdeb9:35:03: PROP_NUMBER_OF_CONTINUOUS_MODE BaseDcfNo 2292
00014CC5>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
00014CDD>     RscMgr:e049093d:80:03: 0 0 0
00014D15>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
00014D2C>     RscMgr:e049093d:80:03: 0 0 0
00014D7D>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
00014D94>     RscMgr:e049093d:80:03: 0 0 0
00014DAB>     RscMgr:e00cec65:35:03: PROP_CARD_EXTENSION 0
00014F99>     RscMgr:e00ceadb:35:03: PC_CLUSTER_SIZE = 0x1000
0001507E>     RscMgr:e00cdb83:80:03: SetAutoIsoCode 0x83
0001509C>     RscMgr:e00cdb97:35:03: ChangeAutoIsoCode Factor:1 AutoIsoCode:131 -> 131
000150F8>     RscMgr:e00cdb83:80:03: SetAutoIsoCode 0x83
00015111>     RscMgr:e00cdb97:35:03: ChangeAutoIsoCode Factor:2 AutoIsoCode:131 -> 131
0001516C>     RscMgr:e00d2213:35:03: RealClearBusy(0x1) 0x0->0x0,0x0(0x0)[3]
00015190>     RscMgr:e00d2213:35:03: RealClearBusy(0x1) 0x0->0x0,0x0(0x0)[4]
000151B2>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
000151C8>     RscMgr:e049093d:80:03: 0 0 0
00015210>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
00015227>     RscMgr:e049093d:80:03: 0 0 0
00015285>     RscMgr:e00d2213:35:03: RealClearBusy(0x40000) 0x0->0x0,0x0(0x0)[5]
000152D5>     RscMgr:e00d2213:35:03: RealClearBusy(0x40000) 0x0->0x0,0x0(0x0)[6]
00015323>     RscMgr:e00d2213:35:03: RealClearBusy(0x40000) 0x0->0x0,0x0(0x0)[7]
0001536E>     RscMgr:e00d2213:35:03: RealClearBusy(0x40000) 0x0->0x0,0x0(0x0)[8]
000153A7>     RscMgr:e00cdb83:80:03: SetAutoIsoCode 0x88
000153BD>     RscMgr:e00cdb97:35:03: ChangeAutoIsoCode Factor:0 AutoIsoCode:131 -> 136
00015427>     RscMgr:e00d2213:35:03: RealClearBusy(0x1) 0x0->0x0,0x0(0x0)[9]
00015446>     RscMgr:e00d2213:35:03: RealClearBusy(0x1) 0x0->0x0,0x0(0x0)[10]
00015467>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
0001547E>     RscMgr:e049093d:80:03: 0 0 0
000154E4>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
000154FB>     RscMgr:e049093d:80:03: 0 0 0
00015553>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
0001556A>     RscMgr:e049093d:80:03: 0 0 0
00015676>     RscMgr:e00ce4c5:35:03: RU CLUSTER_SIZE[0] = 0x407BA6B0
000156D6>     RscMgr:e00ce4c5:35:03: RU CLUSTER_SIZE[1] = 0x407BA6BC
000157A6>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 0, ClassID = 53
000157DE>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 11, ClassID = 53
000157FD>   EventMgr:e00a2b5d:37:03: Already SW1OFF
00015839>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 14, ClassID = 53
00015862>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 15, ClassID = 53
0001588A>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 4, ClassID = 53
00015A19>    Startup:e06983bf:19:03: FM_RegisterSpaceNotifyCallback
00015A40>    Startup:e0713445:1a:05: MRK_RegisterSpaceNotifyCallback
00015A60>    Startup:e02a881d:1a:03: RegisterSpaceNotifyCallback : DriveNo = 2
00015A85>    Startup:e01c7067:19:03: voiRegisterSpaceNotifyCallback : DriveNo = 2
00015AA6>    Startup:e050f011:19:03: [GPS] gpsRegisterSpaceNotifyCallback : DriveNo = 2
00015AC8>    Startup:e065c9af:19:03: RegisterSpaceNotifyCallback : DriveNo = 2
00015B52>    Startup:e04bc1e7:15:03: @Startup FIO_RegisterSpaceNotifyCallback(1,0xe04d4b0b,0x2) L:1051
00015B88>    Startup:e04ea317:1c:03: FcmcRegisterSpaceNotifyCallback : DriveNo = 2
00015BA8>    Startup:e06983bf:19:03: FM_RegisterSpaceNotifyCallback
00015C35>    Startup:e04c2573:39:05: InitializeJobClass (ID = 2015, Num = 15)
00015C57>    Startup:e04c25c5:39:05: InitializeJobClass 12 206 0 5544
00015CBB>    PropMgr:e01b14bd:39:03: [BIND] dcsResultCBR (0x8624f0)
00015DE3>    PropMgr:001b68db:00:0f: [31] *** mpu_recv(42 40 02 11 00 01 00 00 00 00 01 00 ff 01 00 00 00 00 00 00 00 ff 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ff 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 15 00 00 00 00 00)
00015E90>    PropMgr:001b68db:00:0f: [32] *** mpu_recv(08 06 01 04 00 00 00 00)
00015EFD>    PropMgr:e01b1ddb:39:03: PROP_GPS_INFORMATION fGPSConnect = 0x0
00015F1C>    PropMgr:e01b1df1:39:03: MPU 0x0 USB 0x0 WFT 0x0 INNER 0x0
00015F48>    PropMgr:001b68db:00:0f: [33] *** mpu_recv(08 06 01 a2 00 00 00 00)
00015F6A>    PropMgr:e01b1ddb:39:03: PROP_MPU_GPS fGPSConnect = 0x0
00015F84>    PropMgr:e01b1df1:39:03: MPU 0x0 USB 0x0 WFT 0x0 INNER 0x0
00015FC4>    PropMgr:001b68db:00:0f: [34] *** mpu_recv(06 05 01 06 15 00)
00016034>    PropMgr:e01b14cf:39:03: @@@setDefaultImgDirection
00016052>    PropMgr:e01b24f5:39:03: PROP_GPS_DEVICE_ACTIVE INNER 0x0 fGPSConnect = 0x0
0001607E>    PropMgr:001b68db:00:0f: [35] *** mpu_recv(06 05 03 23 1d 00)
000160A3>    PropMgr:e01b2583:39:03: PROP_NETWORK_SYSTEM 0x0
000162C8>    PropMgr:001b68db:00:0f: [36] *** mpu_recv(22 21 03 24 45 46 2d 53 31 38 2d 35 35 6d 6d 20 66 2f 33 2e 35 2d 35 2e 36 20 49 53 20 53 54 4d 00 00)
00016351>    PropMgr:001b68db:00:0f: [37] *** mpu_recv(06 04 03 25 00 00)
0001662F>    PropMgr:001b68db:00:0f: [38] *** mpu_recv(06 05 01 99 00 00)
000166F2>    PropMgr:001b68db:00:0f: [39] *** mpu_recv(06 05 01 9a 00 00)
00016754>    PropMgr:e01b24f5:39:03: PROP_BTDEVICE_CONNECT WFT 0x0 fGPSConnect = 0x0
000167AE>    PropMgr:001b68db:00:0f: [40] *** mpu_recv(06 05 01 06 15 00)
0001685C>    PropMgr:e041e695:01:03: DivideLensInit2Data[3] comID 1 dataID 4 data 0x0
000168BA>    PropMgr:001b68db:00:0f: [41] *** mpu_recv(06 05 01 3f 00 00)
00016990>    PropMgr:e00afc13:81:03: PROP_STROBO_FIRING 0 Last 0
000169AD>    PropMgr:e00afc2d:81:03: dwLastStroboFiring = 0  stroboFiring = 0
000169FB>    Startup:001b686f:00:0f: [10] *** mpu_send(06 05 01 2e 01 00)
00016A6F>   EventMgr:e00a3283:37:05: emLockControl (TYPE_JOBSTATE = 0x0)
00016ACD>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
00016AE9>     RscMgr:e049093d:80:03: 0 0 0
00016B9E>    PropMgr:001b686f:00:0f: [11] *** mpu_send(0a 08 03 0b 00 00 00 00 00 00)
00016CCA>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 20, ClassID = 57
00016D1A>    Startup:e04c2bdb:39:05: InitializeInnerDevelopJobClass (ID = 2015, Num = 16)
00016D3F>    Startup:e04cd927:39:05: InitializeHDRShootJobClass ( Num = 13 )
00016D5B>    Startup:e04cd955:39:05: InitializeHDRSaveAndEndJobClass ( Num = 37 )
00016D76>    Startup:e04ce3e3:39:05: InitializeGISShootJobClass ( Num = 13 )
00016D91>    Startup:e04ce40b:39:05: InitializeGISSaveAndEndJobClass ( Num = 28, 31 )
00016DC7>    Startup:e04c2c09:39:03: InitializeShufflehootJobClass (ID = 2015, Num = 15)
00016E26>    Startup:e00929e5:d9:03: InitializeGUILock (PUB)
00016EA2>    PropMgr:001b686f:00:0f: [12] *** mpu_send(06 05 03 19 01 00)
00016ECC>    PropMgr:e041e9b5:d9:03: [GUI] MasterResultCBR
00016F28>    PropMgr:e0044569:8a:03: terminateChangeCBR : SHUTDOWN (255)
00016F44>    PropMgr:e004468b:00:03: [TERMINATE] SHUTDOWN init comp
00016F62>    PropMgr:e0044723:8a:03: terminateChangeCBR : AUTO_POWEROFF (1)
00016F83>    PropMgr:e00444f7:00:03: [TERMINATE] Abort init comp
00017044>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 0, ClassID = 150
00017077>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 1, ClassID = 150
000170A1>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 4, ClassID = 150
00017164>    PropMgr:e006bbbf:96:03: PROP_SHOOTING_TYPE (0x0->0x0)
00017183>    PropMgr:e006bc1d:96:03: PROP_AF_SHIFT_AFB_INFO (0x0 0)
000172F3>    Startup:001b686f:00:0f: [13] *** mpu_send(06 05 01 56 00 00)
0001732E>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 0, ClassID = 225
0001736D>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 11, ClassID = 225
0001738E>   EventMgr:e00a2b5d:37:03: Already SW1OFF
000173BB>   MainCtrl:e0094603:94:03: MeteringTimerStart
000173E9>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 7, ClassID = 225
00017414>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 1, ClassID = 225
0001743D>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 4, ClassID = 225
00017468>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 6, ClassID = 225
0001748F>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 3, ClassID = 225
000174B7>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 2, ClassID = 225
000174DE>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 20, ClassID = 225
00017507>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 24, ClassID = 130
00017531>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 25, ClassID = 130
00017657>    PropMgr:001b68db:00:0f: [42] *** mpu_recv(08 06 01 04 00 00 00 00)
00017685>   MainCtrl:e006f9d1:94:03: PROP_DISPLAY_OFF_SENSOR 1
000176DB>   MainCtrl:e006f9d1:94:03: PROP_DISPSENSOR_CTRL 1
00017708>   MainCtrl:001b68db:00:0f: [43] *** mpu_recv(08 06 01 a2 00 00 00 00)
0001776E>   MainCtrl:e009514d:94:03: PROP_SHOOTING_TYPE 0
0001778B>   MainCtrl:e0093eb9:94:03: set_lv_act2 : 0 -1 1 0
000177C7>   MainCtrl:e00951c9:94:03: PROP_GUI_STATE 0
000177FD>   MainCtrl:e0094fc9:94:03: PROP_LV_ACTION LV_STOP
00017816>   MainCtrl:e0094cb1:94:03: judge_lv_disp_busy(mode_change): 0 0 1 1 0
0001784B>   MainCtrl:e006f9d1:94:03: PROP_LV_DISPBUSY not Busy
0001787D>   MainCtrl:e009520b:94:03: PROP_LV_LOCK LVLOCK_PERMIT
00017895>   MainCtrl:e0093eb9:94:03: set_lv_act2 : 0 1 1 0
000178AC>   MainCtrl:e0094cb1:94:03: judge_lv_disp_busy(mode_change): 0 0 1 1 0
000178D9>   MainCtrl:e006f9d1:94:03: PROP_DISABLE_PLAY_IMAGE Enable Play
00017917>   MainCtrl:e0094eef:94:03: JobState 0
0001792E>   MainCtrl:e0095a91:94:03: on_digi_event start
00017945>   MainCtrl:e0093eb9:94:03: set_lv_act2 : 0 1 1 0
0001795A>   MainCtrl:e0094cb1:94:03: judge_lv_disp_busy(mode_change): 0 0 1 1 0
00017992>   MainCtrl:e00954b1:94:03: PROP_AE_MODE m_AeMode=0x00 m_SetTv =0x70 ,m_ModeBulb=0
000179B8>   MainCtrl:e00954b1:94:03: PROP_SET_TV  m_SetTv =0x60 m_AeMode=0x00 ,m_ModeBulb=0
00017A64>   MainCtrl:e006f9d1:94:03: QRTime 2
00017B0A>    PropMgr:001b68db:00:0f: [44] *** mpu_recv(0e 0d 04 30 00 00 00 00 00 00 00 00 00 00)
00017B8A>    PropMgr:001b68db:00:0f: [45] *** mpu_recv(06 05 01 48 01 00)
00017BF7>   MainCtrl:e006f9d1:94:03: PROP_VARIANGLE_GUICTRL Enable
00017C22>   MainCtrl:001b68db:00:0f: [46] *** mpu_recv(06 05 01 4b 01 00)
00017C45>   MainCtrl:e006f991:94:03: PROP_HEADPHONE_VOLUME_VALUE : 0
00017C95>   MainCtrl:e006f911:94:03: PROP_MOVIE_PLAY_VOLUME : 5
00017CD2>    PropMgr:001b68db:00:0f: [47] *** mpu_recv(06 05 01 49 02 00)
00017D13>   MainCtrl:e006f9d1:94:16: PROP_LCD_OFFON_BUTTON : 0
00017D50>   MainCtrl:e006f9d1:94:03: PROP_LV_CFILTER 0
00017D7A>   MainCtrl:001b68db:00:0f: [48] *** mpu_recv(06 05 01 12 00 00)
00017DA4>   MainCtrl:e0093eb9:94:03: set_lv_act2 : 0 1 1 0
00017DEE>   MainCtrl:e0094cb1:94:03: judge_lv_disp_busy(mode_change): 0 1 1 1 0
00017E38>    PropMgr:001b68db:00:0f: [49] *** mpu_recv(06 05 01 13 00 00)
00017ECA>   MainCtrl:e009507d:94:03: PROP_GUIGROUND_STATE 1
00017F24>   MainCtrl:e0094fc9:94:03: PROP_LV_ACTION LV_STOP
00017F42>   MainCtrl:e0094cb1:94:03: judge_lv_disp_busy(mode_change): 0 1 1 1 0
00017F78>   MainCtrl:001b68db:00:0f: [50] *** mpu_recv(10 0e 01 8f 00 00 00 00 00 00 00 00 00 00 00 00)
00018075>     RscMgr:001b68db:00:0f: [51] *** mpu_recv(0e 0c 01 b1 00 00 00 00 00 00 00 00 00 00)
000180BE>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
000180DD>     RscMgr:e049093d:80:03: 0 0 0
00018107>     RscMgr:001b68db:00:0f: [52] *** mpu_recv(06 05 01 03 01 00)
0001819A>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
000181B3>     RscMgr:e049093d:80:03: 0 0 0
0001825A>    PropMgr:001b686f:00:0f: [14] *** mpu_send(06 05 04 0e 01 00)
00018294>    PropMgr:e041db9d:01:03: LV_CFilter : kind 0 hv 0
000182B3>    PropMgr:e041dbc1:01:03: Level 0 0 0 0 0 0 0 0
000182DC>    PropMgr:e00676f1:81:03: @@@ PROP_LV_CFILTER 0
0001834C>   MainCtrl:e006f9d1:94:03: PROP_LV_CFILTER 0
0001838B>   MainCtrl:e006f9d1:94:03: PROP_LV_DISPBUSY Busy
000183BC>   MainCtrl:e006f9d1:94:03: PROP_LV_DISPBUSY Busy
000183E8>   MainCtrl:e006f9d1:94:03: PROP_LV_DISPBUSY Busy
0001840C>    PropMgr:e0420ad3:01:03: MovieCFilter : kind 0 hv 0
00018425>    PropMgr:e0420af1:01:03: Level 0 0 0 0 0 0
00018441>    PropMgr:e00679df:81:03: @@@ PROP_MOVIE_CFILTER 0
00018491>   MainCtrl:e006f9d1:94:03: PROP_LV_DISPBUSY not Busy
00018533>    PropMgr:e04bc1e7:15:03: @PropMgr FIO_SuspendDelayFlush(0) L:709
00018562>   MainCtrl:e0094f3d:94:03: CardCover=0
0001857F>    PropMgr:e041e9b5:94:03: regist master CardCover
000185BE>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 13, ClassID = 225
000185F1>    Startup:e05f2995:3a:03: TA10_Initialize : Start
0001867E>    PropMgr:001b686f:00:0f: [15] *** mpu_send(06 05 03 40 00 00)
0001879D>    PropMgr:e05f24c9:3a:03: ### TA10Setting Clear (OFF->OFF) ###
000187C7>    PropMgr:e05f2461:3a:03: ChangePropCBR ShotsPlan 2 / TotalSheets 2
00018AA4>    PropMgr:001b686f:00:0f: [16] *** mpu_send(0c 0b 03 53 02 00 48 81 81 00 00 00)
00018B3B>    Startup:e05f2be7:3a:03: TA10_Initialize : End
00018B66>    Startup:001b686f:00:0f: [17] *** mpu_send(0c 0b 03 53 02 00 48 81 81 00 00 00)
00018B96>    Startup:e006c851:3c:03: HDR_Initialize : Start
00018C9E>    PropMgr:e006c475:3c:03: ### HDRSetting Clear (OFF->OFF) ###
00018CBC>    PropMgr:e006c41f:3c:03: ChangePropCBR HDRFunc 0
00018D13>    Startup:e00a4fdf:3c:03: HDRS_Initialize
00018D36>    Startup:e00a500b:3c:03: CreateStageClass
00018DC1>    Startup:e00a5425:3c:03: HDRS_Initialize : End
00018DD7>    Startup:e006c977:3c:03: HDR_Initialize : End
00018DF2>    Startup:e006d94d:3d:03: GIS_Initialize : Start
00018EC8>    PropMgr:e006d575:3d:03: ### GISSetting Clear (OFF->OFF) ###
00018EE6>    PropMgr:e006d525:3d:03: ChangePropCBR GISFunc 0
00018F3C>    Startup:e00a7ab5:3d:03: GISS_Initialize
00018F5F>    Startup:e00a7adf:3d:03: CreateStageClass
00018FDB>    Startup:e00a7c0b:3d:03: GISS_Initialize : End
00018FF1>    Startup:e006da75:3d:03: GIS_Initialize : End
00019047>    FileMgr:e01c24cd:19:03: PROP_CARD1_STATUS = 0x0
00019099>    FileMgr:e04bc1e7:15:03: @FileMgr FIO_SetCardChangeFlag(0,1) L:1060
000190D4>    FileMgr:e01c23fb:19:03: PROP_CARD1_FOLDER_NUMBER = 142
000190FF>    FileMgr:e01c2773:19:03: PROP_CARD1_FILE_NUMBER = 0
00019139>    FileMgr:e01c26c1:19:03: PROP_CARD2_STATUS = 0x0
00019177>    FileMgr:e04bc1e7:15:03: @FileMgr FIO_SetCardChangeFlag(1,1) L:1060
000191A0>    FileMgr:e01c273d:19:03: PROP_CARD2_FOLDER_NUMBER = 100
000191CA>    FileMgr:e01c2785:19:03: PROP_CARD2_FILE_NUMBER = 2292
000191F9>    FileMgr:e01c2827:19:03: PROP_FILE_NUMBERING_MODE = 1, 0
00019219>    FileMgr:e01c27db:19:03: PROP_CARD_EXTENSION = 0
00019235>    FileMgr:e01c27fd:19:03: PROP_CURRENT_MEDIA = 2
00019250>    FileMgr:e01c2455:19:03: PROP_USBDEVICE_CONNECT = -1
0001926C>    FileMgr:e01c2873:19:03: PROP_NUMBER_OF_CONTINUOUS_MODE = 2292
00019286>    FileMgr:e0042c8b:00:03: [STARTUP]startupCompleteCallback 0x10
000192A1>    FileMgr:e00490d1:00:03: [SEQ] NotifyComplete (Cur = 2, 0x420010, Flag = 0x10)
000192C9>    FileMgr:e01c28c7:19:03: PROP_DSDEFINE ModelId 80000417
000192EF>    FileMgr:e01c28df:19:03: PROP_APPENDMOVINFO Handle 0,205001d
0001930C>    FileMgr:e01c28ef:19:03: PROP_APPENDMOVINFO VideoSnapMode 4,205001d
00019330>    FileMgr:e01c2937:19:03: PROP_SPECIAL_OPTION = 16384
00019350>    FileMgr:e01c296b:19:03: PROP_SCREEN_SAVER = 0
0001936E>    FileMgr:e01c2997:19:03: PROP_CARD1_RU_SIZE -1
00019388>    FileMgr:e01c29a9:19:03: PROP_CARD2_RU_SIZE 524288
000193B4>    FileMgr:e01c3ab3:19:03: fmInitialized
00019407>    FileMgr:e039fd2b:1c:03: _FC_SetDirSuffix (CANON)
00019439>    FileMgr:e01c3bc3:19:03: fmPrepare
00019479>    FileMgr:e04bc1e7:15:03: @FileMgr FIO_Init(25,28,0xe069ad83) L:870
000194A0>    FileMgr:e025ba41:13:03: CSMGR_Initialize
00019898>    FileMgr:e025c0e3:13:03: InitializeLogicalStorage: LStorageList = NULL
000198B1>    FileMgr:e025c10d:13:03: SocketServiceInstall: SUCCESS
00019903>    FileMgr:e04bc1e7:15:03: @FileMgr FIO_GetSupportedDriveInfo(0x2233f4) L:1102
00019933>    FileMgr:e02b6f89:18:03: InitializeSDDriver
00019BB9>    FileMgr:e025b8cb:13:03: RegisterClient: handler=0xe02c1dc1 1
00019BE7>    FileMgr:e025b921:13:03: RegisterClient: SUCCESS
00019BFC>    FileMgr:e025bb33:13:03: CSMGR_Initialize End
00019C17>    FileMgr:e069b4ed:19:03: fmAllocDcfNo(0x4845f8)(0x0)
00019C6B>     RscMgr:e00d1e23:35:03: srmAllocDcfNoTable
00019C95>     RscMgr:e069b4c7:19:03: fmAllocateDcfNoCompleteCallback(0x4169ec00,0x4000)
00019CEF>    FileMgr:e01c3be5:19:03: fmAllocDcfNo : DcfNoTable(0x4169ec00)
00019D47>    FileMgr:e04bc1e7:15:03: @FileMgr FIO_MountDevice(1,0,0) L:901
00019D68>    FileMgr:e015bb9b:16:03: [FSUmountDevice] (0x1)
00019D81>    FileMgr:e025bb4f:13:03: MapPhysicToLog: StorageID=1
00019D96>    FileMgr:e025bb65:13:03: MapPhysicToLog: SUCCESS(0x86b930)
00019DAF>    FileMgr:e025bfd9:13:03: CSMGR_MountCard : Message=0x1fd74, pLStorage=0x86b930
00019DED>     NFCMgr:e0586c2b:3e:03:  PROP_SPECIAL_OPTION ->init (0x4000)
00019FEB>     NFCMgr:e058a845:3e:03:  nfcmgrstate_Initialize:NewsDet_R Hi
0001A0AB>  CSMgrTask:e025b9c9:13:03: CSMgrTask: pMessage=0x1fd74, pLStorage=0x86b930
0001A0D1>  CSMgrTask:e025b955:13:03: MapLogToPhysic: pLStorage=0x86b930
0001A0EA>  CSMgrTask:e025b969:13:03: MapLogToPhysic: SUCCESS(ID=1)
0001A102>  CSMgrTask:e025b955:13:03: MapLogToPhysic: pLStorage=0x86b930
0001A11C>  CSMgrTask:e025b969:13:03: MapLogToPhysic: SUCCESS(ID=1)
0001A12E>  CSMgrTask:e02c1ded:18:03: ---- SDEventHandler(ID=1:Event=8) ----
0001A179>  CSMgrTask:e02b6397:16:03: Set StgDev:1
0001A224>     NFCMgr:001b68db:00:0f: [53] *** mpu_recv(06 05 03 38 9e 00)
0001A335>    CE_Main:001b68db:00:0f: [54] *** mpu_recv(06 05 04 29 01 00)
0001A3D5>   MainCtrl:e0094cb1:94:03: judge_lv_disp_busy(mode_change): 0 1 1 1 0
0001A410>   MainCtrl:001b68db:00:0f: [55] *** mpu_recv(0a 09 01 55 00 00 02 00 00 01)
0001A48F>    PropMgr:e0067ac9:81:03: PROP_MULTIPLE_EXPOSURE_SETTING 0
0001A53A>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000003F, 0xE0066E9B(1)
0001A5C4>     RscMgr:e00d2213:35:03: RealClearBusy(0x1) 0x0->0x0,0x0(0x0)[11]
0001A646>     RscMgr:e00d2213:35:03: RealClearBusy(0x1) 0x0->0x0,0x0(0x0)[12]
0001A67B>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
0001A694>     RscMgr:e049093d:80:03: 0 0 0
0001A6E6>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000003F, 0xE04CF021(2)
0001A720>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000003F, 0xE01B152D(3)
0001A75C>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000003F, 0xE006F9E3(4)
0001A788>    PropMgr:e05f24c9:3a:03: ### TA10Setting Clear (OFF->OFF) ###
0001A7AF>    PropMgr:e05f2461:3a:03: ChangePropCBR ShotsPlan 2 / TotalSheets 2
0001A7DB>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000003F, 0xE05F2105(5)
0001A812>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000003F, 0xE006C3AB(6)
0001A84B>    PropMgr:001b68db:00:0f: [56] *** mpu_recv(06 05 01 2e 01 00)
0001A86C>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000003F, 0xE006D4A7(7)
0001A89F>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000003F, 0xE0066E9B(6)
0001A8CE>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000003F, 0xE04CF021(5)
0001A900>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000003F, 0xE01B152D(4)
0001A92D>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000003F, 0xE006F9E3(3)
0001A994>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000003F, 0xE05F2105(2)
0001A9C0>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000003F, 0xE006C3AB(1)
0001AA1B>     RscMgr:e00ce557:35:03: PROP_SAVE_MODE = 0x1
0001AA66>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000003F, 0xE006D4A7(0)
0001AAB3>    PropMgr:001b686f:00:0f: [18] *** mpu_send(08 06 00 00 01 55 00 00)
0001AB71>    PropMgr:001b686f:00:0f: [19] *** mpu_send(0c 0b 03 53 02 00 48 81 81 00 00 00)
0001AC02>    PropMgr:001b686f:00:0f: [20] *** mpu_send(0c 0b 03 53 02 00 48 81 81 00 00 00)
0001AC85>  CSMgrTask:e02b101b:18:03: SDPowerOn
0001AE25>   PowerMgr:001b68db:00:0f: [57] *** mpu_recv(08 06 01 1d 81 81 00 00)
0001AEBF>   PowerMgr:001b68db:00:0f: [58] *** mpu_recv(06 05 01 74 01 00)
0001AF54>   PowerMgr:001b68db:00:0f: [59] *** mpu_recv(06 05 01 75 00 00)
0001B537>  CSMgrTask:e02b7387:18:03: SD initialize start
0001B8FE>   PowerMgr:001b68db:00:0f: [60] *** mpu_recv(06 05 01 07 68 01)
0001B96A>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000007, 0xE04CF021(1)
0001B99E>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000007, 0xE01B152D(2)
0001B9CE>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000007, 0xE04CF021(1)
0001B9FB>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000007, 0xE01B152D(0)
0001BA36>   PowerMgr:001b686f:00:0f: [21] *** mpu_send(08 06 00 00 01 07 00 00)
0001C1E6>   PowerMgr:001b68db:00:0f: [61] *** mpu_recv(0a 08 01 34 00 00 01 03 01 00)
0001C267>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
0001C281>     RscMgr:e049093d:80:03: 0 0 0
0001C2C3>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000002F, 0xE04CF021(1)
0001C2F6>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000002F, 0xE01B152D(2)
0001C329>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000002F, 0xE04CF021(1)
0001C358>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000002F, 0xE01B152D(0)
0001C395>  CSMgrTask:001b686f:00:0f: [22] *** mpu_send(08 06 00 00 01 34 00 00)
0001C659>  CSMgrTask:001b68db:00:0f: [62] *** mpu_recv(0a 08 01 35 00 00 06 04 01 00)
0001C6C5>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000030, 0xE04CF021(1)
0001C6F6>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000030, 0xE01B152D(2)
0001C727>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000030, 0xE04CF021(1)
0001C755>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000030, 0xE01B152D(0)
0001C790>  CSMgrTask:001b686f:00:0f: [23] *** mpu_send(08 06 00 00 01 35 00 00)
0001D74D>   PowerMgr:001b68db:00:0f: [63] *** mpu_recv(0a 09 01 70 00 00 00 00 00 01)
0001D787>    PropMgr:e0067ac9:81:03: PROP_HDR_SETTING 0
0001D7B4>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000045, 0xE0066E9B(1)
0001D805>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
0001D81F>     RscMgr:e049093d:80:03: 0 0 0
0001D857>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000045, 0xE04CF021(2)
0001D88C>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000045, 0xE01B152D(3)
0001D8CF>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000045, 0xE006F9E3(4)
0001D8FF>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000045, 0xE05F2105(5)
0001D925>    PropMgr:e006c475:3c:03: ### HDRSetting Clear (OFF->OFF) ###
0001D93A>    PropMgr:e006c41f:3c:03: ChangePropCBR HDRFunc 0
0001D951>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000045, 0xE006C3AB(6)
0001D97E>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x80000045, 0xE006D4A7(7)
0001D9AD>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000045, 0xE0066E9B(6)
0001D9DC>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000045, 0xE04CF021(5)
0001DA08>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000045, 0xE01B152D(4)
0001DA31>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000045, 0xE006F9E3(3)
0001DA5C>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000045, 0xE05F2105(2)
0001DA85>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000045, 0xE006C3AB(1)
0001DAB0>    PropMgr:e041f1df:01:03: Complete WaitID = 0x80000045, 0xE006D4A7(0)
0001DAEB>   PowerMgr:001b686f:00:0f: [24] *** mpu_send(08 06 00 00 01 70 00 00)
0001DCA7>   PowerMgr:001b68db:00:0f: [64] *** mpu_recv(0a 08 01 85 00 00 00 01 01 00)
0001DCE2>    PropMgr:e0067ac9:81:03: PROP_GIS_SETTING Func 0
0001DD08>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000004E, 0xE0066E9B(1)
0001DD56>     RscMgr:e04908f1:80:03: fDevDone 1, dwLvLock 0
0001DD70>     RscMgr:e049093d:80:03: 0 0 0
0001DDA6>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000004E, 0xE04CF021(2)
0001DDD6>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000004E, 0xE01B152D(3)
0001DE0E>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000004E, 0xE006F9E3(4)
0001DE3C>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000004E, 0xE006C3AB(5)
0001DE64>    PropMgr:e006d575:3d:03: ### GISSetting Clear (OFF->OFF) ###
0001DE79>    PropMgr:e006d525:3d:03: ChangePropCBR GISFunc 0
0001DE8F>    PropMgr:e041c56d:01:03: Deliv WaitID = 0x8000004E, 0xE006D4A7(6)
0001DEBD>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000004E, 0xE0066E9B(5)
0001DEEA>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000004E, 0xE04CF021(4)
0001DF16>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000004E, 0xE01B152D(3)
0001DF42>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000004E, 0xE006F9E3(2)
0001DF6D>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000004E, 0xE006C3AB(1)
0001DF96>    PropMgr:e041f1df:01:03: Complete WaitID = 0x8000004E, 0xE006D4A7(0)
0001DFD2>   PowerMgr:001b686f:00:0f: [25] *** mpu_send(08 06 00 00 01 85 00 00)
00028E68>    CE_Main:e0585a27:3e:03:  ce_completion payload=84 num=2
00028F81>     NFCMgr:e058acc1:3e:03:  nfcmgrstate_Initialize:wtime=0
000292C5>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 0, ClassID = 62
00029300>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 7, ClassID = 62
00029330>   EventMgr:e00a2b2b:37:03: emRegisterMulticastCallback : EventID = 11, ClassID = 62
0002934E>   EventMgr:e00a2b5d:37:03: Already SW1OFF
00029377>     NFCMgr:e058ad21:3e:03:  nfcmgrstate_Initialize End
000293C3>     NFCMgr:e058710b:3e:03:  PROP_AUTO_POWEROFF 1
000293FE>     NFCMgr:e0586ce3:3e:03:  PROP_NFC_APPLI_INFO jp.co.canon.ic.cameraconnect
00029418>     NFCMgr:e0586cf1:3e:03:  PROP_NFC_APPLI_INFO a01
000294ED>     NFCMgr:e0586aa3:3e:03:  ChkRWInfo Illegal product type(pdt=dslr)
0002953C>     NFCMgr:e0586d55:3e:03:  PROP_DSDEFINE Canon%20EOS%20200D
00029557>     NFCMgr:e058787b:3e:03:  PROP_DSDEFINE 0x32cc
000295E1>     NFCMgr:e0586bed:3e:03:  PropChange:PROP_NETWORK_NICKNAME(EOS200D)->(EOS200D)
0002961F>     NFCMgr:e058787b:3e:03:  PROP_NETWORK_SYSTEM MODE_OFF 0
00029649>     NFCMgr:e0587349:3e:03:  PROP_NFC_SETTING enable 1
00029672>     NFCMgr:e058736b:3e:03:  PROP_FIXED_MOVIE off 0
00029699>     NFCMgr:e058739b:3e:03:  SHOOTING_TYPE_MOVIE off 0
000296BF>     NFCMgr:e05873cb:3e:03:  PROP_TIMELAPSE_MOVIE_SETTING off 0
000296E5>     NFCMgr:e058740f:3e:03:  PROP_MULTIPLE_EXPOSURE_SETTING OFF 0
0002970E>     NFCMgr:e0587427:3e:03:  PROP_VARIANGLEDISPLAY_ONOFF ON 1
00029734>     NFCMgr:e0587831:3e:03:  PROP_VIDEOSNAP_MODE OFF 0
00029809>     NFCMgr:e058785f:3e:03:  PROP_ICU_UILock OFF 0x0
00029832>     NFCMgr:e058792d:3e:03:  PROP_PHYSICAL_CONNECT disconnect 0
00029856>     NFCMgr:e0586c85:3e:03:  PROP_STARTUP_CONDITION NOT BLE_LOCKOFF (0x1)
000298AD>     NFCMgr:e03d78fb:3e:03: [BLE] Initialize : Enter
00029BB1>     NFCMgr:e05c17b9:3e:03: [BLE] BLESIODRIVER_Initialize END
00029BD7>     NFCMgr:e05c153d:3e:03: [BLE] blesiodriver_SioInitialize END
00029C21>     NFCMgr:e05aea5f:3e:03: [BLE] BLEFirmUp_InitializeTest
00029DF0>     NFCMgr:e03d9cc1:3e:03: [BLE] PROP_DSDEFINE 0x32cc
00029E69>     NFCMgr:e03d96c5:3e:03: [BLE] PROP_NETWORK_NICKNAME EOS200D
00029ECD>     NFCMgr:e03d9d8d:3e:03:  [BLE] PROP_FIXED_MOVIE off 0
00029F39>     NFCMgr:e03d9e65:3e:03: [BLE] PROP_VIDEOSNAP_MODE OFF 0
00029F72>     NFCMgr:e03d91c1:3e:03: [BLE] PROP_BLE_SETTING SMARTPHONE(1)
00029F8F>     NFCMgr:e03d0d03:3e:03: [BLE] Enter blemgr_SmartphoneGps_CheckState().
00029FA9>     NFCMgr:e03d0c35:3e:03: [BLE] Enter CheckGpsAndBleState().
00029FE6>     NFCMgr:e03d92f5:3e:03: [BLE] PROP_BLE_PAIRING_INFO fSet(1 0) 1 2
0002A01E>     NFCMgr:e03d49e9:3e:03: [BLE] CheckWiFiConnect TRUE
0002A048>     NFCMgr:e03d98a1:3e:03: [BLE] PROP_BLE_REMOTE_RESULT 0
0002A073>     NFCMgr:e03d0d03:3e:03: [BLE] Enter blemgr_SmartphoneGps_CheckState().
0002A087>     NFCMgr:e03d0c35:3e:03: [BLE] Enter CheckGpsAndBleState().
0002A0B3>     NFCMgr:e03d0d03:3e:03: [BLE] Enter blemgr_SmartphoneGps_CheckState().
0002A0C8>     NFCMgr:e03d0c35:3e:03: [BLE] Enter CheckGpsAndBleState().
0002A103>     NFCMgr:e03d968f:3e:03: [BLE] PROP_PHYSICAL_CONNECT disconnect 0
0002A151>     NFCMgr:e03d9941:3e:03: [BLE] PROP_BATTERY_POWER:not BAT_NONE 2
0002A170>     NFCMgr:e03d7e49:3e:03: [BLE] InitializeChkState
0002A18C>     NFCMgr:e03cf9f1:3e:03: [BLE] SendCamPowerState :0x1
000464CD>     NFCMgr:e03db2af:3e:03: [BLE] Enter blemgr_SmartPhoneGps_NopEvent!!!
000464EB>     NFCMgr:e03db2c1:3e:03: [BLE]   Status=0, Event=13
00046510>     NFCMgr:e03db2af:3e:03: [BLE] Enter blemgr_SmartPhoneGps_NopEvent!!!
00046526>     NFCMgr:e03db2c1:3e:03: [BLE]   Status=0, Event=13
00046544>     NFCMgr:e03db2af:3e:03: [BLE] Enter blemgr_SmartPhoneGps_NopEvent!!!
00046557>     NFCMgr:e03db2c1:3e:03: [BLE]   Status=0, Event=13
00046CA4>     NFCMgr:e03d44cf:3e:03: [BLE] ProcSpiRecvData Cat = 0x1, cmd = 0x85
00046CD2>     NFCMgr:e03d1243:3e:03: [BLE] RecvNtfBleState IDLE(1)
00046D29>     NFCMgr:e03cfbab:3e:03: [BLE] SendGetPairingInfo :0x1
000474D7>     NFCMgr:e03d0d03:3e:03: [BLE] Enter blemgr_SmartphoneGps_CheckState().
00047EA1>     NFCMgr:e03d44cf:3e:03: [BLE] ProcSpiRecvData Cat = 0x2, cmd = 0x86
00047ECC>     NFCMgr:e03d214b:3e:03: [BLE] JudgeBlePairInfo SD Host&BLE:Exist
00047EE4>     NFCMgr:e03d1cf5:3e:03: [BLE] CheckNextBlePairInfo:SD01->ARC
00047EFB>     NFCMgr:e03cfbab:3e:03: [BLE] SendGetPairingInfo :0x2
00049077>     NFCMgr:e03d44cf:3e:03: [BLE] ProcSpiRecvData Cat = 0x2, cmd = 0x86
0004909B>     NFCMgr:e03d214b:3e:03: [BLE] JudgeBlePairInfo ARC Host&BLE:None
000490B2>     NFCMgr:e03d1d0b:3e:03: [BLE] CheckNextBlePairInfo:ARC->END
000AF2BB>  CSMgrTask:e02b7b2b:18:03: power 18
000AF2D6>  CSMgrTask:e02b1097:18:16: SdSwitchVoltage 1
000BC4F5>  CSMgrTask:e02b73d5:18:16: SD initialize end speed=2 clock=2 UHS=1
000BC534>  CSMgrTask:e02b7489:18:16: strength 1111 current 3 mode 2
000BCE15>  CSMgrTask:e02b7649:18:16: Name: 58BGO Size: 30543(3ba7800)
000BCE40>  CSMgrTask:e02b710d:18:03: pBlkDev=0x86b95c
000BCE5A>  CSMgrTask:e02b7121:18:03: nBlocks=62552064, blksPerTrack=0, nHeads=0
000BD182>  CSMgrTask:e02b69e7:16:05: fsuGetPart: Block(2, 62552062, 62552064)
000BE20B>  CSMgrTask:e025aa4b:16:16: efat_map_filesys 2 B: 1
000BE68F>  CSMgrTask:e04bc1e7:15:03: @CSMgrTask FIO_GetSupportedDriveInfo(0x22eca8) L:1102
000BE6EE>  CSMgrTask:e025b351:16:16: AllocateMemoryStrictly For Speed Class!!!
000F411F>       dump:001b6b09:00:0f: Logging finished.
000F413C>       dump:001b6b17:00:0f: Free memory: 4168940 bytes.



Now it worked:


Canon EOS 200D/SL2

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11908
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #77 on: September 08, 2018, 12:21:00 PM »
Nice.

The next step is to enable the boot flag (it will toggle a flag in the ROM so the firmware will load and execute code from the SD card). That appears to be a diagnostic feature in Canon's bootloader, present since DIGIC 2 or maybe earlier. It's the first time we are trying this procedure on DIGIC 7; the same code was tested on 5DS first, then on 80D, 750D, 760D, and 7D2 without surprises.

Very old versions of the boot flag enabling code caused some issues in the past (years ago): when they were run from LiveView, the "erase" step of the ROM flashing procedure succeeded, but the "write" step failed; as a result, the entire boot flag area was set to FFFFFFFF. Luckily, this was still a valid configuration with a ML card inserted, but the camera refused to boot plain Canon firmware and asked for a firmware update. Placing Canon's firmware update on the card fixed the issue.

Now we are running this code directly from bootloader. Source code is on the recovery branch (i.e. bootloader experiments, with portable code that runs on all EOS cameras from DIGIC 2 to DIGIC 8 ), compiled from platform/portable.000 with CONFIG_BOOT_BOOTFLAG = y. You may review this code by running it in QEMU if you prefer.

If you (or anyone else) are OK with the risks, just send me a PM and I'll give you the FIR file.

In the emulator, if you run with firmware="boot=1", this option enables the boot flag, so you can see what exactly the firmware does differently. It will check the card contents at every startup, so there might be a small delay after this change. Other than that, with a regular (non-bootable) card is inserted, the camera will run plain Canon firmware.

edoardoc

  • New to the forum
  • *
  • Posts: 7
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #78 on: September 08, 2018, 01:29:34 PM »
In the emulator ( " ./run_canon_fw.sh 60D,firmware="boot=1" " ) I got this:



Is it ok?

Before compiling ML ( " make -C ../magic-lantern 60D_install_qemu " )  I got the same screen of ML Rescue that I got directly from my camera.
Canon EOS 200D/SL2

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11908
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #79 on: September 08, 2018, 04:42:22 PM »
The emulation doesn't go very far; it doesn't show the GUI yet. It covers the bootloader, SD card I/O and roughly half of the startup process. At some point it times out waiting for the second CPU, as the communication between them is not well understood.

To try the boot flag enabler:
Code: [Select]
cd magic-lantern
hg up recovery -C
cd platform/portable.000
make clean && make install_qemu ML_MODULES= CONFIG_BOOT_BOOTFLAG=y # optionally CONFIG_QEMU=y for more debugging info
( cd ../../../qemu-eos && ./run_canon_fw.sh 200D,firmware="boot=1" )

In this simulation, the boot flag would be already enabled, so the above won't show anything interesting (Canon code will attempt to flash the ROM only if the flag is actually changed). You could try to disable the boot flag instead (like this), as the emulation runs with boot flag enabled. In this case, you will see some low-level activity and the emulator will lock up. That's OK. It will print the address of the function it's going to call from Canon's bootloader, and you can look it up in the disassembly to confirm it's indeed the right one and has the correct syntax ( I already did that, but you should probably not trust me blindly :D ).

edoardoc

  • New to the forum
  • *
  • Posts: 7
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #80 on: September 08, 2018, 08:03:46 PM »
Which file should I edit to make this changes?
Canon EOS 200D/SL2

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11908
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #81 on: September 08, 2018, 09:48:32 PM »
First two lines from the patch are telling you the file name:
Code: [Select]
--- a/src/reboot.c
+++ b/src/reboot.c

You should also be on the "recovery" branch.

edoardoc

  • New to the forum
  • *
  • Posts: 7
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #82 on: September 09, 2018, 12:33:13 PM »
Thanks.

I disabled the boot flag from reboot.c and I ran the emulation with firmware="boot=1" , here's the result:




Reading reboot.c I noticed that ( line 842 ) :
Code: [Select]
/* DIGIC 7: the main ROM is at 0xE0000000 and there is another one at 0xF0000000, so it should be OK */
from my screenshot:
Code: [Select]
ROMBASEADDR: 0xE0040000
Why my ROM starts after the addr in the previous comment?

And... what's the next step? Loading the FIR with the bootflag enabled from a real camera?
Canon EOS 200D/SL2

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11908
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #83 on: September 09, 2018, 04:33:13 PM »
0xE0000000 is the start address of the first ROM chip (we call it ROM0).

0xE0040000 is the address of Canon's main firmware. Below that address, you can find Canon's bootloader; they are both in the same physical ROM chip.

Yes, the next step is running the FIR on real hardware and praying things won't go wrong.

edoardoc

  • New to the forum
  • *
  • Posts: 7
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #84 on: September 09, 2018, 11:44:19 PM »
Very old versions of the boot flag enabling code caused some issues in the past (years ago): when they were run from LiveView, the "erase" step of the ROM flashing procedure succeeded, but the "write" step failed; as a result, the entire boot flag area was set to FFFFFFFF. Luckily, this was still a valid configuration with a ML card inserted, but the camera refused to boot plain Canon firmware and asked for a firmware update. Placing Canon's firmware update on the card fixed the issue.
  • Is it the only problem?
  • What should I expect installing this FIR?
  • Should I copy both the ML's FIR and the Canon's firmware update on the same SD card to be safe?

Sorry for the questions but I just want to make sure what I'm doing.
Canon EOS 200D/SL2

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11908
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #85 on: September 09, 2018, 11:54:09 PM »
That's the only surprise we had so far with this procedure, but anecdote != data. Anything can happen.

Expected outcome - see e.g. for 80D.

If you copy both FIR files, Canon's bootloader will just pick one. So, you should copy only one FIR.

edoardoc

  • New to the forum
  • *
  • Posts: 7
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #86 on: September 11, 2018, 03:07:49 PM »
Loading the FIR that enable the bootflag will avoid the warranty?

Can I reset the bootflag in the future?




Inviato dal mio iPhone utilizzando Tapatalk
Canon EOS 200D/SL2

ids1024

  • New to the forum
  • *
  • Posts: 3
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #87 on: September 16, 2018, 04:29:25 PM »
Loading the FIR that enable the bootflag will avoid the warranty?

There is an FAQ entry for that: https://wiki.magiclantern.fm/faq#does_it_void_my_warranty

Can I reset the bootflag in the future?

Yes.


Dennis_K

  • New to the forum
  • *
  • Posts: 1
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #88 on: September 30, 2018, 02:24:06 PM »
I own a 77D and I would love to help the development. Is there anything I can do? Unfortunately, I have zero expereience with coding.

aprofiti

  • Member
  • ***
  • Posts: 111
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #89 on: October 01, 2018, 09:07:12 PM »
I'm trying to find stubs for 77D, using 200D as a reference.

This is what I have at the moment:
Code: [Select]
/** Startup **/
NSTUB( ROMBASEADDR, firmware_entry )
NSTUB(0xE00400EC,  cstart)                 /* calls bzero32 and create_init_task(..., init_task, ...) */
NSTUB(0xDF00D285,  bzero32)                /* zeros out a data structure. From sub_E0428334
      LDR             PC, =(loc_DF00D284+1) */

NSTUB(0xDF006515,  create_init_task)       /* low-level DryOS initialization. From sub_E0427890
      LDR             PC, =(sub_DF006514+1) */
NSTUB(0xE0040215,  init_task)              /* USER_MEM size checking, dmSetup, termDriverInit, stdlibSetup etc */
NSTUB(0xe065e278,  dcache_clean)           /* loop with MCR p15 c7,c10,1; DSB */
NSTUB(0xe065e34c,  icache_invalidate)      /* loop with MCR p15 c7,c5,1; c7,c1,6; c7,c1,0; ISB */

/** Tasks **/
NSTUB(0xDF008F7E,  task_create)            /* used to start TaskMain, GuiMainTask etc */
NSTUB(0xDF0087FE,  msleep)                 /* argument is always multiple of 10 */
//NSTUB(    0x????,  current_task)           /* from task_create; pointer to the current task structure */
//NSTUB(    0x????,  current_interrupt)      /* from interrupt handler (VBAR + 0x18); where the interrupt ID is stored */

/** Dumper **/
NSTUB(0xe007fc46,  dump_file)              /* tries to save a file to either "A:/%s" or "B:/%s"; calls FIO_RemoveFile/CreateFile/WriteFile/CloseFile/Flush */

/** Memory info **/
NSTUB(0xe02640b4,  malloc_info)            /* Malloc Information */
NSTUB(0xe026414c,  sysmem_info)            /* System Memory Information */
NSTUB(0xe01eaf80,  memmap_info)            /* Exception vector, DRYOS system memory etc */
NSTUB(0xe0164ca6,  smemShowFix)            /* Common Lower, Common Upper etc */

/** Memory allocation **/
NSTUB(0xDF0079D3,  GetMemoryInformation)   /* called from AllocateMemory */

/** Debug messages **/
NSTUB(0xDF006E6D,  DryosDebugMsg)          /* lots of debug messages; format string is third argument */

/** Eventprocs (call by name) **/
NSTUB(0xe04d8aee,  call)                   /* many functions called by name (lv_start, lv_stop etc) */

/** GUI timers **/
NSTUB(0xe04d499a,  CancelTimer)            /* from error message */
NSTUB(0xe05aad76,  SetHPTimerAfterNow)     /* from error message */
NSTUB(0xe05aadca,  SetHPTimerNextTick)     /* same "worker" function as SetHPTimerAfterNow */
NSTUB(0xe04d48e4,  SetTimerAfter)          /* from error message */

/** Interrupts **/
//NSTUB(    0x????,  pre_isr_hook)
//NSTUB(    0x????,  post_isr_hook)
//NSTUB(   0x?????,  isr_table_handler)
//NSTUB(   0x?????,  isr_table_param)

/** MPU communication **/
NSTUB(0xE01E781F,  mpu_send)                  // "dwSize < TXBD_DATA_SIZE"
NSTUB(0xE058866B,  mpu_recv)                  // passed as last argument by InitializeIntercom and eventually stored into mpu_recv_cbr
NSTUB(    0x7CF4,  mpu_recv_cbr)              // mpu_recv is called indirectly through this function pointer
NSTUB(   0x887D4,  mpu_send_ring_buffer)      // ring buffer used in mpu_send
NSTUB(    0x7CD8,  mpu_send_ring_buffer_tail) // ring buffer index incremented in mpu_send
NSTUB(   0x88694,  mpu_recv_ring_buffer)      // ring buffer used in SIO3_ISR, subroutine that processes two chars at a time
NSTUB(    0x7CD0,  mpu_recv_ring_buffer_tail) // ring buffer index incremented in the above subroutine

/** Misc **/
NSTUB(0xe11f93d4,  vsnprintf)              /* called near dmstart; references "01234567", "0123456789", "0123456789abcdef" and "0123456789ABCDEF"; second arg is size; the one called by DebugMsg only knows %s */
Still missing a couple of references to data structures.
After figuring out it should be able to run the same minimal code as current state of 200D.

If someone want to double check and find the remaining stubs, please write down here your finding.

EDIT: More address found. Still missing last isr related stubs
Code: [Select]
NSTUB(    0x1020,  current_task)           /* from task_create; pointer to the current task structure */
NSTUB(    0x1008,  current_interrupt)      /* from interrupt handler (VBAR + 0x18); where the interrupt ID is stored */

/** Interrupts **/
//NSTUB(    0x????,  pre_isr_hook)
//NSTUB(    0x????,  post_isr_hook)
NSTUB(   0x6D0C0,  isr_table_handler)
//NSTUB(   0x?????,  isr_table_param)

jack001214

  • New to the forum
  • *
  • Posts: 6
  • EOS 200D
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #90 on: October 07, 2018, 11:23:29 AM »
does ML even work for 200D?
Willing to run bootflag modification on my 200D

Mikerofilm

  • New to the forum
  • *
  • Posts: 2
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #91 on: October 07, 2018, 04:45:00 PM »
Through rom dumpers are we able to expand the range of the video codec on the 6d mk2?

Walter Schulz

  • Hero Member
  • *****
  • Posts: 6386
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #92 on: October 07, 2018, 06:33:32 PM »
Misconception: ROM dumpers read ROM data from cam. That's a very basic step in ML development. Don't hold your breath waiting for ML files loaded from card and ML code running in the cam. Devs just taking the very first steps in a very, very long journey.

Don't know what you expect in "codec range expanding" but you may take a look into what ML enabled cams are actually able to do. You may be disappointed, though.

jack001214

  • New to the forum
  • *
  • Posts: 6
  • EOS 200D
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #93 on: October 10, 2018, 06:23:52 PM »
What if i want to run some simple code on my 200D? Like a simple calculation and store it in the RAM or some accessible space. What can i do too access the full CPU instructions in assembler? I am not looking for fancy Screen gui's and touch or anything above those categories.
Willing to run bootflag modification on my 200D

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11908
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #94 on: October 10, 2018, 07:23:07 PM »
You can already do that in the emulator - see e.g. reply #83. For example, a simple intervalometer coded in C would be very easy to write.

After enabling the boot flag, you will be able to do the same on real hardware. Proof of concept code was already tested and confirmed to work. I'm looking for a volunteer willing to be the first one who enables the boot flag on DIGIC 7 (see previous page); nobody took the risk yet. The FIR file for enabling the boot flag for 200D is ready, just drop me a PM if (or when) you are prepared to run it.

jack001214

  • New to the forum
  • *
  • Posts: 6
  • EOS 200D
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #95 on: October 11, 2018, 09:24:06 AM »
I'm ready
Willing to run bootflag modification on my 200D

juarez13

  • New to the forum
  • *
  • Posts: 2
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #96 on: October 29, 2018, 11:11:35 PM »
I didnt undertand how to install the magic lantern on 77d, someone can help?

Jonn3y

  • New to the forum
  • *
  • Posts: 2
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #97 on: October 30, 2018, 06:18:09 PM »
I didnt undertand how to install the magic lantern on 77d, someone can help?

There is no tested and working ML for 77D yet :)

calle2010

  • New to the forum
  • *
  • Posts: 2
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #98 on: November 02, 2018, 03:43:50 PM »
Hi,

I've dumped the ROMs of my 77D and created a build environment that brings me up to this point:





I also did the test with changing reboot.c to disable the boot flag. Is the output of this still relevant for anybody?

I have a few questions now:
- I unterstand the next step is to collect the stubs. Is there already a more complete list than aprofiti posted on October 1st?
- Has anybody already done the steps described here? https://bitbucket.org/hudson/magic-lantern/src/qemu/contrib/qemu/HACKING.rst?fileviewer=file-view-default#rst-header-adding-support-for-a-new-camera-model
- In branch "digic6-dumper" I see directory "platform/77D.100". Shouldn't this be "77D.102" since the current firmware version is 1.0.2?
- Is there a repository where people work together on porting to the 77D?

Thanks you so far for the good documentation. I hope I can help to get some steps further to a working port of ML for the 77D.

Cheers,
Christian.

PS: If you are interested on how I created my environment have a look at https://github.com/calle2010/magic-lantern-77d-vagrant. I use Vagrant and VirtualBox hosted on MacOs.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11908
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #99 on: November 02, 2018, 07:38:20 PM »
PS: If you are interested on how I created my environment have a look at https://github.com/calle2010/magic-lantern-77d-vagrant. I use Vagrant and VirtualBox hosted on MacOs.

Very nice! Not familiar with vagrant, but if it makes easier to setup a build environment, it might be an interesting option.

I've tried Docker some time ago, but the experience wasn't straightforward. I couldn't install it on my main machine (OpenSUSE Tumbleweed), so I had to try it in a virtual machine.

Moving qemu.monitor into /tmp sounds interesting.

Quote
- I unterstand the next step is to collect the stubs. Is there already a more complete list than aprofiti posted on October 1st?

That's the most complete one. I didn't double-check them yet, only noticed the Thumb bit was not set in most of the stubs (and it should be; refer to 200D for details).

Quote
- Has anybody already done the steps described here? https://bitbucket.org/hudson/magic-lantern/src/qemu/contrib/qemu/HACKING.rst?fileviewer=file-view-default#rst-header-adding-support-for-a-new-camera-model

Emulation is at the same level as 200D and all other DIGIC 7 ports. It gets stuck as soon as the two cores expect to talk to each other.

I hope this experiment is going to capture the info needed to understand these interactions, but it has to be adapted to the ARMv7 architecture. The two cores are talking via MMIO registers, interrupts, and they both access the same memory (flat mapping, except for a private 4K page for each core, just like EOS M5).

Quote
- In branch "digic6-dumper" I see directory "platform/77D.100". Shouldn't this be "77D.102" since the current firmware version is 1.0.2?

That's right. Initial experiments on 77D were done before Canon published a firmware update.

Quote
- Is there a repository where people work together on porting to the 77D?

The digic6-dumper branch currently covers the DIGIC 6 and newer models, so... that's pretty much it. RE notes and other findings are shared on the forum.

Some bootloader experiments can be found in the "recovery" branch. That's portable code, running on all models since DIGIC 2.

BTW, we could successfully enable the boot flag on 200D; will post the FIR files soon.