United States - Flag United States

Please confirm your currency selection:

Bench Talk for Design Engineers

Bench Talk

rss

Bench Talk for Design Engineers | The Official Blog of Mouser Electronics


Intel®'s Quark™ D2000 SBC & the Open Source nano-RTOS Lynnette Reese

 

Intel® is doing it again: they are almost giving away stuff and definitely giving away other stuff. A new member of the Quark family is out, and Intel’s Quark™ D2000 Microcontroller Developer Kit is offered at a very affordable price and has some exceptional tools thrown in for free. A distinctly IoT platform, the Quark D2000 is 32-bits wide and runs at 32MHz with a 2-channel DMA. There are 2 general use timers, a watch dog, 2 PWMs and a real time clock, too. The board is physically compatible with the existing ecosystem of 3.3v Arduino UNO shields so developers can leverage ready-made peripherals (code will need to be ported or otherwise developed in order to make them work, but someone is bound to do it and kindly share it with the rest of us.)

Intel has provided a lot of downloadable documentation and free tools for the Quark D2000 kit. There’s a free, downloadable software tool chain and IDE for the development platform: the Intel System Studio for Microcontrollers (ISSM) which is an Eclipse-based integrated development environment (IDE) for developing, optimizing and debugging applications using either Linux or Windows host platforms. Eclipse is an open source IDE that has gone a long way to standardizing the user experience for embedded developers.

What software does the Quark D2000 support? The most complete answer is any software that can run on the same x86 as the x86 architecture of Quark D2000; which means the 586 as long as you don’t expect to do floating point operations, and if it’s small enough to fit on the Quark, which means you will not be running a desktop Windows environment on this unless you can whittle it down to less than 40KB or so. (And this is embedded stuff, not desktop stuff.) Or….you could use the Zephyr™ RTOS. The word Zephyr means “a gentle breeze,” but it started out as a Rocket. Windriver’s tiny Rocket RTOS, that is.

And this is where things get interesting. Intel bought Windriver a good while back, and has graciously offered Rocket as open source. Zephyr is hosted by The Linux Foundation and will have good community practices to form around it, like Linux: maintainers from multiple companies, roadmaps determined by technical merit, and a focus on quality and security best practices. Before you groan about yet another RTOS, hold on: we have a real gem, here. It’s a nano-RTOS that started as a for-profit product. (Itty bitty for-profit RTOSes should be very afraid.) Zephyr is designed to go where Linux is too big and of course it’s a completely different code base. It’s targeted at processors with 8K to 512K memories….such as the Quark. If you are wondering, “why the itty bitty memory?” you need to look at why it’s named Quark and what it’s here to do. You are not on a farm. This is not E-I-E-I-O, it’s: I-O-I-O-T.

Support for IoT on the Intel ®Quark™ D2000 means low overhead in the memory department, wireless access through physically compatible modules, ultra-low power consumption, I/O for data-gathering, potential wearability and what people usually forget: security. Yes, we have a secure IoT device in the D2000.

The IoT of D2000 means:

1. No large overhead of huge amounts of memory. The Quark D2000 has 32KB integrated Flash, 8 KB OTP memory, and 8 KB SRAM.  Small memories usually mean real time action. Automotive applications run on these tiny RTOSes because it’s faster not to have to page through reams of memory. Less overhead is better, and there are no endlessly turning hourglasses. Real-time means instantly available, not waiting for some other process to finish. And real-time is great for safety-related or other critical systems. Imagine running a Windows desktop OS on your car and the anti-lock brakes need to deploy right in the middle of an update. This brings new meaning to a “system crash.”

2. Wireless access to storage: Clouds!  Use the serial interface on the Quark D2000 (typically seen on wireless modules) to shuffle that data off to the cloud.

3. Ultra low power so it can run on a CR232 coin cell battery.

4. Data-gathering chops: 25 GPIO including an ADC and comparators that can wake-up from sleep state.

5. Wearable-ready: Tiny physical size with integrated RTC, a single 2 – 3.3 volt supply and integrated pull-ups on the outputs which removes the need for unfashionable pull-up resistors.

6. Security: software and hardware security features such as secure update, JTAG lock, isolated SRAM regions, 4KB of OTP flash with read control, and on-die NVM read/write access control.

The free tools are pretty nice, too. I took the free ISSM out for a test drive and really liked it, and not just because Eclipse is so good. Intel’s ISSM is pretty comprehensive. It includes Intel’s Integrated Performance Primitives for Microcontrollers, the Board Support Package for the Intel® Quark™ Microcontroller Software Interface (dubbed “QMSI BSP”), and many sample programs disguised as “templates.” ISSM has a GCC compiler for C/C++ only. (FORTRAN lovers, you’ll have to wait.) According to gcc.gnu.org, GCC, which stands for the GNU Compiler Collection, “includes front ends for C, C++, Objective-C, Fortran, Java, Ada, and Go.” And ISSM includes options so you can tweak the compiler to your liking. (Now that is cool. Someone will be bolting on GCC Fortran in no time.)



 

 



« Back


Lynnette Reese holds a B.S.E.E from Louisiana State University in Baton Rouge. Lynnette has worked at Mouser Electronics, Texas Instruments, Freescale (now NXP), and Cypress Semiconductor. Lynnette has three kids and occasionally runs benign experiments on them. She is currently saving for the kids’ college and eventual therapy once they find out that cauliflower isn’t a rare albino broccoli (and other white lies.)


All Authors

Show More Show More
View Blogs by Date

Archives