b ildi b dd d di l d ibuilding an embedded medical device ......b ildi b dd d di l d ibuilding an...
TRANSCRIPT
B ildi b dd d di l d iBuilding an embedded medical device using the Texas Instruments Zoom™
OMAP35x Development Kit from LogicOMAP35x Development Kit from Logic
Webinar SeriesWebinar Series
Project fast track – development
Session 1
Project fast track development environment and small footprint
Linux platform for the OMAP-3530
We will start our webinar in few minutes.Thank you for your patience
www.timesys.com ©2009 TimeSys Corp.
2 Series Overview
Session 1 – todayProject fast track – development environment and Project fast track development environment and small footprint Linux platform for the OMAP-3530
Session 2 – September 15, 2009 11:30am ESTEKG device—meeting application requirements and objectives through rapid development with LinuxLinkobjectives through rapid development with LinuxLinkand open source middleware
Session 3 – September 29, 2009 11:30am ESTSystem debugging and testing with the OMAP35x
www.timesys.com ©2009 TimeSys Corp.
3 Agenda – Session 1
Introduction
Design your own development environment - Assemble a small footprint Linux platform with the Factory Web Wizard
Install the dev environment including Desktop Factory tools on a Linux host
Footprint optimization techniques
Using Desktop Factory we will do the following:• Verify if any updates are available• Modify the kernel for fast booting• Root filesystem adjustments
www.timesys.com ©2009 TimeSys Corp.
Deploy the images on the OMAP35x board
4 An Introduction to Timesysy
The Company• Founded in 1996 Carnegie MellonFounded in 1996, Carnegie Mellon• Headquarters in Pittsburgh, PA
The History The History • First real-time Linux distribution• Open-sourced in 2005• Launched LinuxLink• Launched LinuxLink
LinuxLink — A framework for Linux developmentG t i iti l Li l tf f gi d l t kit• Great initial Linux platform for a given development kit
• Suite of scriptable tools to configure, customize, build, and test• Access to man-years of embedded Linux expertise & best practices
M d t l i d• Moderately priced
Open source friendly — no monkey business
www.timesys.com ©2009 TimeSys Corp.
5 Why Pay for Linux — Isn’t it Free?
Assembling a Linux platform can be very complex• The code is “free,” but…
y y
,• Achieving a consistent and repeatable build can be challenging
Difficult to keep paceDifficult to keep pace• Over 40,000 independent sources on the Web• Maintained by thousands of developers
Difficult to pick the right combinations• Hidden dependencies, abandoned projects
N i i fli t• Numerous revision conflicts
Difficult to find tools that work• Many open source tools are available• Difficult to assemble the associated patches and libraries
www.timesys.com ©2009 TimeSys Corp.
Limited-to-no support
6 LinuxLink Reduces the Complexity of Open Source p y pLinux Development via a Unique Framework
Quickly build an initial platform via the WebQuickly build an initial platform via the Web• Select a Timesys developed starting point or build
your own with the Online Factory
Customize via a properly installed, configured and tested desktop environment• Patch/configure/build with Desktop FactoryPatch/configure/build with Desktop Factory• Debug/profile/trace/tune with Toolbox• Scriptable
Obtain help with common development tasks• Technical Assistance, “How-to” documentation
Maintain alignment with the community• Obtain updates/alerts/advice that are
relevant to your embedded Linux platform
www.timesys.com ©2009 TimeSys Corp.
relevant to your embedded Linux platform
7 LinuxLink Software Development FrameworkThe complete environment for developing your Linux-based product.
Linux Kernel• Latest open-source kernels• Several architectures• Extensive SoC support
Support• Web-based• In-person• Learning center
Updates• Automatic kernel updates• Automatic middleware updates• Web-based & desktop notifications
Development Tools• Latest versions of gcc, glibc• Tested on all supported SoCs
Your custom tools/ db
pp• Eclipse-based environment
MiddlewareRi h l ti f k
Factory• Interactive step-by-step wizard• Guides your selection of packages• Builds your custom kernel & tools
• gcc / gdb• Eclipse-based framework
Your custom image• Kernel
• Rich selection of packages• Networking, industrial, consumer• Pre-built, tested and verified
Ready to run on your hardwareG id
• Root file system
Boot loader• For supported reference platforms• Industry-standard U-Boot• Latest open-source code base
your hardwareGuides• “How-to” documents• Extensive Linux information• Knowledge base
www.timesys.com ©2009 TimeSys Corp.
LinuxLink – Open Source made easyA
pplic
atio
ns Web browser(webkit, midori)
Multimedia player
User Applications
LinuxLink
A
Media Services (Gstreamer,
VOIPAsterisk
JVMjamvm
Web Services (rest)
Window Manager(Matchbox)
(mplayer)
Web Server (httpd, boa)
Mail services
Flash(gnash)
UI Services
k Framew
ork I
Mid
dlew
are
X
(Gstreamer, ffmpeg)
GTK+ QT
Message bus (D-bus)
Bluetooth (bluez)
OpenSSLEmbedded DB
AsteriskjamvmClasspath
Cl tt C i!18N Rendering
(rest) (Matchbox)
OpenGL(mesa)
GPS (tango)
(httpd, boa)
Sensors (lm_sensors)
Location Services Codecs
services (gnash)
Device Sync (gUPnP)
Security
ntegration Servs
X p(SQLite)Clutter
(3D)Cairo (2D)
g(Pango) (geoclue)
Flash SD/MMC Watchdog Timer
I2C/SPI HW Specific Drivers
AudioBattery ROM/RAM
LCD
Display DirectFB
Audio ALSA
Power Mgmt
MemoryMgmt
KeypadTouchSceen
Wifi Bluetooth USBCamera Network Stack
y vices
Ker
nel &
Driv
ers
Real Time
Multi-core Timer DriversRAM Time core
Tools
www.timesys.com ©2009 TimeSys Corp.
9 How Does LinuxLink Work?
“How-To”Customer
40,000 sources• Mainline• Mailing Lists
Content
Internet
DesktopFactory g
• Semi/SOMs• 1000s of Packages• 3rd Party Tools
www.timesys.com
y• 3rd Party DriversOnline
FactoryTimeStorm IDE
Test via Timesys Board Farm
• Linux Platform
• Development Environment
• Technical Assistance
www.timesys.com ©2009 TimeSys Corp.
10 Boot Process in shortTypical Linux System Structure Boot Process Sequence
User Application(s)Power On
UBootRoot Filesystem
Packages Scripts
Hardware Init
UBootCopies kernel to T
Linux Kernel
Device A Device C
memory/uncompress
Kernel BootHardware/Subsystems
TIME
Bootloader
Device A Device B
initialization
RFSFetch/Mount/Boot into
Hardware
Fetch/Mount/Boot into
User Application
www.timesys.com ©2009 TimeSys Corp.
pp
11 Footprint optimization techniquesHardware
• Component selection mattersNOR fl h f XIP– NOR flash for XIP
– Clock Speed
Bootloader• Initialize only the needed hardware and pass the control quickly to the Linux
kernel• Enable only features that are needed (load, boot)
R h d bi • Remove hardware probing • Typically only few functions used in production system
Linux Kernel• Focal point of our today’s session• Many options available based on requirements• Number of options are easy to implement
Root filesystem and applications• Start Small• Minimize the initialization process
www.timesys.com ©2009 TimeSys Corp.
p
12 Making Linux Kernel small and fastUse uncompressed kernel• Uncompressing takes time
Remove unused kernel options• Not used networking i.e. IPV6, multiple file systems
D b f d b l (f fi l d l )• Debug features and symbols (for final deployment)
Build device drivers as Loadable Kernel Modules• Keep the features needed at boot time built into the kernel• Remaining drivers built as LKMs will make kernel smaller
Consider various approaches for your RFS deployment• JFFS2 with appended journal summary (skip flash scan)• CRAMFS UBIFSCRAMFS, UBIFS
Suppress the console output• Use “quiet” with your kernel command line
www.timesys.com ©2009 TimeSys Corp.
• Use quiet with your kernel command line• Remove any possible verbosity from the kernel (i.e. printk)
13 Making Linux Kernel small and fastLinux kernel options we will look at today
Kernel Option Comment
CONFIG_EMBEDDED Disables or tweaks a number of kernel options and settings.
CONFIG IKCONFIG Saves complete kernel configuration in the kernelCONFIG_IKCONFIG Saves complete kernel configuration in the kernel
CONFIG_KALLSYMS Prints symbolic crash information and backtraces
CONFIG_BUG Disables BUG and WARN functions
CONFIG_HOTPLUG Can be disabled if no external devices will be attached and if you use static device files
CONFIG DNOTIFY File change notification to user space_ g p
CONFIG_EXT2 Disable if using jffs2 file system
CONFIG_PRINTK Makes kernel silent when disabled
CONFIG_PRINTK_TIME A way to track where time is spent at boot time
CONFIG_CC_OPTIMIZE_FOR_SIZE Will select –Os instead of –O2 resulting in a smaller kernel
www.timesys.com ©2009 TimeSys Corp.
kernel
14 Deployment We’ll use TFTP service to transfer images to the target• Runs typically as xinetd process
Di bl d h l i t ll d M dif / t / i td d/tft d• Disabled when newly installed. Modify /etc/xinetd.d/tftpd
Setup NFS to mount RFS via network for initial development• Runs as a daemon on your host• Export FS via /etc/exportsp / / p• Restart the NFS server via /etc/init.d/nfs service
Assign a static address or use dhcpAssign a static address or use dhcp
Bootloader setup proceduresetenv bootdelay 3setenv bootfile uImagesetenv bootargs console=ttyS2,115200n8 root=/dev/nfs rw ip=dhcpsetenv bootcmd dhcp;bootm
www.timesys.com ©2009 TimeSys Corp.
p
15 What we have accomplishedBuilt a starting point with Online Factory• Experiment on day one with a pre-built starting point
Modified Linux kernel using desktop tools• Optimized for footprint
O i i d f f b• Optimized for fast boot
Altered root filesystem• Removed unneeded startup scripts
Deployed the system on target with network mounted RFS• Transferred images via TFTP• Configured bootloader for autobootg• Booted the Linux kernel
www.timesys.com ©2009 TimeSys Corp.
16 Next TimeSession #2 is scheduled for Thursday, September 15th at 11:30am EST
Subject: EKG device — meeting application requirements and objectives through rapid requirements and objectives through rapid development with LinuxLink and open source middleware
• Modify the Root Filesystem to include needed middleware– Qt/Embedded for Linux– Dependencies
• Using Qt Designer create and compile an EKG demo image
• Integrate the complete solution and deploy on the target
• more fun to come
www.timesys.com ©2009 TimeSys Corp.
• more fun to come…
17 How Do I Learn More?
Go to www.timesys.com to learn more• Webinars• Webinars• LinuxLink Radio Podcasts• Request a Free Factory Test Drive
Schedule a more detailed introduction/training session• WebEx• Face-to-face
www.timesys.com ©2009 TimeSys Corp.