Author Topic: Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)  (Read 47100 times)

BHybes

  • New to the forum
  • *
  • Posts: 2
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #50 on: May 05, 2018, 10:35:42 AM »
800D Rom Dump didn't work, got stuck at ROM0

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11837
  • 5D Mark Free
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #51 on: May 05, 2018, 11:06:42 AM »
From the post with download links -> click on first link:

Requirements:
- a very small SD card or filesystem (important!)
- [...]

Formatting a larger card at a much lower capacity (e.g. 256MB) does the trick. For example, you can write the SD image that comes with QEMU to your SD or CF card (follow this guide).

deathline

  • New to the forum
  • *
  • Posts: 6
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #52 on: May 05, 2018, 08:11:24 PM »
One of the ROMs is very slow, so it takes a while. Updated the binaries to skip that step.

@ 200D/6D2/77D owners: please check whether the new dumpers are still working (same link, top of the page).

new dumper starting to work immediately, rom1.bin identically same priveous files, rom0.bin have slightly differences which has been seen all rom0.bin file.It's look like a block shifting flaws causing newlines.And you know where to find ;)

ids1024

  • New to the forum
  • *
  • Posts: 3
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #53 on: May 10, 2018, 08:53:02 PM »
The 800D ROM dumper seems to work, though it took me a while to figure out how to create a fatfs smaller than the card. "strings ROM0.BIN" and "strings ROM1.BIN" confirm they aren't just non-sense (I'm not sure what else to check).

acarboni

  • New to the forum
  • *
  • Posts: 1
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #54 on: May 22, 2018, 05:40:24 PM »
Hi! I've got an M50, a second camera, and I went out and bought a couple low-capacity SD cards. I'd love to help out with the blinking led test. Do I just use the standard one from the diagnostic tools thread (http://a1ex.magiclantern.fm/blink/autoexec.bin)? Does anyone have a link to instructions/materials that I might've missed to help me through the process?

lovefilm

  • New to the forum
  • *
  • Posts: 4
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #55 on: June 03, 2018, 10:46:06 PM »
Portable ROM dumpers ready 8)

M50_DUMP.FIR (need a second volunteer who has either another camera to film the display, or a phototransistor connected to soundcard/arduino/whatever)

Emulation coming soon.

Hello a1ex!

Also got a M50 and a 2nd camera, would be happy to help as well.

Since the M50 is running EOS firmware, would that mean its easier to port Magic Lantern to it? :)

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11837
  • 5D Mark Free
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #56 on: June 04, 2018, 04:19:01 PM »
I went out and bought a couple low-capacity SD cards.

Really? You only need a small filesystem; card size doesn't matter. You can run the test on 128GB cards just as easy as on a 2GB card (in other words, both of them will have to be formatted at a smaller capacity anyway).

LED blinking FIR sent via PM.

lovefilm

  • New to the forum
  • *
  • Posts: 4
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #57 on: June 04, 2018, 11:04:07 PM »
LED blinking FIR sent via PM.

Trying to get it working on my M50,

I used dd to write the QEMU image suggested in here https://www.magiclantern.fm/forum/index.php?topic=16534.0 to my SD-Card, this it how it looks now:
Code: [Select]
[email protected]:/home/freezer/Canon# fdisk -l /dev/sdd
Disk /dev/sdd: 59,5 GiB, 63864569856 bytes, 124735488 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start    End Sectors   Size Id Type
/dev/sdd1          99 506879  506781 247,5M  6 FAT16

And the file-structure within the FAT16:

Code: [Select]
[email protected]:/media/freezer/EOS_DIGITAL# find .
.
./autoexec.bin
./LEDIDM50.FIR
./DCIM
./DCIM/autoexec.bin
./DCIM/LEDIDM50.FIR
./DCIM/100CANON
./DCIM/EOSMISC
./MISC

filesizes:
-rw-r--r-- 1 freezer freezer   604 Jun  4 19:16 LEDIDM50.FIR
-rw-r--r-- 1 freezer freezer 25312 Jun  4 20:07 autoexec.bin

I used the autoexec.bin from the Portable ROM-Dumper thread above and the .FIR provided. Copied them to both / and /DCIM

However nothing really seems to happen when turning it on with the SD-Card inserted. As far as I understand the .FIR file is to enable the boot-flag in the Canon Firmware, is there anything special needed to do to apply it?


Thanks!


ArcziPL

  • Freshman
  • **
  • Posts: 74
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #58 on: June 04, 2018, 11:28:58 PM »
Run "firmware update" from the original menu.
70D.112 | 700D.115 | M.202 | 450D.110

lovefilm

  • New to the forum
  • *
  • Posts: 4
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #59 on: June 04, 2018, 11:48:06 PM »
Run "firmware update" from the original menu.

Can't find any option to update firmware in the original menu.

EOS Utility seems to have an option for Firmware Update, not sure if that would work? Don't have a Windows installation right now.

ArcziPL

  • Freshman
  • **
  • Posts: 74
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #60 on: June 05, 2018, 08:06:09 AM »
You have to be in one of the following modes: M/Av/Tv/P. The camera manual describes it for sure. And don't use EOS Utility for that.
70D.112 | 700D.115 | M.202 | 450D.110

