Community
cancel
Showing results for 
Search instead for 
Did you mean: 
PHult
New Contributor II
1,747 Views

Upload a new program to the MCU

Can I replace the MCU software from within the Linux system on the Intel edison?

Guides such as https://software.intel.com/en-us/articles/using-an-mcu-on-the-intel-edison-board-with-the-ultrasonic... this mention only a method using the SDK which I assume is on the development machine.

5 Replies
idata
Community Manager
90 Views

Hello Peter-H,

 

 

Right now the only way to program Edison's MCU is through the SDK mentioned in the article you mentioned above. If you would like to learn more about how Edison's MCU works and how to upload scripts to it, I'd suggest you to read:

 

 

https://software.intel.com/en-us/creating-applications-with-mcu-sdk-for-intel-edison-board https://software.intel.com/en-us/creating-applications-with-mcu-sdk-for-intel-edison-board

 

 

Peter.
PHult
New Contributor II
90 Views

I just found

/etc/intel_mcu/mcu_fw_loader.sh

which checks that this file exists

/lib/firmware/intel_mcu.bin

And then issues this command

echo "load mcu app" > /sys/devices/platform/intel_mcu/control

I can't say whether this works or not.

Is this firmware my own code I compile or is it one of the binary blobs?

If it works, how reliable is this method in future system updates?

PHult
New Contributor II
90 Views

These are my final results

When Eclipse pushes a new MCU program to the device it will replace the file /lib/firmware/intel_mcu.bin with the new program.

The load script didn't work in /etc/intel_mcu/mcu_fw_loader.sh or at least nothing appeared to change.

What worked was to replace the file /lib/firmware/intel_mcu.bin and reboot the system.

So being only in the module you can switch back and forth between MCU programs, although a reboot is needed.

I guess there is more to it than this but this is enough "reverse engineering" for today.

If anyone can find real documentation on this it would be awesome!

SBoet
New Contributor I
90 Views

I've been meaning to do this myself at some point, very cool that you already did !

Thanks for the info!

I assume you use the Release/intel_mcu.bin from the sdk project folder to replace the file on the edison?

Cheers,

Cooper

Edit: nvm, just tested it, it is indeed that file.

PHult
New Contributor II
90 Views

That sounds like a good idea, though that was not what I tested.

I swapped the versions of intel_mcu.bin that was placed in /lib/firmware on the module by the SDK/Eclipse.

Most likely the file comes from the location.

So your suggestion will make my work easier, thanks!

Reply