Axa Assurance Maroc - Insurer Innovation Award 2024
Halosys in Embedded
1. Presentation By Compare and Evaluate Commercial Embedded Linux Operating Systems Date/Time Wednesday (September 23, 2009) 3:00pm — 3:50pm Manish Harsh, Analyst (Wireless and Web) Halosys Technologies Inc. I have been associated with embedded and open source technologies in the web, wireless, and embedded domain for 8 years. Speaker Profile
2.
3. Participants here are convinced enough for Linux as an option over other proprietary embedded solutions. Assumptions The Info and analysis in this presentation is collection of relevant detail from multiple sources and is based on analysis capabilities of an individual with limited industry experience Declaration and Disclaimer
17. x User Applications Web/ WAP GTK Apps Java Apps Multi media Game Synchronization Core Components Linux Integration Modules Security Messaging Telephony Bluetooth Launcher (GTK/Java/Prism Native) Cairo Native Widgets Graphic Module JVM Multi media Canvas Graphic System Hardware Accelerator User Security PopSync DRM OTA Support Security F/W Open SSL Sync ML Setup Database Package Manager Messaging Frame work Mobile Services Blue tooth Connectivity Telephony Manager BlueZ Process/ Power Memory/ Storage Display Driver Input Driver File System Multimedia Driver Network Device Driver Bluetooth Driver Application SDRAM SD/MMC LCD Input Device NAND/NOR Flash Multimedia Hardware GSM/GPRS/CDMA/WCDMA/ WiFi/Bluetooth/EDGE A Typical Architecture of Wireless Product (read Mobile)
18.
19. Thanks Manish Harsh Santa Clara, CA (408) 242 3207 (Mobile) [email_address] Active on: LinkedIn, Twitter, Facebook www.halosys.com
Editor's Notes
I would rather call the Linux Opensource and Commercial, Linux is commercialized by few companies using the same Open Source code. These companies deserve the credit to bring Linux in competition to proprietary OS but at the same time they too are not far from being tagged as the proprietary in there own way due to the hidden costs. Only breather in this case is that core is still Linux and the organizations who are selling commercial Linux OS have to share the entire code which really depends totally on the product manufacturers capability of taking it to next level depending on his/her focus. “ Free” to Use, not “Free” Cost: the Debug Challange Beyond the decision of whether to choose a commercial or free distribution of Linux, developers must understand the capabilities and limitations of their debug/development tools. Any meaningful design in the embedded SoC domain requires well-integrated software development tools targeted specifically at the embedded space. Open source tools—from compilers to applications—are expected to be production quality. And developers expect that tools will work together seamlessly with a small learning curve. Leveraging free distributions of embedded Linux has become a widely accepted practice in the consumer product space. In these markets, product run rates are high, enhancements to the code are frequent, and cost of goods sold is critical; all of which make the open source model attractive. But while the general expectation is for open source tools to be close to production-quality, "free" and "commercially available," are not synonymous. Tools that can integrate open source/freeware and also provide a seamless debug environment for a processor core require a deep understanding of the core and SoC component interaction. Expert knowledge is required to make today's open source tools work.
Supporting content: Addressing the requirements, One needs to define its product and the expected specifications for his/her product. Granular level expectations from the product needs to be documented as the requirements document.
RT Measurement programs Here is a list of programs that have been used for realtime testing: lpptest lpptest - included in the RT-preempt patch.It consists of a 1. driver in the linux kernel, to toggle a bit on the parallel port, and watch for a response toggle back 2. A user program to cause the measurement to happen 3. A driver to respond to this toggling with the RT-preempt patch applied, see: This requires a separate machine to send the signal on the parallel port and receive the response. (Can this be run with a loopback cable? It seems like this would disturb the findings). This program is a very simple test of how well a periodic interrupt is processed. The program programs a periodic interrupt using /dev/rtc to fire at a fixed interval. The program measures the time duration from interrupt to interrupt, and compares this to the expected value for the duration. This simple program just prints a list of variances from the expected value, forever. This program uses the TSC in user space for timestamps. RealFeel (ETRI version rf-etri) This program (latency.c) extends realfeel in several ways: it adds command line arguments to allow runtime control of most parameters it adds a histogram feature to dump the results to a histogram it can do both linear and logarithmic histograms it locks the process pages in memory (very important) it changes the scheduling priority to SCHED_FIFO, at highest priority (very important) it adds conditional code to trigger output to a parallel port pin (for capture to an external probe or logic analyzer) it abstracts the routine to get the timestamp, with the function: getticks() it handles the interrupt signal and does a clean exit of the main loop (on user break?) it tracks min, max and average latency for whole run, and for every 1000 cycles of the loop it adds a timestamp to the /dev/rtc driver, and reads this as part of the rtc data how is rtc timestamp used?? Cyclictest Cyclictest - See http://rt.wiki.kernel.org/index.php/Cyclictest LRTB Linux Real-Time Benchmarking Framework - See http://www.opersys.com/lrtbf/ quickie overview at: http://groups.google.com/group/linux.kernel/msg/11860ef9e4263fa3?hl=en& Hourglass Hourglass is a synthetic real-time application that can be used to learn how CPU scheduling in a general-purpose operating system works at microsecond and millisecond granularities See: http://www.cs.utah.edu/~regehr/hourglass/ Woerner test Trevor Woerner wrote an interesting test which received an interrupt on the serial port, and pushed data through several processes, before sending back out the serial port. This test requires an external machine for triggering the test and measuring the results. See Trevor Woerner's latency tests Senoner test Benno Senoner has a latency test that simulates and audio workload.
OS porting custom CPU boards on any of the currently supported hardware architectures, Inspite of all the packaging and claims, this space is always open for the vendor to sell there Professional services Device drivers Linux device drivers for custom hardware or daughter boards. This includes development of drivers for serial and parallel devices, Ethernet, ATM, STREAMS, Standard SCSI and SCSI RAID adapters, plus providing CD-ROM extensions, ISO9660 support, and DOS file system support. High availability systems Let us help maximize the availability of telecommunications and other mission-critical applications. This includes collaborating to design high-availability systems that support hot swap of peripherals, CPU failover and system redundancy. Complete application design and implementation Take advantage of our expertise in end-to-end development of embedded applications, from requirements specification through design, implementation and testing. System design recommendation We can recommend LynxOS and BlueCat Linux features that will result in the most suitable solution based on system requirements. This includes consulting on the different approaches necessary to ensure that a design is optimized. Migration paths Accelerated Learning Programs LynuxWorks offers a contingent of training classes, labs and workshops, held throughout the year and available around the world. View course descriptions and schedules Classes are conducted at LynuxWorks training facilities in the US and Europe or can be conducted on-site at customer premises. Draw on our experience for recommendations on migration paths from other operating systems to LynxOS or BlueCat Linux that maximize reusability of existing software. We can identify potential bottlenecks and determine the path for the most efficient development. Performance improvements We have worked through many sophisticated environments where our products are used. We can review your software applications and suggest ways of improving performance. On-site consulting You can deploy LynuxWorks expert resources to your sites to help debug specific problems with drivers or applications and to work with customer engineers to resolve software problems and consult on design changes.