Walter Schulz

  • Hero Member
  • *****
  • Posts: 6324
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #61 on: June 05, 2018, 08:58:52 AM »
Page 299 of your manual contains a screenshot showing firmware information. Highlight/select this item and open sub-menu to access firmware update option.
@ArcziPL: Nope, Canon don't bother users with this kind of geeky stuff ...

lovefilm

  • New to the forum
  • *
  • Posts: 4
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #62 on: June 05, 2018, 09:15:16 AM »
Thanks,
got it now.

However when i confirm "Update firmware" with OK, the LCD screen goes black immediately with no LED blinking or anything else happening.
Have to remove the battery to revive it. 

ldevulder

  • New to the forum
  • *
  • Posts: 1
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #63 on: June 10, 2018, 05:23:09 PM »
Hi all,

I've got a M50 and another camera (6D). I'm ready to help any developper to port ML on this camera.

I didn't find the FIR file to perform the LED blinking test on the M50.

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3223
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #64 on: June 11, 2018, 10:00:32 PM »
I didn't find the FIR file to perform the LED blinking test on the M50.

You need to get it from a1ex via PM.

Also read over posts from lovefilm because he tried running the M50 LED blinking test.
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103

overVolt

  • New to the forum
  • *
  • Posts: 1
Re: Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #65 on: June 13, 2018, 05:38:31 PM »
I have a 77d, some sort of programming skills and I'm ready to help in any way needed (if needed).

I just need to NOT brick my camera because I use it every day for work and have no other camera :)

CanonPrimoz

  • New to the forum
  • *
  • Posts: 1
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #66 on: June 14, 2018, 06:29:51 PM »
Hi!
I just got new 6D2 and I'm ready to help... I have some coding skills with C and C++

Rubsstar

  • New to the forum
  • *
  • Posts: 1
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #67 on: June 27, 2018, 03:30:50 PM »
Hi, I want to have magic lantern on my Canon 200D camera. I have already installed this fir document. then he says that I have to put out my battery and restart my camera. if I do that he does nothing... Is that right?

Portable ROM dumpers ready 8)

77D_DUMP.FIR (confirmed by alpha232)
200DDUMP.FIR (confirmed by deathline)
6D2_DUMP.FIR (confirmed by DieHertz)
800DDUMP.FIR (confirmed by ids1024)
M50_DUMP.FIR (need a second volunteer who has either another camera to film the display, or a phototransistor connected to soundcard/arduino/whatever)

Emulation coming soon.

kotik

  • Freshman
  • **
  • Posts: 80
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #68 on: July 12, 2018, 03:41:14 PM »
Firmware update 6D200104.FIR is released.
My first Canon: FTb QL (Quick Loading), my first digital Canon: 20D 2.0.3
The current ones: 80D 1.0.2, 6D Mark II 1.0.4, I would like to have this one: Canon C200 ;)

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11837
  • 5D Mark Free
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #69 on: July 12, 2018, 04:02:55 PM »
Previous dumper should work; feel free to double-check the stubs.

kotik

  • Freshman
  • **
  • Posts: 80
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #70 on: July 12, 2018, 05:15:47 PM »
Can confirm that 6D2_DUMP.FIR is still working on 6D2 1.0.4.
https://ibb.co/hBUQK8

Did 3 runs, MD5 of ROM0 is inconsistent, ROM1 is even.

Did run: ./run_canon_fw.sh 6D2 -d debugmsg
FileMerge detected 69 differences between 6D2.103 and 6D2.104, all memory address related.

Tried: ./run_canon_fw.sh 6D2 -d debugmsg -s -S & arm-none-eabi-gdb -x 6D2/debugmsg.gdb
but the iMac terminal complained: -bash: arm-none-eabi-gdb: command not found.

There seems to be a Homebrew problem not installing arm-none-eabi-gdb.
Found a script to fix that, but that didn't work!

Installed arm-none-eabi-gdb with Homebrew, now I get the following error.

