Сначала мы разберемся в том, что представляют собой встраиваемые системы и какие существуют тенденции в их развитии. Затем плавно перейдём на встраиваемые системы в FreeBSD, узнаем их сильные и слабые стороны и то, как они отвечают на вызовы рынка.
2. What does mean Embedded?
Small size
Single function
Low power
Limited Software
System-on-chip (highly integrated)
No standard components
4. Embedded World tomorrow
2020 year - 20 billion devices (DST, McKinsey)
5b people
$200b/year ad market
$3 trillion IT companies capitalization
SoC are smallest as we can imagine
No longer simple
5. Industry trends
Microserver ($10b market, low power, ARMv8, next year)
Facebook Open Compute Project goes ARM
ARM on desktop computing (small boards, chromebook)
Virtualization (Xen, KVM on ARM fast models)
6. Industry trends: low power
Low power more important than speed
Heterogeneous System-On-Chip (SoC)
Texas Instruments OMAP5 - Cortex A15/M4
Freescale Vybrid Family - Cortex A5/M4
Samsung Exynos 5 - Cortex A15/A7 (big.LITTLE)
9. ARM Desktop
4 x 1.6Ghz Cortex A15
4 x 1Ghz Cortex A7
SATA, HDMI, USB 3.0, etc..
MIPI DSI, eMMC
10. Embedded FreeBSD
ARM, MIPS and PowerPC
ARM v5: ARM7, ARM9, ARM10 (legacy)
ARM v6: ARM11 (legacy)
ARM v7: Cortex A-family
SMP (symmetric multi processing)
NAND framework, NANDFS (bad blk manager, ECC)
Lot of popular community boards (Raspberry PI, Panda,…)
11. Embedded FreeBSD strengths
BSD license
Easy to build complete OS
Flattened Device Tree (FDT)
Drivers API (fdtbus, bus_dma, bus_space)
LLVM/clang or External toolchain
ATF stress testing framework
Code style
U-boot loader (ubldr)
12. Embedded FreeBSD weakness
Bugs, not optimized, production not ready
No packages for ARM
Tier1 todo:
Add support for hard-float ABI
Fix jemalloc issues
Fix SMP
Fix the endian issue
Prepare for release engineering
13. Embedded FreeBSD challenge
Linux Everywhere
Linux users doesn’t care about GPL
Does BSD license matter for embedded?
How to be relevant?
Make ARM Tier1
Look forward to ARM servers
Follow the industry needs (and not blindly create new port)
Make GENERIC kernel
More developers
16. Recent work & activity
Porting to Qualcomm Krait (work in progress)
GENERIC kernel (work in progress)
Added support for Heterogeneous A5/M4 Freescale Vybrid
Family and i.MX6
Introduced Superpages for ARM
17. FreeBSD & The Embedded World
Thanks!
br@FreeBSD.org
br@machdep.com