Removing the need to use libc in the source (by replacing the needed
functionality from eg. bionic or uclibc) would make the building a lot
easier though imho.
The 600D branch is based on the 60D branch which is based on the 550D
branch which is based on the original master (5DmkII branch), but is
somewhat different as Alex is actively developing new features primarily
here. Each one has more or less differences from the previous one. If
looking for features you should first check the 550D or 60D branch, as
those contain the most compatible code that should more or less work on
I'd be glad to look into it. I'm trying to compile the ARM toolchain now (from the current esden trunk). It currently crashes at "Configuring openocd-master" with
"checking Build & Link with libftdi...... configure: error: Cannot build & run test program using libftdi"
Contacted Piotr Esden-Tempski about it already.
I think I'm going to look for a version dating back from the time when the ML instructions for Mac OS on the wiki were developed, now.
While it's compiling, I'm looking at "gui.c", guessing that the actual changes need to be done in header file "consts-600d.101.h".
Can you confirm that you are now trying out event constants using "console_printf" (guess from commented out code), which, what, will output on the camera screen? If so, can we separate the workload so that we don't redo the work independently?
Still compiling ARM toolchain…
Do not use other versions of ARM toolchain; use the ones recommended
on the wiki.
If you don't use console.c (i.e. just bmp_printf), messages will still
appear on the screen, but sometimes they may get erased before you
have a chance to read them. For the first time, I think it's OK to use
To use console_printf, you need to include console.c (add console.o in
Makefile at ML_OBJS-y ). This will print messages on the screen; you
have to start it with console_show() first, because the menu is not
working yet. Also make "draw_event = 1" in menu.c.
Also see the 60D porting thread for more hints.
But I can't seem to be able to trigger anything. Does the code now in version control do anything more than "set the bootflag"? How to I test "gui.c" from the camera? Or confirm that the autoexec.in has loaded properly?
Thanks again guys. I know this is basic stuff, but, well, I think I can contribute if I get these little steps done! ;-)
First, you have to enable task override (uncomment line
boot-hack.c:137). There are two tasks started in this way: one in
gui.c (which we want), and one in audio.c (sounddev_task). Make sure
the camera boots with these tasks, and display the events on the
screen. From handle_buttons, comment everything except the block
containing console_printf, and return 1 for all events. This should
let you display button events on the screen.
Other tasks will be normally started after reading config file. See
the 60D boot-hack to see how it's done:
I recommend you to block all the tasks (comment all calls to
TASK_CREATE macro) and enable them one by one. The first one will be
So did "make clean".ï¿½Uncommented ï¿½boot-hack.c:137 so it now reads "task_dispatch_hook = my_task_dispatch_hook;".ï¿½Put newly compiled "autoexec.bin" on card. Put battery back. Turned on. Video mode. Pressed trash can button. Nothing. :-(
[ LD ï¿½ ï¿½ ï¿½ ] ï¿½ magiclantern
[ OBJCOPY ï¿½] ï¿½ magiclantern.bin
[ CC ï¿½ ï¿½ ï¿½ ] ï¿½ reboot.o
[ LD ï¿½ ï¿½ ï¿½ ] ï¿½ autoexec
[ OBJCOPY ï¿½] ï¿½ autoexec.bin
Still compiling ARM toolchainï¿½