Tag Archives: Keil ULINK2

M-Audio Axiom Pro 25 / 49 / 61 hex files for flashing with JTAG

Download axiom-pro-25-49-61-firmware-hex.zip

Text from the readme:

These are hex files of the firmware for the M-Audio Axiom Pro 25, 49 and 61.

Most 1st gen Axiom Pros sooner or later get “bricked” because of some bug in the firmware – yes, it’s a self-destructing firmware. M-Audio won’t
help you since they changed owners and therefore claims they have no responsibility – a scandal…

Roger Roumen has discovered how to flash the firmware using the JTAG interface directly on the board, instead of using the USB port (which doesn’t
work since the Axiom Pro is bricked).
See the video here: http://youtu.be/mIqwYbaZw28

The problem I ran into was that the hex files generated with bin2hex using the command “BIN2HEX.EXE /O0x4000 /4 opalXX.dfu opalXX.hex” resulted in
276 015 bytes large hex files, instead of the 315 439 bytes large hex file provided by Roger. When flashing these files the Axiom Pro would still
be bricked.

I eventually tested to flash my Axiom Pro 49 with the opal61.hex provided by Roger and the thing actually booted and worked, though it said Axiom
61 in the user interface! I tested some of the features and it seemed to work ok, I guess the mainboard is the same on all models. However, I
wasn’t satisfied with this solution.

After taking a closer look at the hex files, I discovered that the opal61.hex from Roger had 512 more rows (row 2-513) than the ones converted with
bin2hex. I then copy and pasted those rows from the opal61.hex to the opal49.hex and flashed my Axiom 49 Pro. It worked flawlessly! Therefore, I
suspect that this will work on the Axiom Pro 25 as well.
opal25.hex, created by me, untested
opal49.hex, created by me, tested and verified
opal61.hex, created by Roger Roumen

FIY, I used a $15 Keil ULINK 2 clone from eBay to flash.

Check out my blog;