Developing embedded software using DaVinci & OMAP technology
By: B.I. (Raj) Pawate
Series: Synthesis lectures on digital circuits and systems -- # 21
Publisher: Morgan & Claypool Publishers
Published: 2009
Place of publication: San Rafael, Calif. (1537 Fourth Street, San Rafael, CA 94901 USA)
Language: eng
Format: [electronic resource] /
ISBN-13: 9781598299793; 9781598299786
Subjects: Development; Embedded computer systems; Signal processing; Software engineering; Digital techniques; Computer software
Other titles: Synthesis digital library of engineering and computer science.
Description: This book discusses how to develop embedded products using DaVinci & OMAP Technology from Texas Instruments Incorporated. It presents a single software platform for diverse hardware platforms. DaVinci & OMAP Technology refers to the family of processors, development tools, software products, and support. While DaVinci Technology is driven by the needs of consumer video products such as IP network cameras, networked projectors, digital signage and portable media players, OMAP Technology is driven by the needs of wireless products such as smart phones. Texas Instruments offers a wide variety of processing devices to meet our users' price and performance needs. These vary from single digital signal processing devices to complex, system-on-chip (SoC) devices with multiple processors and peripherals. As a software developer you question: Do I need to become an expert in signal processing and learn the details of these complex devices before I can use them in my application? As a senior executive you wonder: How can I reduce my engineering development cost? How can I move from one processor to another from Texas Instruments without incurring a significant development cost? This book addresses these questions with sample code and gives an insight into the software architecture and associated component software products that make up this software platform. As an example, we show how we develop an IP network camera. Using this software platform, you can choose to focus on the application and quickly create a product without having to learn the details of the underlying hardware or signal processing algorithms. Alternatively, you can choose to differentiate at both the application as well as the signal processing layer by developing and adding your algorithms using the xDAIS for Digital Media, xDM, guidelines for component software. Finally, you may use one code base across different hardware platforms.
Notes: Part of: Synthesis digital library of engineering and computer science.

Title from PDF t.p. (viewed on July 8, 2009).

Series from website.

Includes bibliographical references (p. 121).

Abstract freely available; full-text restricted to subscribers or individual document purchasers.

Also available in print.

Mode of access: World Wide Web.

System requirements: Adobe Acrobat reader.
Table of contents: title: Software platform; title: Introduction; title: Three software products along with APIs; title: Codecs and codec combos; title: Drivers integrated into an OS; title: Domain-specific accelerator libraries; title: Obtaining these software products; title: Software architecture; title: Signal processing layer; title: Input output layer (IOL); title: Application layer (APL); title: Software stack for the DaVinci & OMAP platforms of processors; title: Rising software costs & increasingly diverse hardware platforms; title: A single software interface across many, different hardware platforms; title: More about xDM, VISA, & CE; title: Different levels of abstraction - xDM, VISA and Codec Engine (CE); title: XDM compliant software component; title: Categorizing Codecs into classes; title: Benefits of xDM; title: Codec engine & VISA; title: Benefits of VISA API; title: Building a product/application based on DaVinci technology; title: An example; title: Creation of an Internet Protocol (IP) based network camera (IPNetcam); title: Reducing development cost while introducing multiple products; title: ^; title: Reducing development cost while introducing multiple products; title: Summary; title: EXpressDSP digital media (xDM); title: Introduction; title: Overview of xDAIS and xDM; title: XDAIS overview; title: XDM overview; title: Relationship between xDM and xDAIS-8 classes of generic interfaces; title: Scope of the standard; title: Goals of the standard; title: XDM interface history and roadmap; title: Extending the xDM interfaces; title: Sample application using xDM; title: Overview; title: Test application, overview; title: Parameter setup; title: Algorithm instance creation and initialization; title: Process call, xDM 0.9; title: Process call, xDM 1.0; title: Algorithm instance deletion; title: Frame buffer management by application, xDM 1.0; title: Frame buffer input and output; title: Frame buffer management by application; title: Handshaking between application and algorithm; title: Sample test application; title: Embedded peripheral software interface (EPSI); title: Overview; title: Input / output Layer; title: EPSI APIs; title: EDM for Linux; title: VPFE_open; title: VPFE_getBuffer; title: VPFE_returnBuffer; title: VPFE_close; title: ^; title: ^^; title: EDM for DSP/BIOS; title: VPFE_open; title: VPFE_getBuffer; title: VPFE_returnBuffer; title: VPFE_close; title: Summary; title: Sample application using EPSI; title: Overview; title: Video capture application; title: Application control flow; title: Application implementation; title: Sample application using EPSI and xDM; title: Overview; title: Controller application development; title: Video encode application; title: Leveraging the application; title: Performance measurements; title: Measuring the Codec engine latency; title: Multi-channel application; title: IP network camera on DM355 using TI software platform; title: Introduction; title: System overview; title: Operating system; title: Device drivers; title: Supported services and features; title: Acronyms; title: Assumptions and dependencies; title: Source code organization; title: Development tools environment(s); title: Installation and getting started; title: List of installable components; title: Build procedure; title: Execution procedure; title: ARM9EJ programming; title: ARM9EJ task partitioning; title: ARM CPU utilization; title: IMX programming; title: IMX program execution; title: Conclusion; title: ^; title: ^^; title: Adding your secret sauce to the signal processing layer (SPL); title: Introduction; title: From any C model to golden C model on PC; title: Further reading.; title: ^^