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

feedrail

  • Just arrived
  • *
  • Posts: 1
DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« on: June 12, 2017, 07:05:50 AM »
Ive used ML on my t2i for years and loved it, now I want to do my part and bring ML to my t7i. Point me in the right direction and a few do's and don't s and I'll do whatever I can. I had some coding years ago vb+, c++, java. I don't know it that will be any use but I'm willing and want to try.

(was: Newbie Here wantingg to help on 800d)

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10888
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #1 on: June 12, 2017, 10:40:26 AM »
A few days ago I've tried to find the LED address on a 77D (also digic 7), on IRC, without success. If you want to try the same steps, just get in touch with me.

The good news is that we can run code on the camera. The next step would be to produce some sort of side effects (such as LED blinks, or even variations in power consumption, that can be noticed with a multimeter).

What we know about D7 can be found on the EOS M5 thread, but that model runs PowerShot firmware. It's very likely a dual-core Cortex A9, with MMU, and runs Thumb-2 code (therefore, we might have some luck matching code patterns from some D6 models).

Caching issues (not yet solved on D6) are probably similar (that is, once it's solved for one model, it will very likely apply to all others).

GabrielJLozano

  • Just arrived
  • *
  • Posts: 1
Re: Newbie Here wantingg to help on 800d
« Reply #2 on: September 08, 2017, 07:59:13 AM »
So I tried looking all over the forums and the only information I could find about anyone even remotely talking about working on the t7i is this thread. Is anyone trying to port it at all? I'd love to help as well so long as someone points me in the right direction.

Walter Schulz

  • Hero Member
  • *****
  • Posts: 5907
Re: Newbie Here wantingg to help on 800d
« Reply #3 on: September 08, 2017, 09:24:38 AM »
Read the post above yours.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10888
  • 5D Mark Free
Re: Newbie Here wantingg to help on 800d
« Reply #4 on: September 08, 2017, 09:47:36 AM »
Some of the easier things you can do to help, in order of increasing difficulty:

- wait for a firmware update
- open your camera and take high-resolution pictures of the mainboard
- hook a multimeter / Arduino / oscilloscope / whatever to an external power supply (see above)
- find some UART or JTAG port and attempt to communicate with it
- read the Cortex A9 manuals and the PowerShot ROM dumps (CHDK forum), then suggest things to try running on the camera, in order to get any kind of side effects (LED blinks, display activity, writing to SD, variations in power draw)

If you want to run your own code on the camera, I recommend starting from either recovery or digic6-dumper branches. However, you'll need to sign the code, and the tools for doing that are not public, but I can help with that - just drop me a PM.

Good luck!

A8M

  • New to the forum
  • *
  • Posts: 3
Canon T7I/800D
« Reply #5 on: December 03, 2017, 02:40:09 AM »
Okay.  Just got off the phone with Canon.  No good news.  According to their techs, the company has NO PLANS to release a firmware update for this model until 2019!!!  Could be a lie, but if it is, the company's personnel told it.  Sucks to be us I guess as the new kids on the block.

Having said that, is it still possible to go forward and try to figure out a ML for this model?  I'm somewhat skeptical it will happen since the T6i hasn't had any good luck thus far, along with other models that have been out there on the block longer than this one with the newer chipsets.  Al3x has already said he isn't going to invest the time/energy into building newer model MLs from scratch leaving the burden on others, but most of us are just not coders/assemblers/hackers like that.  At most I think you have more script kiddies at the site's disposal than actual hardcore coders that know enough C++, Python, or Linux enough to be viable.  If I had 2 of these I'd be willing to try, but with only one as my daily driver for projects I can't afford a brick tinkering with it.   

I've trolled a little bit in the forums trying to see if there were any people actively figuring this out and so far there hasn't been a lot of discussion threads about the 800D.  But from what I've seen this is all I've been able to answer:
1.  Chipset is Digic7.  Haven't found on the forums yet whether or not there is a specific dumper for this digic, as what digic6 has.
2.  Can't open the camera to take pics of the hardware; don't have the right bits for these screws and that's sad considering I tried 25 different pieces.
3.  Dont have a  multimeter / Arduino / oscilloscope / whatever to hook to an external power supply.
4.  JTAG port can't say yay or nay because of #2. 








TheCallumP

  • Just arrived
  • *
  • Posts: 2
ML for Canon 200D / SL2
« Reply #6 on: December 29, 2017, 12:52:09 AM »
Is there a version of ML that can be used with this camera? I bought this camera for content creation not realising that it doesn't offer a clean HDMI output ('clean' in the respect that it hides all of the on-screen information). I literally have everything set up, but could not for the life of me figure out a way to hide the on-screen information...until I found Magic Lantern. Sadly, I've found that my camera is not supported.

Are there any plans to support this camera, or is there a version that I can use that will work with my 200D? Sorry if either of these are dumb questions, I'm completely new to this and am grasping at straws here.

Many thanks.

Walter Schulz

  • Hero Member
  • *****
  • Posts: 5907
Re: ML for Canon 200D / SL2
« Reply #7 on: December 29, 2017, 05:28:21 PM »
Short A: No.

Long A:
There is no such thing as project management, masterplan, schedule in ML development. If someone takes up the task of porting a cam it's a start. But again: That's not a promise you will see a port going "full ML" at a given time or at all.
At time of writing there are serious efforts to port ML to cams housing Digic 6 processors. But 200D doesn't run on Digic 6 but Digic 7. And porting ML to an unknown processor generation is a very hard task to master.
And dev time is sparce. Devs made it pretty clear they will help in development for new ports but do not have the time to maintain newer cams. Each and every cam needs a maintainer for long time support.


My general advice: If there is no ML port for your cam act like there will be no ML for your cam ever.

Or you have a spare dev at hand: Skilled in embedded devices (preferable ARM architecture), assembler and C programming. And some time to waste.

TheCallumP

  • Just arrived
  • *
  • Posts: 2
Re: ML for Canon 200D / SL2
« Reply #8 on: December 29, 2017, 05:52:21 PM »
Thank you for taking the time to respond, I appreciate it. Bummer, but totally understandable. 

Are there any alternatives to ML that I may be unaware of? Literally all I'm looking for is a way to turn off the on-screen overlay entirely.

dfort

  • Hero Member
  • *****
  • Posts: 2490
Re: ML for Canon 200D / SL2
« Reply #9 on: December 30, 2017, 01:28:52 AM »
This is the least expensive of the Digic 7 DSLR's.

Would asking for a ROM dumper be unreasonable? Maybe Digic 7 code isn't all that different from Digic 6?
5D3.* 7D.* 700D.115 EOSM.* EOSM2.103

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10888
  • 5D Mark Free
Re: ML for Canon 200D / SL2
« Reply #10 on: December 30, 2017, 01:37:13 AM »

deathline

  • Just arrived
  • *
  • Posts: 1
Re: ML for Canon 200D / SL2
« Reply #11 on: January 16, 2018, 10:38:03 PM »
Answered at http://www.magiclantern.fm/forum/index.php?topic=19737.

Canon released a firmware update for eos 200d but Firload can't decrypt it.Is another solution is avaible?

http://gdlp01.c-wss.com/gds/8/0400003508/01/v101-sl2-200d-x9-win.zip

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10888
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #12 on: January 20, 2018, 12:27:49 AM »
Dual-core Cortex A9 (just like M5). The firmware is still based on the EOS codebase and doesn't look too different from DIGIC 6.

Main firmware: 0xE0040000, starts as Thumb, entry point code different from D6.
Bootloader: no idea how it looks like, we'll need to run some code blindly until we manage to dump its contents.
MPU (microcontroller) present (similar to other EOS models, same interrupts as D6, didn't look further).
MMU (memory mapping unit) present (likely configured in the same way as M5).
All previous Canon models use a MPU - memory protection unit (not to be confused with the microcontroller with the same name). D7 uses a MMU instead.
Interrupt system: same as D6.
Some DryOS tasks are starting with single-core emulation (unlike 7D/7D2), even with this (incomplete) ROM.
The DryOS shell works out of the box!

Code: [Select]
K417 READY
K417 ICU Firmware Version 1.0.1 ( 5.0.2 )
ICU Release DateTime 2017.09.21 12:53:23

Open Console K417[1]>...

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

Dry[MusaPUX]> sysvers
SystemIF 0.88
DRYOS version 2.3, release #0059+p4
 MACH 0.83+p1

WLAN led at 0xD2080190: 0x20D0002 (on), 0x20C0003 (off)
Could not find the SD card led yet.

There are many early tests I can run with the above knowledge, on any DIGIC 7 model:
- blink the LED
- identify the SD card LED (we did that on DIGIC 6)
- dump the bootloader using CHDK soundcard method (requires extra hardware)
- attempt to jump to main firmware (assuming it's the same as D6)

Ready to try?

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10888
  • 5D Mark Free
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #13 on: January 20, 2018, 10:43:18 AM »
6D Mark II also has a firmware update available (just noticed it):

Code: [Select]
K406 READY
K406 ICU Firmware Version 1.0.3 ( 6.4.4 )
ICU Release DateTime 2017.08.28 12:49:25

Dry[MusaPUX]> sysvers
SystemIF 0.88
DRYOS version 2.3, release #0059+p4
 MACH 0.83+p1

WLAN led not found (does it have one?)

grtor

  • Just arrived
  • *
  • Posts: 1
Re: DIGIC 7 development (200D/SL2, 800D/T7i, 77D, 6D2)
« Reply #14 on: January 24, 2018, 08:01:17 PM »
No, the 6dii doesn't have a WLAN led only an SD card led