Announcement

Collapse
No announcement yet.

Intel Publishes Complete Source Code To The Arduino 101 Firmware

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Intel Publishes Complete Source Code To The Arduino 101 Firmware

    Phoronix: Intel Publishes Complete Source Code To The Arduino 101 Firmware

    Intel quietly announced last week the publishing of the complete source code around the firmware / real-time operating system for the Arduino 101 and Genuino 101 boards...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Does this open up the possibility of porting Clang to this architecture? Or if that was already possible, would this make it easier? I love what Arduino does, but I'm sometimes uncomfortable being required to use only their compiler and their 'C' language (sorta). Clang would allow people to write code that the Arduino is not actually capable of performing, but I don't think those looking for an alternative compiler would be surprised by the limitations of an Arduino. Most importantly (for me), a port would mean writing Arduino code in CLion.

    Comment


    • #3
      Cool, this is the first fully open controller, right?

      Comment


      • #4
        Originally posted by Palu Macil View Post
        Does this open up the possibility of porting Clang to this architecture? Or if that was already possible, would this make it easier? I love what Arduino does, but I'm sometimes uncomfortable being required to use only their compiler and their 'C' language (sorta). Clang would allow people to write code that the Arduino is not actually capable of performing, but I don't think those looking for an alternative compiler would be surprised by the limitations of an Arduino. Most importantly (for me), a port would mean writing Arduino code in CLion.
        To be fair, Arduino uses a limited subset of C++ to enable data types like Servo and it IS possible to write pure C using the underlying avr-gcc compiler. (It also teaches you about interesting ways to optimize. For example, without the Arduino wrappers, digital pins are represented in banks of 8 with each bank being a char variable. You can set an entire bank in a single operation when accessing them that way.)

        Heck, you can even replace the Arduino bootloader if you spend $2 US on eBay for a cheap ISP programmer and then $1 US on eBay for a 10-pin to 6-pin adapter.

        (I recommend doing this anyway, since it allows for unbricking, working around loader bugs, and taking advantage of the fact that you can reprogram the USB-Serial bridge in designs starting with Uno rev2 because it's another, more limited Atmel AVR chip with its own ISP programming header. That lets you sacrifice support for the normal Arduino loader in exchange for using VUSB to create all sorts of custom non-serial USB devices such as custom input devices.)

        Comment


        • #5
          Originally posted by ssokolow View Post
          To be fair, Arduino uses a limited subset of C++ to enable data types like Servo and it IS possible to write pure C using the underlying avr-gcc compiler.
          Cool! Thanks! I love the types of questions one can ask on Phoronix and get expert replies for.

          I did know it was a C++ subset, but it felt more like "weird C" to me for reasons that might not be terribly academic, I suppose. Also, I'm a .NET web developer by trade, so I actually get fairly little exposure to systems languages. Your advice gives me enough to Google that I can get started playing with avr-gcc, though.

          Comment

          Working...
          X