Canon engineers are like the rest of us, they don't like to reinvent the wheel. Camera models share a lot of code fragments and they are likely compiled with versions of the same compiler tools. This results in similar assembly code. Thus, if a function has been found for one camera, it's likely that similar functions may be found in other cameras by searching parts of the function code from binary code or disassembly. This is what the automatic signature search in CHDK source tree tools directory does. A full binary match is typically not found, because RAM and ROM addresses usually change, and register selection may change as well.
Attributes | Values |
---|
rdfs:label
| |
rdfs:comment
| - Canon engineers are like the rest of us, they don't like to reinvent the wheel. Camera models share a lot of code fragments and they are likely compiled with versions of the same compiler tools. This results in similar assembly code. Thus, if a function has been found for one camera, it's likely that similar functions may be found in other cameras by searching parts of the function code from binary code or disassembly. This is what the automatic signature search in CHDK source tree tools directory does. A full binary match is typically not found, because RAM and ROM addresses usually change, and register selection may change as well.
|
dcterms:subject
| |
abstract
| - Canon engineers are like the rest of us, they don't like to reinvent the wheel. Camera models share a lot of code fragments and they are likely compiled with versions of the same compiler tools. This results in similar assembly code. Thus, if a function has been found for one camera, it's likely that similar functions may be found in other cameras by searching parts of the function code from binary code or disassembly. This is what the automatic signature search in CHDK source tree tools directory does. A full binary match is typically not found, because RAM and ROM addresses usually change, and register selection may change as well. For functions which don't seem to have any strings attached and that haven't been found in any camera... well, too advanced for this guide. I suppose being a native speaker in ARM assembler helps and being good at making educated guesses based on experience in knowledge of other parts of the firmware, other embedded software projects and ARM C compilers isn't going to hurt...
|