Slashdot Mirror


Meet Linux's Little Brother Zephyr, a Tiny Open Source IoT RTOS (linuxgizmos.com)

DeviceGuru writes: The Linux Foundation has launched the Zephyr Project, to foster an open source, small footprint, modular, scalable, connected, real-time OS for IoT devices. The Zephyr Project's RTOS implements both a small footpoint microkernel and an even tinier nanokernel, and is the result of Wind River contributing its Rocket RTOS kernel to the Zephyr Project. (Wind's Rocket RTOS will now become a downstream commercial distribution based on Zephyr sources.) To get a sense of Zephyr's benefit, its nanokernel is said to be able to run in as little as 10KB of RAM on 32-bit microcontrollers, whereas a minimalistic Linux implementation like uClinux needs upwards of 200KB. The Linux Foundation hopes to see cross-project collaboration between the Zephyr and Linux communities. Technical details are at the Zephyr site.

130 comments

  1. IoT by Anonymous Coward · · Score: 2

    So, it's a tiny computer. What makes a device an IoT device? Does it just need to be a network connected device? Is a Raspberry Pi an IoT device? Is a smart phone? An IP phone? A smart TV? A desktop computer? A laptop? A netbook? A tablet? I need a solid definition so I wont be annoyed when I see "IoT".

    1. Re:IoT by buchner.johannes · · Score: 5, Informative

      I guess the definition for IoT devices is something that is "a device not primarily used for computation that can be controlled/accessed through the Internet". For example a washing machine, a watch, a fridge, heat controllers, windows (the physical ones that you can open), smart meters.
      IoT then also refers to a time where these would become extremely commonplace, in the sense that many types of devices are connected to the internet in everyones home/work/public areas.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    2. Re:IoT by Sax+Russell+5449D29A · · Score: 5, Funny

      What makes a device an IoT device?

      If it floats on a cloud, runs off the willpower of app developers and is a security and privacy nightmare. Then it's IoT.

      --
      -SR
    3. Re:IoT by Anonymous Coward · · Score: 0

      If it is programmed and designed around the concept of direct Internet access and the saying, "security has no ROI", it is an IoT device.

    4. Re:IoT by Anonymous Coward · · Score: 3, Insightful

      Don't know why some idiot modded you down. It's a legitimate question.

      IMHO it's pretty hard to define IoT in any way that doesn't include smartphones, unless the definition contains words like, "..but isn't a phone."

      Or maybe it's cost. If it costs over $50, then it's not a thing: it almost certainly has a more specific name, like "phone" or "tablet" so that it doesn't have to fall back to using its general class of "thing."

      (I used to think it might be defined by whether or not the device does any I/O directly with humans, but you don't want to rule out devices that have a keypad (e.g. a home alarm system), or a nice bright VFD (e.g. for a music player), or whatever. So it ain't about human I/O.)

      Perhaps the ultimate wisdom, though, would be to not fight it. Maybe smartphones (and desktop PCs and RPis and TVs) are IoT. Think about all the topics and concerns (I mean complaints, of course) you hear about many IoTs today...

      • They're insecure
      • They try to lock you into some company's "ecosystem" by not using standards
      • The shitty software that comes with it (that you have to use) does horrible things, like unconditionally send data out to somewhere on The Internet and can't be made to just talk to your own server

      ...it's pretty similar to list of reasons we tend to hate today's smartphones. And someone will come along and say "Oh yeah, this IoT device doesn't suck. I built it out of an Arduino" and you'll come back with "Yes, and Nokia made the N900 showing that smartphones don't have to suck either," but you might notice that here we are with the shit instead of the good stuff. You pretty much have to build something that doesn't suck: you can't buy anything good.

      So when you advocate for better IoT, maybe you're fighting a better fight than you realized: to take back the phone from those clueless/evil (which is it?) motherfuckers in California and China.

    5. Re:IoT by Anonymous Coward · · Score: 0

      So Windows 10 is IoT?

    6. Re:IoT by Anonymous Coward · · Score: 1

      Nope, we're concerned about security on the devices we make. So when I hear 10K RAM my first thought is that is that it chopped off security from the feature list.

      Most of these IoT related operating systems, of which there are many with that claim, tend to either be very low on features, are meant for larger systems than are practical for long term battery power, or are very commonly unfinished and barely out of the proposal stage. It is not uncommon for a group of big name companies to announce they're forming a coalition to make IoT devices or software or standards which then never really goes anywhere.

      Then it's frustrating when some well meaning but misguided person from a different department asks why we're not using XYZ operating system which does all the work for us. Idiots who read marketing literature and assume it's all telling the truth.

    7. Re:IoT by Hognoxious · · Score: 1

      I head that in Jeff Foxworthy's voice.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    8. Re:IoT by dsmatthews9379 · · Score: 1

      Any circuit that has it's I/O channel access abstracted via TCP/IP connections such that it's data is globally addressable.

      Or an id short of an idiot.

    9. Re:IoT by drwho · · Score: 2

      IoT refers to an object that has no really good reason to be connected to the Internet, and a few reasons why it shouldn't, but will be anyhow. This is all in an attempt to use up all of the IPv6 IP address space.

    10. Re:IoT by ChunderDownunder · · Score: 1

      MS *are* targetting RPi2 as a Win 10 IoT platform.

      (Basically a phone without the phone part, which some alluded to as fulfilling the definition)

    11. Re:IoT by arglebargle_xiv · · Score: 1

      More to the point, Zephyr is a new RTOS that's just like FreeRTOS, RTEMS, eCOS, EmbOS, uITRON, ThreadX, VxWorks (shudder), and others, but without the significant support ecosystem and established pedigree.

      Just one question: Why?

    12. Re:IoT by Anonymous Coward · · Score: 0

      No conventional computer since it is a RTOS. And I think they mean the real RTOS and not the very high priority on some services that general purpose OS have when they try to be a RTOS. So that means that the programmers have to do all the preempting, addressing, etc... themselves to make sure the device is doing all it's purposes correct and right on time.

    13. Re:IoT by Anonymous Coward · · Score: 0

      > MS *are* targetting RPi2 as a Win 10 IoT platform.
      > (Basically a phone without the phone part, which some alluded to as fulfilling the definition)

      Rather less than that actually. No OS GUI, no launcher, just 1 app that starts on bootup.

    14. Re:IoT by Anonymous Coward · · Score: 0

      guess the definition for IoT devices is something that is "a device not primarily used for computation that can be controlled/accessed through the Internet".

      Right.

      For example a washing machine, a watch, a fridge, heat controllers, windows (the physical ones that you can open)

      BZZZZZ! Wrong

      You have been feed too many "smart toaster" stories. Your printer/copier may be an IoT device, as well as your TV, but most are industrial equipment and highly distributed sensor arrays (think meteorological stations). And they are not connected directly to the Internet, most are behind NAT routers and only accessible via encrypted VPN.

    15. Re:IoT by Anonymous Coward · · Score: 0

      But is it webscale..?

    16. Re:IoT by fbobraga · · Score: 1

      What makes a device an IoT device?

      If it floats on a cloud, runs off the willpower of app developers and is a security and privacy nightmare. Then it's IoT.

      The account https://twitter.com/internetofshit is a gold one!

    17. Re:IoT by Mouldy · · Score: 1

      Define "computer".

      I wish someone could define it in a highly specific way rather than just using it as a umbrella term for so many distinct devices; desktop PCs, laptops, ultrabooks, Macs, calculators, phones, abaci, difference engines etc.

      "IoT" means Internet of Things. So like a "computer" is anything that can compute, "IoT" as a thing that has some connectivity to the Internet. So yes, all of the things you mentioned could fit into the definition of "IoT". Smart TV = probably is a thing with Internet connectivity. Old "dumb" TV = just a thing. Fitness band that syncs your data to your phone/PC/"the-cloud" = IoT. Basic pedometer = just a thing.

      I don't really get where the confusion around IoT is. It's pretty self explanatory. Popular usage might consider things like smart phones separate from IoT - but in practice, many devices the media are calling IoT depend on smart phones to provide the "I"; so smart phones are often part of the IoT ecosystem. As are any devices between the "thing" and the "Internet".

    18. Re:IoT by Chelloveck · · Score: 1

      If it's a thing, and it connects to the Internet, it's part of the Internet of Things.

      Usually this is reserved for "things" whose primary purpose is not what you'd use a desktop computer for. A RasPi hooked up to a keyboard and monitor running LibreOffice? Not a thing. The same RasPi running headless to control your hot tub? Thing.

      It's the same blurry line that differentiates "embedded" and "non-embedded" systems. On one side you have devices that are clearly embedded, IoT devices. On the other side you have devices that are clearly non-embedded, non-IoT, plain ol' computers. In the middle you have devices that could go either way depending on what you're using them for and what aspects of "embedded" or "IoT" are relevant to your current discussion.

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
    19. Re: IoT by Anonymous Coward · · Score: 0

      Iot is when your fridge order more beers when you run out of cans.

    20. Re:IoT by Sax+Russell+5449D29A · · Score: 1

      IoS gets it. Humor is the only way one could ever understand what IoT is all about. :-)

      --
      -SR
  2. Just what we needed by Anonymous Coward · · Score: 0

    Not.

  3. OS for the new "Microcontroller" by Anonymous Coward · · Score: 4, Informative

    I've been seeing piles and piles of new chips that come with integrated 32bit arm cores, flash, and ram. And they're dirt cheap. Nowadays it seems pretty much all non-trivial chips include an ARM core with enough storage and ram to run circles around any desktop computer found in the 80s or even early 90s.

    About 9 dollars shipped for a hacker-friendly breakout board based on the NRF51822.. And that's not just a processor. It's a Bluetooth 4.0 radio that supports bluetooth LE and all the other bells and whistles. 15kb ram, 256k flash, and whole mess of features to get data in and out. Seems right in the footprint for this little OS.

    Add bluetooth and a fairly powerful "micro" to any project for less than 10 bucks.

    http://www.ebay.com/itm/-/400970594571

    Development board for the above module:

    http://www.ebay.com/itm/-/400967553827

    Browse that seller of the above items and be amazed at the absolutely insane amount of dirt cheap hacker friendly electronics you can get shipped from china for just a few bucks. Granted specs may be exaggerated and you'll want to do a little poking and testing on your own.. But that's half the fun, isnt it? :)

    1. Re:OS for the new "Microcontroller" by Sax+Russell+5449D29A · · Score: 1

      electronics you can get shipped from china for just a few bucks

      I'd be willing to pay five times the asked price for items like these if they were manufactured in Europe.

      --
      -SR
    2. Re:OS for the new "Microcontroller" by Anonymous Coward · · Score: 0

      I'd probably pay double, but even at 5x the cost I don't think it's possible.

      The issue really isn't even labor cost. It's supply chain. The real reason these devices are so cheap is because all of the resources to make them are all over in china. Raw materials, manufacturing equipment, jellybean components - They're all made there or pretty much only shipped to distributors there.

      If you look at that ebay seller, and similar sellers you'll start to notice patterns. All those devices are pretty much knockoffs and clones. Refined, minimized, improved.

      And they keep getting better, cheaper, every month. Time is money and it looks like in Shenzen you can go from idea-to-shipped product in less than a week. You simply can't do that in Europe (Or the US.)

      So what do you do in Europe? You take all these cheap gizmos and you /implement/ them. Don't obsess over making the building blocks. Take the building blocks, your new opensource OS, and make great things with them.

    3. Re:OS for the new "Microcontroller" by Koen+Lefever · · Score: 1

      Nowadays it seems pretty much all non-trivial chips include an ARM core with enough storage and ram to run circles around any desktop computer found in the 80s or even early 90s.

      In fact, ARM at 4MHz (reading ROM) or 8MHz (after copying ROM into RAM) was running circles around 80s desktops in 1987 - I used to emulate an IBM PC on an Acorn Archimedes at that time.

      --
      /. refugees on Usenet: news:comp.misc
    4. Re:OS for the new "Microcontroller" by MouseTheLuckyDog · · Score: 4, Informative

      Raspberry Pi's are mode in Wales.

      Olimux devices are made in Bulgaria.

    5. Re:OS for the new "Microcontroller" by Anonymous Coward · · Score: 4, Informative

      The issue is that the cheap gizmos are the weak link in the chain. That, and the "hidden third shift". In Europe, if I spec something, I will get what is specced, every time, from now, to whenever production stops. I have read over and over again about companies encountering "quality fade" in China. They might get a 500GB flash drive the first few months... but then the drive becomes an 8gb drive with a controller lying about the rest and overwriting data soon after that. Or the titanium alloy needed for strength is replaced by some pot metal lying around the factory.

      If I want it made well, the US, Europe, Germany, Japan, and Russia can make stuff to be proud of. Cheap? China is your go to party.

    6. Re:OS for the new "Microcontroller" by MightyYar · · Score: 1

      A similar situation exists with WiFi - the ESP8266. These things can be bought for under $2 and include a 32-bit micro-controller with WiFi. Amazing.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    7. Re:OS for the new "Microcontroller" by Darinbob · · Score: 1

      The companies are jumping on the bandwagon. A couple years ago there were no good chips out there that met the needs of being battery powered for over a decade with low power wireless capabilities. Today there are a handful all in pre-release stages. There was a gap in the market and it's staring to be filled. The biggest snag for most is being low power, as in 1 microAmp or less sleep current, as that has not been a common feature request by customers until recently.

      15K RAM is too small in my view if you also want to have reasonable security. Networking too requires a chunk of RAM if it's wireless and not just a leaf node, and some wireless standards require supporting 2KB packet size, plus IPv6 with increased packet header size (anyone using IPv4 is not taking IoT seriously).

    8. Re:OS for the new "Microcontroller" by Darinbob · · Score: 1

      However the modern low power ARMs are Cortex-M series, which are very different from the more power hungry ARM from the 80s. Even the commonly used ARM7 is very high power in comparison to what is needed for an unattended battery powered sensor monitor.

    9. Re:OS for the new "Microcontroller" by DarkTempes · · Score: 2

      And SoCs aren't even really made in China, are they? China isn't a big player in semiconductor manufacturing unless one counts Taiwan as China.

      China assembles a lot of electronic stuff but I don't believe they are a big player in actually manufacturing it. USA/South Korea/Europe/Japan/Taiwan are.

      Global economy and all...

  4. The obvious question. by MouseTheLuckyDog · · Score: 2, Funny

    Is systemD part of the OS?

    1. Re:The obvious question. by buchner.johannes · · Score: 1

      If the size of the kernel becomes small enough, you could develop the binary by genetic algorithm and just evaluating it with tests + benchmarks :)

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    2. Re:The obvious question. by Anonymous Coward · · Score: 1

      In 10K? I thought systemD had minimum system requirements of 8G

    3. Re:The obvious question. by Anonymous Coward · · Score: 0

      No, systemD can fill 10kb as easy as 8gigs.

    4. Re:The obvious question. by Anonymous Coward · · Score: 0

      For as shitty as systemd is, why can't people use the correct capitalization?? It's like they've never heard of a system daemon until "SystemD" came around and they started whining about it.

    5. Re:The obvious question. by F.Ultra · · Score: 3, Insightful

      Unfortunately not since it's not Linux, Zephyr RTOS is a completely different kernel, it's Wind Rivers old Rocket RTOS that has been renamed.

    6. Re: The obvious question. by Anonymous Coward · · Score: 0

      SystemD looks like a penis.

    7. Re:The obvious question. by Anonymous Coward · · Score: 0

      nothing unfortunate on NOT using that systemd crap

    8. Re:The obvious question. by F.Ultra · · Score: 1

      Well that is your opinion which you of course are entitled to, however many in the embedded space are quite happy with systemd since it means that they can cut down on the number of old and unreliable services they used to rely on.

      https://systemd.events/systemd...
      http://bec-systems.com/site/10...

    9. Re: The obvious question. by Anonymous Coward · · Score: 0

      But so does this, and it has the proper capitalization:

      8======================systemd=====================D

    10. Re: The obvious question. by Anonymous Coward · · Score: 0

      Are you sure you don't work for one of those extension companies I seem to be getting email from every day?

    11. Re:The obvious question. by Anonymous Coward · · Score: 0

      It's spelled sistumDee.

  5. Does it really matter? by abelenky17 · · Score: 1

    Does 10K vs. 200K vs. 5MB actually matter? RAM is so cheap, so small, and so ubiquitous today.

    I appreciate that it doesn't need gigabytes of memory... but what does saving 190K of memory really get that wasn't possible before?

    1. Re:Does it really matter? by Anonymous Coward · · Score: 0

      Less RAM requires less power to keep maintained.

    2. Re:Does it really matter? by asherh · · Score: 4, Insightful

      IoT devices will typically only have a few kB of RAM, so yes, it does matter. As a data point, I'm working with an ARM Cortex-M0 processor at the moment and it has a grand total of 128kB program memory (flash, so you can't use it for read/write data storage) and 16kB RAM. This is an entirely typical processor for this sort of IoT application.

    3. Re:Does it really matter? by Anonymous Coward · · Score: 0

      In the world of embedded computing, most microcontrollers have tiny amounts of RAM ( 1MB) and adding more is not really an option.

      captcha: clitoris hehehehehe

    4. Re:Does it really matter? by Anonymous Coward · · Score: 4, Informative

      Take a look at the specs on most microcontroller boards out there and you'll feel very differently about saving 190KB. In some cases that's more memory than the board comes with.

      * TI Tiva Launchpad - 32 KB - http://www.ti.com/tool/ek-tm4c123gxl
      * ST Discovery Board - 190 KB - http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF252419
      * Olimex STM32E407 - 192 KB - https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware
      * Arduino 101 - 24 KB - https://www.arduino.cc/en/Main/ArduinoBoard101
      * Intel Galileo - 512 KB - http://www.intel.com/newsroom/kits/quark/galileo/pdfs/Intel_Galileo_Datasheet.pdf

      I could go on, but you get the point.

    5. Re:Does it really matter? by goombah99 · · Score: 1

      Why use an M0? Does it really save power? For many IoT applications it's a race-to-quiescent that matters. That is you wake up, do something simple and shut down. The longer it takes you to do something the longer one uses power. SO in the end it's how much energy the task takes not how fast you do it. And up to a point, faster systems often have better not worse energy performance per task. This is in part because ancilliary systems have to be power up too while the CPU is powered up and partly because faster systems may be made from smaller transisitors or have better on-chip energy management.

      --
      Some drink at the fountain of knowledge. Others just gargle.
    6. Re:Does it really matter? by inhuman_4 · · Score: 1

      It matters a lot depending on the type of embedded chip you are using. Unlike microprocessors, microcontrollers include the RAM on chip in the form of SRAM. This is to save money, power, or both. The PIC32MX795 microcontroller that I'm working on right now only has 512k of SRAM and it is the largest offering from PIC. On the small end PIC10s can have as little as 16 bytes! With tons of chips in-between. On that RAM you might need your OS, TCP/IP stack, USB Host stack, FAT filesystem stack, graphics stack, a bootloader, plus drivers for whatever you are connected to, and then your code. All told it can add up to a lot. It sounds crazy to have such small amounts, but with nanowatts of power consumption and prices a low as 30 cents these chips find uses everywhere.

    7. Re:Does it really matter? by fbobraga · · Score: 2

      most microcontrollers have tiny amounts of RAM ( 1MB)

      1MiB is huge in this subject (we are talking here in some KiBs)

    8. Re:Does it really matter? by slashping · · Score: 1

      Microcontrollers usually have limited amounts of internal SRAM. Most are less than 200 kB.

    9. Re:Does it really matter? by Anonymous Coward · · Score: 0

      Nowadays, the race-to-sleep is handled by the peripherals; the Cortex manages a supervisory and computing role, but if you do everything right, you can keep its wake-up-time really low. See SiLab's Gecko [ARM] series or SleepyBee [8051 of all things]... the M0 is the "new baseline" for ARM architecture; for some chips (with simplistic peripherals), you can go from Cortex-M0 to Cortex M3 without changes (LPC Xpresso), but I also think that the higher powered units take longer to wakeup/sleep than the M0.

    10. Re:Does it really matter? by Darinbob · · Score: 1

      RAM takes power! When the device is in very deep sleep mode, any RAM that is retained has to be periodically refreshed and more RAM means more current to do that.

      And this is just the OS remember, not a full system. The less that the OS uses the more the system and application can use. It is common for Cortex-M series processors to provide 16 or 32K RAM, where even taking up 10K for the OS use is sucking up a large amount.

    11. Re:Does it really matter? by Darinbob · · Score: 1

      Fast is sort of relative. The amount of state transitions in the chip determines most of the power, so running at a slower clock rate does not necessarily reduce power usage. All of the ultra low power chips I've seen have ways to turn off the clock to various modules or even power down entirely which solves a lot of that problem.

      Cortex-M0 also has less die space overall compared to a Cortex-M3/M4, fewer transistors, smaller pipeline, and so on. So what it loses slightly in speed it makes up for in power usage. Of course it cuts back enough that M0 is too limited for some applications.

    12. Re:Does it really matter? by Darinbob · · Score: 1

      True in terms of IoT where the system needs to run with minimal power, possibly on non-rechargeable batteries for a decade or two. But in the broader embedded world where devices are constantly the 1MB-4MB size range is pretty common. Though if you drop down to things like AVR or PIC then you're looking at less than 1K of RAM.

    13. Re:Does it really matter? by Darinbob · · Score: 1

      Demo boards oftne use the higher end of the product line that has more RAM because it's more convenient for experimenting or evaluating. In actual production it's common to use the lower end of the line to save money or power.

    14. Re:Does it really matter? by Anonymous Coward · · Score: 0

      Devices that cost $0.50 instead of $5 or $50. When you want to deploy 5000 of them it matters.

    15. Re:Does it really matter? by ChunderDownunder · · Score: 1

      640KB ought to be enough for anyone - apocryphal Bill Gates circa 1981. :)

    16. Re:Does it really matter? by Blaskowicz · · Score: 1

      The RAM doesn't have to be refreshed if it is SRAM, although it still needs power.

    17. Re:Does it really matter? by Darinbob · · Score: 1

      Sorry, it is "recharge" so I mispoke. And it is low leakage SRAM. The periodic recharge is not necessarily only for the SRAM but for all the components that are not completely powered down during a low power sleep mode (that is, voltage has not been cut). At least on the systems I've used, low power may be handled different on others.

    18. Re:Does it really matter? by Anonymous Coward · · Score: 0

      Yes, embedded devices that run off a coin cell battery for a year need to average about 50uA. This means they usually sleep at 1uA or less.
      Those devices typically have 256k,

  6. Technical detail by fustakrakich · · Score: 3, Interesting

    How fast does it power up? This is one area of computers that makes absolutely no sense. If something can be stored, why can't it be stored in a ready-to-run state? Why aren't drivers on ROM inside each device? My radio comes on instantly, so should the damn computer. We're back to the days of having to wait for the TV to warm up, shouldn't be that way.

    --
    “He’s not deformed, he’s just drunk!”
    1. Re:Technical detail by Anonymous Coward · · Score: 0

      In fact, you could say that it would be useful if there was some kind of basic input/output system that could handle some of the more failproof things.

      And drivers are on ROM inside each device, that would be 'firmware', telling the device how to talk to itself. As for telling the computer how to talk to a device, well there's an electronic analogue to that, it's called a bus specification. Go a little further, and you've got something that could work with the BIOS and the OS... something like this.

      And for why these things aren't in ROM: how often have you used the exact same driver for something over the lifetime of a device? The moment you set something in stone is the moment you realise you fucked something up.

    2. Re:Technical detail by fustakrakich · · Score: 1

      The moment you set something in stone is the moment you realise you fucked something up.

      Who said the chip can't be replaceable?

      --
      “He’s not deformed, he’s just drunk!”
    3. Re:Technical detail by Anonymous Coward · · Score: 0

      We had that... Radio Shack had Tandy computers with MS-DOS in ROM. However, computer makers wouldn't want that because it means people wouldn't buy new machines if Windows got b0rked... so we will likely never see something sane like that happen.

      What would be ideal for devices to have their "v1.0" ROM in a true ROM, then a second ROM that is firmware-upgradable, with some method of "oops, revert back to the v1.0 ROM" should it decide to die. A good example of this is the Barnes & Noble Nook. If it bootloops more than eight times, it just reinstalls the OS from a ROM and comes back up. Better than a device brick.

    4. Re:Technical detail by castionsosa · · Score: 1

      Even if wasn't a chip, one could always use a MicroSD card to stash firmware. An internal MicroSD reader is small and inexpensive, and can easily be made to be read-only. This might be a decent compromise between resistance from network/external attacks and the need to update. Of course, physical access can be an issue, but there is always requiring signed firmware and executables to deter that. If physical access isn't an issue, this might be an ideal way to upgrade firmware on devices that are somewhat accessible.

    5. Re:Technical detail by slashping · · Score: 1

      Drivers in ROM ? For what operating system, and version ?

    6. Re:Technical detail by Anonymous Coward · · Score: 0

      This problem was already solved using a jumper in the past. Vastly cheaper than an entire card reader.

    7. Re:Technical detail by fustakrakich · · Score: 1

      Doesn't matter. All it should need is standard input. The ROM does the rest.

      --
      “He’s not deformed, he’s just drunk!”
    8. Re:Technical detail by slashping · · Score: 1

      So it doesn't matter if the CPU is an ARM or x86, or what the environment looks like ? That's an impressive ROM.

    9. Re:Technical detail by fustakrakich · · Score: 1

      The ROM is already matched to the CPU on the same board, or even on the same chip. Isn't that kinda what an SoC is? I'm not sure what you mean. Text/graphics to a printer or video to a monitor are the same regardless of the CPU. I only question the necessity of caching to RAM on every power up, it should just be nonvolatile with everything already there, instantly ready to run. ROM can store a fresh image if something breaks. Something is horribly wrong when my router, printer, computer, phone takes two minutes to be ready to use.

      --
      “He’s not deformed, he’s just drunk!”
    10. Re:Technical detail by Anonymous Coward · · Score: 0

      So it doesn't matter if the CPU is an ARM or x86, or what the environment looks like ? That's an impressive ROM.

      Sounds like a job for Forth.

    11. Re:Technical detail by Darinbob · · Score: 1

      The customer that you just shipped ten thousand of your products to, who just spend several months installing them all over the place. That phone call where you say "oops" can get pretty heated.

  7. uh, about that. by nimbius · · Score: 0, Troll

    to foster an open source

    Apache v2.0 License..so uh..enjoy your collection of neat forks.

    small footprint, modular, scalable, connected, real-time OS

    or literally any one of about 30 different flavours of BSD or linux that at present accomplish this goal and have done so for 30 years.

    The Zephyr Project's RTOS implements both a small footpoint microkernel and an even tinier nanokernel

    not good enough...i wont rest until you start using femto, atto, and zepto kernels. this kernel needs to be small enough to route the DNA in my cells.

    10KB of RAM on 32-bit microcontrollers

    great. another 32 bit architecture for my 64 bit environment. let me just break out my crossdev toolchain and hang myself by the coffee maker cord.
    get off my goddamn lawn and stop trying to make this a thing. Wind Rivers pelvic-thrust into the internet of things isnt a meaningful contribution when so much of it is already handled nicely by alix, pi, and small form factor x64 where necessary.

    --
    Good people go to bed earlier.
    1. Re:uh, about that. by Anonymous Coward · · Score: 0, Informative

      Why do you comment on things you have no idea about?

    2. Re:uh, about that. by Marginal+Coward · · Score: 1

      Why do you comment on things you have no idea about?

      What part of "Slashdot" don't you understand, boy?

  8. 10kB would had been great 30 years ago by Anonymous Coward · · Score: 0

    What is the difference between 10kB and 1MB in price or volume?
    The advantage of a minimal OS is it has less things in it therefore less things will break, so is more reliable but I don't see Linux as losing the reliability argument.

    1. Re:10kB would had been great 30 years ago by Marginal+Coward · · Score: 2

      What is the difference between 10kB and 1MB in price or volume?
      The advantage of a minimal OS is it has less things in it therefore less things will break, so is more reliable but I don't see Linux as losing the reliability argument.

      In my experience, it mostly comes down to what the difference is between on-chip memory and off-chip memory. I assume that nearly all basic IoT entities like your washing machine would use on-chip memory for reasons of both cost and size. And on-chip memory should be minimized to optimize cost and power. So, less is more, regardless of any sort of "less things will break" consideration. If I were a washing machine manufacturer, I wouldn't want to spend more than 50 cents on the whole thing.

    2. Re:10kB would had been great 30 years ago by BitZtream · · Score: 1

      ... execution time?

      Disk storage and/or RAM footprint is not the only thing that results when it comes to code size differences.

      When you want to do something realtime, big code is your enemy.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  9. All one address space :( by mike_diack · · Score: 1

    In this day and age of net threats, who on earth is going to expose something to the internet, whereby all processes including the kernel run in a single memory address space (i.e. no concept of rings or protected mode)?
    It will be a potential security nightmare. I was quite impressed and excited until I saw that news about the memory map. :(
    We used an older version of vxWorks in my previous job that ran that same way, and just chasing bugs down (that crashed the system hard or even overwrote the onboard flash memory - due to infinite recursion) was a nightmare. I believe current versions of vxWorks have proper memory management/protection....

    --
    Linux fan and Win32 developer
    1. Re:All one address space :( by Anonymous Coward · · Score: 1

      The current generation of ARM Cortex microcontrollers don't, as far as I know, include hardware a MMU. I agree that it'd be pretty awesome apply this sort of protection to embedded systems, but it seems that the hardware isn't ready for that yet, unless you achieve it in software using techniques such as static analysis, JIT, etc.

    2. Re:All one address space :( by Anonymous Coward · · Score: 0

      Everything (not really) is programmed in Python or Ruby or JS or Lisp or whatever these days. Wouldn't it be just as good (perhaps even better) if we had properly verified language runtimes with support for process paritioning than MMUs. I mean there are a lot of performance problems when you combine GC language runtimes with MMU due to pages evolving to become more and more sparse (shouldn't happen on a compacting GC). Also IO bottlenecks from having to page out full 4k/1M/2M/whatever pages when perhaps most of the page is empty. If the language runtime or meta-language runtime handled paging integrated with the heap allocators, then the paging could be made more efficient and predictable, for example, paging in and out lists in order, when they were not in-order in memory.

  10. Just a multi-threading library by monkeyxpress · · Score: 3, Interesting

    This is really an 'OS' in the loosest sense. The processors it targets (mostly ARM Cortex M) do not have a memory manager, so all these things really do is provide a basic multi-threading system, which is actually pretty trivial to implement on a micro-controller if you can be bothered. I mean, a decent embedded unicode handling library or buddy allocator is a more complicated endeavour, but not as media worthy as saying your wrote a whole 'OS'.

    For what it's worth, FreeRTOS has been providing a lightweight and portable kernel that basically does what this does for about a decade now. Like windriver, they also try to leverage the exposure they get from the free code to sell their commercial version.

    The interesting thing though is that embedded processing power is really jumping along at an incredible pace now. To be honest, I think in another five year anything that requires connectivity or has a screen will just be using a Linux derivative (or QNX). Memory and processors are becoming ridiculously cheap, and in many cases the few dollars saved by using a resourced constrained chip are not worth the effort of having to port a graphics library, driver etc etc.

    1. Re:Just a multi-threading library by Anonymous Coward · · Score: 0

      The problem with FreeRTOS is that its source code, documentation, APIs, and basically everything about it is _fucking horrible_. If Zephyr manages to correct even just the APIs (to e.g. basic POSIX interfaces to threading), it'll be praised.

      But then there's the problem that firmware is usually written by EEs who designed the hardware. And EEs aren't all that good at software; for example most of them cannot conceive of threads (a purely software abstraction) because of their view that software is just programmable hardware behaviour -- and very few pieces of hardware do context-switching, or arbitrary inter-thread interactions.

    2. Re:Just a multi-threading library by joelsherrill · · Score: 2

      RTEMS.org already exists as a single process, multi-threaded RTOS with robust POSIX API support. Includes SMP, networking, filesystems, USB, high test coverage, etc. No dual licensing for commercial use. Used heavil by NASA, ESA, high energy physics community, and many industrial users.

    3. Re:Just a multi-threading library by 0100010001010011 · · Score: 1

      What is the difference between this, FreeRTOS, ChibiOS or any of the other open source RTOSes already on the market?

      The biggest news here is that Wind River is opensourcing their RTOS.

    4. Re:Just a multi-threading library by Darinbob · · Score: 1

      Yup, FreeRTOS is a bit odd. It's also very large, which it makes up for with a bag full of #ifdefs to trim it back down. It's very difficult to read and follows one particular programmers personal coding style.

      I think a lot of the portable RTOSes out there have a fundamental drawback that by trying to cater to so many chips portably that they end up being lower performance. Ie, in uC/OS they put a critical section around reading and returning a 32-bit value just because this isn't atomic on an 8 and 16-bit system. So you either put up with it or hack away to improve the OS at the expense of being able to merge in later releases easily.

  11. This is not for desktops you morons by Anonymous Coward · · Score: 0

    Bunch of desktop computer idiots commenting on news about embedded OS. This is not for your computers to run your MS words and games. Don't comment if you don't understand what you are talking about.

    1. Re:This is not for desktops you morons by U2xhc2hkb3QgU3Vja3M · · Score: 1

      Alright, let me try: Zephyr is no good because the ATmega328 Arduino is only 8-bit and only has 2KiB RAM.

      What do I win?

    2. Re:This is not for desktops you morons by Anonymous Coward · · Score: 0

      So there's nothing in between 8-bit AVR and PCs? There's lost of tasks in this world that do not need a PC and need a bit more power than and 8-bitter. Zephyr can be a good fit there.

    3. Re:This is not for desktops you morons by 0100010001010011 · · Score: 1

      Run NilRTOS

  12. Yes by ArchieBunker · · Score: 1

    Ever wonder why your current computer seems to run as fast as one from a decade ago? Shouldn't everything load much faster and be more responsive?

    --
    Only the State obtains its revenue by coercion. - Murray Rothbard
  13. use non volatile memory by goombah99 · · Score: 1

    If that's the goal then why not just use non-volatile memory. Would that not save the same power without scrimping on quantity of memory?

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:use non volatile memory by slashping · · Score: 2

      Non-volatile memory is slow, uses a lot of power, and has limits on number of erase/rewrite cycles. Also, many microcontrollers can't execute code from flash memory while programming it.

    2. Re:use non volatile memory by Darinbob · · Score: 2

      At times we were considering using parts of Flash for temporary storage but that sucks up power too. 20-40mA while writing.

      The scrimping is done for several reasons. It's all internal memory on the same chip as the CPU and that in itself limits the amount due to physical space of cramming everything in. External memory has it's own extra power needs with no capability of being put into low power standby, plus requires a lot more pins for interconnectivity, and adds to cost which is very important if you eventually want to sell a few million of them.

    3. Re:use non volatile memory by unixisc · · Score: 1

      No! DRAM uses far more power. Out here, when they are talking non volatile memory, they're talking NOR flash, not NAND. That consumes average power and can go into standby whenever it's not being read. As far as erase/program cycles go, one doesn't do that if one is using something as shadow or cache memory

    4. Re:use non volatile memory by slashping · · Score: 1

      But for the 16-256kB amounts we're talking about, it's usually SRAM, which requires very little power, and is on-chip.

  14. Dont need an OS. by Lumpy · · Score: 2

    Running the application on the bare metal is just fine.

    Sorry but very rarely do you need a full blown OS. my weather station does not need an OS, it just needs it's program to run and loop over and over and over again running directly on the hardware.

    I can see things like Amazon Echo using an OS, but then it's processing power and capacity can easily run a full blown linux. no need for anything that is super tiny.

    --
    Do not look at laser with remaining good eye.
    1. Re:Dont need an OS. by Anonymous Coward · · Score: 0

      Does your weather station need a 32 bit MCU? You are kind of like saying, there's two types of tasks, one needs a full blown os and shitloads of memory, the other only needs an 8-bit MCU. It's all black and white, choose your poison, nothing in between, no sirrr-ee.

    2. Re:Dont need an OS. by Anonymous Coward · · Score: 0

      Having access to things like network drivers, a TCP/IP stack, and very basic things like timers and ISR top-halves is usually considered desirable, if only to avoid doing things the hardest way. There's possibly some portability advantages as well, which make product lifecycles more flexible.

    3. Re:Dont need an OS. by Lumpy · · Score: 2

      If it's cheaper than an 8 bit MCU? yes. I don't care if it has a 256bit MCU... it will never need an OS.

      --
      Do not look at laser with remaining good eye.
    4. Re:Dont need an OS. by Lumpy · · Score: 2

      I already have access to network devices, it's coded in the software, it has a wifi chip inside (ESP8266) and does perfectly without an OS or any drivers.

      Not needed.

      --
      Do not look at laser with remaining good eye.
    5. Re:Dont need an OS. by slashping · · Score: 2

      Multi threading is very useful when you have different tasks that need to block on external events, such as arrival of network data for a web server, and you don't want to resort to ugly state machines.

    6. Re:Dont need an OS. by Anonymous Coward · · Score: 0

      > [weather station] ... it will never need an OS.

      Mine will. I want my weather station to have a web service that presents graphic results of the last 24 hours wind, rain, pressure and temperature.

    7. Re:Dont need an OS. by Anonymous Coward · · Score: 1

      Well good to know, that when you don't need one, no one else needs either. Nice, one less thing to worry about.

    8. Re:Dont need an OS. by Anonymous Coward · · Score: 0

      By RTOS, they mean it has some kind of scheduler and defines multiple stack spaces for context switching. Some of them implement memory pooling to try to alleviate fragmentation issues. Maybe you can get away with blocking, a simple super-loop, time-sliced stateful polling, etc. Sometimes using a RTOS makes for more reliable and manageable code, sometimes it just adds extra shit to deal with.

    9. Re:Dont need an OS. by Anonymous Coward · · Score: 0

      Multithreading is by common practice, an ugly state machine that is hidden from user view. There's reasons to go either way with RT embedded applications, but often it is simply easier to write the full stack yourself - all there, easy to see, you're able to model all interactions as you know what they are.

    10. Re:Dont need an OS. by Anonymous Coward · · Score: 0

      Does it require floating point math for data manipulation? Easier to do if you have more than 8 bits available.

    11. Re:Dont need an OS. by Lumpy · · Score: 1

      Yep, and a good programmer knows how to write a program that is multi threaded... still don't need an OS.

      --
      Do not look at laser with remaining good eye.
    12. Re:Dont need an OS. by Anonymous Coward · · Score: 0

      Tons of existing devices already do that without an OS.

  15. Apache 2.0 licensed by jensend · · Score: 1

    Feels like the license should have been in the summary. Whatever your opinions on copyleft in other areas, a GPLv3'd RTOS would be at a huge disadvantage adoption-wise. It'll be good to have an Apache licensed RTOS with some serious momentum behind it.

    1. Re:Apache 2.0 licensed by Anonymous Coward · · Score: 0

      Feels like the license should have been in the summary. Whatever your opinions on copyleft in other areas, a GPLv3'd RTOS would be at a huge disadvantage adoption-wise. It'll be good to have an Apache licensed RTOS with some serious momentum behind it.

      It will not get any momentum from Linux hackers with such a weak license.

  16. OS-9 by Anonymous Coward · · Score: 1

    Microware needs to start porting OS-9 to these sorts of things.

  17. I, for one, welcome the new IoT overlords! by fbobraga · · Score: 1

    Not

  18. Crazy Eddie's East by ThatsNotPudding · · Score: 1

    Browse that seller of the above items and be amazed at the absolutely insane amount of dirt cheap hacker friendly electronics you can get shipped from china for just a few bucks.

    Now they throw the backdoors in for free!

  19. Linux will be happy by aglider · · Score: 1

    That the Linux name will be close to ukernel and nanokernel stuff. Also prof. Tannenbaum will.

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
    1. Re:Linux will be happy by unixisc · · Score: 1

      What exactly does 'microkernel' or 'nanokernel' mean here? It's certainly not about #lines of code!

  20. Minimal error checking? by cant_get_a_good_nick · · Score: 1

    So, unified kernel/userspace. minimal error checking. Some error checkign available, but optional.

    The Internet of never updated, easily pwn3d things.

  21. Nothing new: RTEMS is the way to go by Anonymous Coward · · Score: 0

    Guys ... Please do not jump on the hype bandwagon.

    RTEMS is very old, very Posixy and has been in use for a long time.

    WindRiver has also released a small RTOS called 'Rocket' ... Learn about RTEMS ... It is a very proper and widely used OS (in Space, on Mars and many places).

  22. license prevents drone use by drwho · · Score: 2

    look in the 'about' page, in the 'export compliance' section: "(c) for use in connection with the design, development or production of nuclear, chemical or biological weapons, or rocket systems, space launch vehicles, or sounding rockets, or unmanned air vehicle systems."

    More reason to develop software ex-US, so crazy export compliance doesn't hobble you.

  23. zwrite by Anonymous Coward · · Score: 0

    Will I be able to znol and zwrite my devices?

  24. better alternatives by Gravis+Zero · · Score: 3, Informative

    "The Zephyr Project's RTOS" is limited to x86 and ARMv7. x86 isn't for anything small and just using ARMv7 doesn't leave you with many options for chips.

    Contiki and ChibiOS/RT have already been ported to run on damn near anything and yes, only still only require 10KB of RAM.

    --
    Anons need not reply. Questions end with a question mark.
  25. Firefox OS? by BitZtream · · Score: 1

    small footprint, modular, scalable

    Those three things are mutually exclusive unless you change the definition so that it applies to basically anything on the planet.

    Modular is never small, scalable generally isn't either.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  26. Why should I chose Zephyr? by Anonymous Coward · · Score: 0

    If there are things like FreeRTOS? Because Zephyr is backed by the Linx Foundation? Currently this speaks rather against than for Zephyr. Because it's *not* GPL? Yeah, right.

    (And note: FreeRTOS is but one (good) choice among many, see here.

    Don't let the big consortia dictate your technical choices. Use your brains!

  27. Obligatory by Anonymous Coward · · Score: 0

    https://twitter.com/internetofshit/status/700660121735573504