Android hardware-software design using virtual prototypes - Part 2: Building a sensor subsystem
Achim Nohl, Synopsys
Embedded.com, November 7, 2012
Editor’s Note: In the second of a three-part series of articles on virtual prototyping, Achim Nohl explains how to use the Synopsys Virtualizer Development Kit (VDK) and describes the hardware/software integration flow for a sensor subsystem for use in an Android mobile device. For the remainder of this series, we will illustrate virtual prototyping usage and early software development by means of a brief case study. The case study is centered on a multi-function sensor controller subsystem which supports an accelerometer, magnetic field, orientation, gyroscope, light, pressure, temperature, and proximity.
The subsystem embeds an ARM Cortex- M3 microcontroller along with generic peripherals such as an interrupt controller, memories, GPIOs, and I2C. The sensor subsystem runs dedicated firmware to proxy the requested sensor data into a shared memory mailbox for communication with the main CPU. The main CPU, an ARM Cortex-A series CPU, runs Linux and Android.
To read the full article, click here
Related Semiconductor IP
- Power-OK Monitor
- RISC-V-Based, Open Source AI Accelerator for the Edge
- Securyzr™ neo Core Platform
- 112G Multi-SerDes
- SHA3 Cryptographic Hash Cores
Related White Papers
- A Survey on the Design, Detection, and Prevention of Pre-Silicon Hardware Trojans
- Customizing a Large Language Model for VHDL Design of High-Performance Microprocessors
- Get More Reliable Automotive ICs with a Shift Left Design Approach
- Physical Design Exploration of a Wire-Friendly Domain-Specific Processor for Angstrom-Era Nodes
Latest White Papers
- Practical Considerations of LDPC Decoder Design in Communications Systems
- A Direct Memory Access Controller (DMAC) for Irregular Data Transfers on RISC-V Linux Systems
- A logically correct SoC design isn’t an optimized design
- AI in VLSI Physical Design: Opportunities and Challenges
- cMPI: Using CXL Memory Sharing for MPI One-Sided and Two-Sided Inter-Node Communications