Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lcu14 109- embedded systems- how low can you go-

3,536 views

Published on

LCU14-109: Embedded Systems: How Low Can You Go?
---------------------------------------------------
Speaker: Arnd Bergmann
Date: September 15, 2014
---------------------------------------------------
★ Session Summary ★
ARM Linux has traditionally been the the operating system of choice for the very low end of embedded systems, with very low power consumption and tight constraints on memory size and CPU speed. We still support machines based on ARM7TDMI and Cortex-M3 with as little as 2MB of RAM, but there is a disconnect between the stagnating upstream contributions for systems like this and growing interest for using Linux in ultra-low power and low-cost scenarios like wearable computing or the "Internet of Things". In my presentation, I will talk about some of the tricks that used to scale Linux to the absolute low-end, such as running without an MMU or executing the kernel from NOR flash, and areas that could use more work, such as upstream ports for Linaro member platforms (STM32, Kinetis, ...) and improving kernel support for low-memory scenarios. In the discussion, I want to find out where people in the audience think we should be heading in ARM Linux. Are we leaving the low-end market to MIPS, ARC, Blackfin and MSP430 by removing support for MMU-less systems and small-memory configurations, or should we invest more time in these systems?

---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137712
Google Event: https://plus.google.com/u/0/events/cftm2ub3omv707k2hr22ej2p3h8
Presentation: http://www.slideshare.net/linaroorg/lcu14-109-embedded-systems-how-low-can-you-go
Video: https://www.youtube.com/watch?v=TvM1wcJT0p0&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-109
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org

Published in: Technology
  • WAIT!!! Do this simple 60-second habit to reverse type 2 diabetes(& lose 1 pound of belly fat every 72 hours). ➤➤ https://tinyurl.com/y2956vb5
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Eat This POTENT Vegetable To Melt Diabetic Fat. IMPORTANT: Be careful, only eat it twice a day or you will lose diabetic belly fat too fast...  http://t.cn/AiBhrKDq
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/2u6xbL5 ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❶❶❶ http://bit.ly/2u6xbL5 ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Lcu14 109- embedded systems- how low can you go-

  1. 1. LCU14-109: Embedded Systems: How Low Can You Go? Arnd Bergmann, LCU14
  2. 2. Small ARM Systems past and present Sony XPeria Z2: 3GB RAM, Krait $33 Intex Cloud FX 128MB RAM, Cortex-A5 WiFI SDIO card 32MB RAM, ARM926 Psion Series 5, 8-16MB RAM, ARM710 Linksys NSLU2, 32MB RAM, XScale Apple iPod, 32MB RAM, ARM7TDMI (no MMU) D-Link DIR-615 32 MB RAM, Feroceon
  3. 3. Scaling down to 32MB of RAM Typical embedded system • Classic use case for ARM (also MIPS, PowerPC, …) • Driving factor: cost reduction • Power consumption: 1W-10W Typical Implementation: • ARM926EJ or Cortex-A5 CPU • Standard kernel, custom configuration • Busybox, uhttpd, dropbear • Distro: OpenEmbedded, OpenWRT, Buildroot, … • libc: uClibc, musl, dietlibc, newlib, …
  4. 4. Scaling down to 2MB of RAM Large microcontroller • Upstream support for EFM32 and AT91x40 • Driving factor: Power usage • Power consumption: 100mW-1W Typical Implementation: • ARM7TDMI or Cortex-M3 CPU, no MMU! • (P)SRAM rather than DRAM • Customized user space • Execute-in-place kernel in NOR flash
  5. 5. Scaling down to 256KB of RAM Single-chip microcontroller system • Experiment done by Vitaly Wool • Running on STM32F29 internal SRAM+NOR • Power consumption: < 100mW Implementation: • Highly customized kernel • XIP kernel and R/O file system • RW data compressed to fit on flash • Very little user space
  6. 6. Why Linux Alternatives: • Open source: FreeRTOS, eCos, RTEMS, Minix3, BSD… • Proprietary RTOS Linux advantages: • Developer familiarity • Driver support • Network stack Linux Disadvantages:
  7. 7. Why ARM Alternatives: • With MMU: MIPS, PowerPC, OpenRISC, x86, m68k, ... • Without MMU: C6x, Blackfin, Xtensa, Microblaze, … ARM Advantages: • Widely available from many vendors • Developer community • Linaro ARM Disadvantages:
  8. 8. State of NOMMU-Linux on ARM ARMv4T/V5E: • ARM7TDMI almost dead • ARM9TDMI, ARM740T, ARM940T, ARM946E unused • Out-of-tree users on 2.4.xx ARMv7-R/M: • EFM32 support recently added • ARMv7-R patches existed but were never merged • Out-of-tree users on 2.6.33 NOMMU mode for normal v5/v6/v7-A CPUs
  9. 9. Kernel size growth on ARM vmlinux size in kilobytes
  10. 10. Discussion • What is the smallest ARM system that Linaro and/or the upstream kernel community should care about? • Should we work on actively making kernels smaller? • Should we do more testing on MMU-less systems or remove the ones we don’t use? • Are there any Cortex-M platforms that need upstream support?
  11. 11. Resources Embedded Linux Wiki page on small systems: http: //elinux.org/System_Size Linux-2.6.33 on various Cortex-M3/M4: https://github. com/EmcraftSystems/linux-emcraft Historic uClinux-2.4 patches for ARM7TDMI: http://www. uclinux.org/pub/uClinux/uClinux-2.4.x/ PTXDIST for linux-3.16 with EFM32/Cortex-M3: http://git-public. pengutronix.de/?p=OSELAS.BSP-EnergyMicro- Gecko.git
  12. 12. More about Linaro Connect: http://connect.linaro.org More about Linaro: http://www.linaro.org/about/ More about Linaro engineering: http://www.linaro.org/engineering/ Linaro members: www.linaro.org/members

×