5 Replies Latest reply on Apr 14, 2016 8:13 AM by Peter-H

    Upload a new program to the MCU

    Peter-H

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

       

      Guides such as this mention only a method using the SDK which I assume is on the development machine.

        • 1. Re: Upload a new program to the MCU
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          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
           
          Peter.

          • 2. Re: Upload a new program to the MCU
            Peter-H

            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?

            • 3. Re: Upload a new program to the MCU
              Peter-H

              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!

              • 4. Re: Upload a new program to the MCU
                Cooper132

                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.

                • 5. Re: Upload a new program to the MCU
                  Peter-H

                  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!