Understanding/Interpreting a firmware update

Hi, I'll try to break this down as simply as I can, because there are bits I barely understand myself.

Here's what I've got physically:
Orca electronic speed control (ESC) for my RC car (based on unknown, unmarked MCU)
Orca USB Link for updating firmware on the ESC (USB link is based on Silabs F321)

Here's what I've got electronically:
I've got a .bin file in my iMac that is the latest update for the ESC
and the Orca update software, that acts as the link between the devices

Here's what I've already done:
I already have a firm grasp on loading new firmware on to the ESC

Here's what I want to do:
I'd like to be able to toy around with the data in the .bin file, but I honestly have no idea of how to interpret the data contained therein. I've played with it in a few hex editing programs and got a few words to appear in something approaching English, but nothing concrete. I guess the basic problem is understanding what "language" this was written in. (I'm not even sure if it's 8 or 32 bit) I think after that's figured out, I can work backwards from there.

Ultimately, I'd like to understand how all of this works and how the MCU interprets the information and signals it's being fed.

Any thoughts you can offer on the subject would be appreciated. Here's a kink to the firmware update, should you choose to look at it. Thanks!


Its an 8 bit CPU BTW
The F321 is a Silabs variant of the 8051 processor. If you're lucky, and the code was written in Assembler, you MIGHT get away with dis-assembling the source and making sense of it. If the code is compiled, forget it. Rewrite it by all means, but you've no chance of understanding the compiled code.
monkeyracing (author)  steveastrouk4 years ago
So...if I were to go to the Silabs website and download some of their free software/developer tool, I might be in luck, maybe. (just found that part of their site)

I'll poke around for Assembler as well, if that's something one can poke around for.