Python Exception <type 'exceptions.ImportError'> No module named gdb:
warning:
Could not load the Python gdb module from `/Users/ibush/bin/arm-none-eabi/share/gdb/python'.
Limited Python support is available from the _gdb module.
Suggest passing --data-directory=/path/to/gdb/data-directory.

How can I fix this? Start all over again?   :o
My first Canon: FTb QL (Quick Loading), my first digital Canon: 20D 2.0.3
The current ones: 80D 1.0.2, 6D Mark II 1.0.4, I would like to have this one: Canon C200 ;)

mauriciovrc

  • New to the forum
  • *
  • Posts: 1
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #71 on: August 03, 2018, 03:30:15 AM »
Hi guys! I'm new with magic lantern and don't understand so much about this. Someone can tell me how I install the firmware in 80OD? I didn't understand if I get ML just installing the firmware availably here.

Audionut

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3535
  • Blunt and to the point
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #72 on: August 03, 2018, 05:38:19 AM »
Someone can tell me how I install the firmware in 80OD?  I didn't understand if I get ML just installing the firmware availably here.

There is no ML currently available for the 800D.  There is a bunch of work that must be completed first before ML is available for the 800D.

Ant123

  • Freshman
  • **
  • Posts: 94
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #73 on: August 07, 2018, 11:06:24 PM »
Canon released firmware update for EOS M50.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 11837
  • 5D Mark Free
Re: DIGIC 7 & 8 development (200D/SL2, 800D/T7i, 77D, 6D2, M50)
« Reply #74 on: August 08, 2018, 05:55:59 PM »
Looks very much like DIGIC 7. Dual core.

Code: [Select]
EC412 READY
EC412 ICU Firmware Version 1.0.1 ( 6.8.0 )
ICU Release DateTime May 23 2018 15:50:06
...
[CPU0] [        init:e014499b ] task_create(PowerMgr, prio=20, stack=400, entry=e01448ed, arg=0)
[CPU0] [        init:e0558f51 ] task_create(DbgMgr, prio=1f, stack=0, entry=e0558ecf, arg=c81c78)
[CPU0] [        init:e0097255 ] CreateStateObject(DMState, 0xe09d49c0, inputs=22, states=2)
[CPU0] [        init:e004c24b ] task_create(EEPROM, prio=1f, stack=400, entry=e004bea5, arg=0)
[CPU0] [        init:e0044ea9 ] task_create(ROM0R, prio=11, stack=400, entry=e00448c1, arg=620004)
[CPU0] [        init:e0044ebb ] task_create(ROM1R, prio=11, stack=400, entry=e00448c1, arg=640006)
...
[CPU0] [        init:e0622337 ] register_func('EnableBootDisk', e062228b, 0)
[CPU0] [        init:e0622343 ] register_func('DisableBootDisk', e0622295, 0)
...
[CPU0] [        init:e0050521 ] task_create(Startup, prio=15, stack=2800, entry=e0050415, arg=c826a0)
[CPU0] [        init:e0040905 ] task_create(TaskMain, prio=1d, stack=0, entry=e0040525, arg=0)
[CPU0] [     Startup:e0558f51 ] task_create(PropMgr, prio=14, stack=0, entry=e0558ecf, arg=cc9264)

akashimorino
[CPU0] [    TaskMain:e00461e9 ] register_func('drysh', e07393e9, 0)
[CPU0] [    TaskMain:e00461ff ] register_func('NewTaskShell', e00461ad, 0)
[CPU0] [    TaskMain:e00461c9 ] task_create(EvShel, prio=18, stack=8000, entry=e0046105, arg=0)
[CPU0] [      EvShel:e05773eb ] task_create(LowConsole, prio=19, stack=800, entry=e005153d, arg=0)
[CPU0] [      EvShel:e05773eb ] task_create(ConsoleSvr, prio=18, stack=800, entry=e0051141, arg=0)

Open Console EC412[1]>...

EC412[1]>drysh

Dry[WarpPUX]> ?
[Kern]
 extask  memmap  meminfo  mkcfg  dminfo  exobjinfo  stdlibcfg  efatcfg
 sysvers  xd  xm  prio  resume  suspend  release  sem  mutex  event  mq  exit

Dry[WarpPUX]> memmap
e008f6c0 : Exception vector
000dc870 : Heap start
           0x00114920(1132832)
001f1190 : Heap end
001f1190 : DRYOS system object
           0x000094e0(38112)
001fa670 : DRYOS system memory
           0x000e2200(926208)
000dc070 : Error exception stack start (PU0)
           0x00000400(1024)
000dc470 : Error exception stack end (PU0)
000dc470 : Error exception stack start (PU1)
           0x00000400(1024)
000dc870 : Error exception stack end (PU1)
df000000 : IRQ exception stack start (PU0)
           0x00001000(4096)
df001000 : IRQ exception stack end (PU0)
df001000 : IRQ exception stack start (PU1)
           0x00001000(4096)
df002000 : IRQ exception stack end (PU1)

Dry[WarpPUX]> meminfo -m
Malloc Information (onetime type)
  Start Address       = 0x000dc878
  End Address         = 0x001f0ec0
  Total Size          = 0x00114648 (  1132104)
  Allocated Size      = 0x000018c8 (     6344)
  Allocated Peak      = 0x000018c8 (     6344)
  Allocated Count     = 0x00000008 (        8)
  Free Size           = 0x00112d80 (  1125760)
  Free Block Max Size = 0x00112d80 (  1125760)
  Free Block Count    = 0x00000001 (        1)

Dry[WarpPUX]> sysvers
SystemIF 0.97
DRYOS version 2.3, release #0060+p2
 MACH 0.50

TODO: figure out LED address(es), bootloader display registers and a way to dump the ROM. Currently running it from a modified 200D bootloader.

Edit: might have found the LEDs (drive values: on = 0xD0002, off = 0xC0003)
- 0: SD card LED 0xD01300E4
- 6: WLAN LED 0xD01300E4 (same LED?!)
- 7, 8, 10, 11: 0xD01300E4 (same LED?!)
- 1, 2, 3, 4, 9: unknown 0xD01301A4
- 5: ?! (no obvious MMIO activity)

Volunteers willing to run untested code are welcome.