3 Replies Latest reply on Apr 7, 2016 7:17 AM by FGT

    Galileo gen 1, how does the bootloader interact with usb client port

    simone.didomenico

      Dear All,

      I'm a newbie on Galileo Gen 1, so I hope someone can help me.

      My questions are about the behaviour of the Intel Galileo bootloader.

      Does the Galileo bootloader work in the same way as Arduino bootloader? i.e. Does it accept the sketch sent by serial connection (emulated over USB cable) and write it into Flash Memory?

      Why is it needed to have a virtual serial connection emulated over USB port instead to use directly the USB port?

       

      Thank you to all in advance.

       

      Best regards,

      Simone

       

       

        • 1. Re: Galileo gen 1, how does the bootloader interact with usb client port
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hello simone.didomenico,
           
          No, Galileo’s bootloader is not the same as an Arduino bootloader. The main difference is, for example if you take an Arduino Board like the UNO and compare it with a Galileo, the former is based on a microcontroller while the latter is based on a microprocessor. The reason why this is so important is because a microprocessor is able to handle an OS (just like Galileo does), while a microcontroller is used for more specific functions (such as an Arduino sketch).
           
          Being that said, we can conclude that uploading a sketch to Galileo is very different than uploading one to an Arduino board. The bootloader of Galileo boots his OS (Yocto), configure the ports and interfaces, calls the services needed for Linux to run correctly, etc. When an Arduino sketch is uploaded, it starts running as a process within the OS, just like any other process running on it. This sketch is not stored in the memory, actually, if you power off the board, the sketch is deleted and you would have to upload it again, unless you are booting the OS from an SD card.
          Let me know if I was able to clear your doubts, if you have any other question I’ll be happy to answer it.
           
          Peter.

          1 of 1 people found this helpful
          • 2. Re: Galileo gen 1, how does the bootloader interact with usb client port
            simone.didomenico

            Hello Peter,

             

            First of all, thank you for your fast and precise reply.

             

            At this point I have a further question. When you upload a sketch on the Galileo through the Arduino IDE, which is the Linux process listening on the Serial (over USB) that "receives" the sketch and loads it in RAM? Does this process do a similar work to the Arduino bootloader?

             

            Thank you in advance.

             

            Best Regards,

            Simone.

            • 3. Re: Galileo gen 1, how does the bootloader interact with usb client port
              FGT

              Hi Simone,

               

              I think you can see about the "sketch loader" in

              the sketch is actually a Linux executable file (running as process with PID 955 in this case), which is "started" by process clloader, which has PID 954 in this example. We could say clloader is the "sketch loader" (or maybe launcher.sh galileo, PID 886 "is" the loader?), but I think it is far from being similar to the Arduino bootloader, since there is a whole Linux behind (o aside, maybe...) a sketch in Galileo, as explained by Peter.

               

              HTH,

               

              Fernando.

              1 of 1 people found this helpful