Looks very much like DIGIC 7. Dual core.
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.