CF+ / xD Linux Software Stack
The CF+/xD Software Stack is a production ready stack to integrate CF+ and xD picture cards. The stack can also be used for validating a device during its development and integration lifecycles helping users to reduce the time to market for their product.
The CF+/xD Software Stack is based on an OS and platform independent architecture. The stack has thin OS and hardware abstraction layers making it highly portable. The CF+/xD Software Stack provides a generic API set to access, control and configure the bus driver, host controller driver and the underlying hardware. The stack include functions for initialization, sending of commands, data transfer, power management, interrupt handling, bus configuration, client driver matching, host controller hardware configuration and shutdown.
CF+/xD Software Stack supports multiple host controller and multiple slots on single host controller. The stack complies with the latest CF+ and xD standards. The Arasan CF+/xD Software Stack consists of the Application Interface Layer (API Layer), Protocol Layer, Hardware Controller Driver Layer, Hardware Specific Layer and OS Abstraction Layer. The layered architecture allows porting to various operating systems and various platforms. Client applications such as the block driver and CF+/xD I/O function drivers interface with the API layer to use the device. The nitty-gritty details of the protocol is abstracted for the end-user and is all handled in the software stack. A set of well defined APIs are provided at this layer. The block driver integrates the flash devices such as CF+, xD memory cards to the Linux file system.
Diagram

Features
- Developed in ANSI C
- OS and platform agnostic stack and bus driver with independent HW and OS layers for portability
- Easy-to-use interface for applications
- Fully documented API
- Production ready Block driver on FC7 Linux 2.6.x
- Premier support directly from Arasan Engineering team
- Compliant with Compact Flash (CF+) v4.1 and ATA/ATAPI – 6
- Compliant with xD-Picture Card Host v1.20 and xD-Picture Card Card Specs v1.20
Applications
- Stack can be used to integrate a CF+ or xD memory card
- The stack can be used to validate a CF+ or XD memory device during development and integration
- Integrated support for CF+/xD cards and their advanced versions to an embedded platform.
Deliverables
- Source code and/or binaries for CF+/xD driver stack
- User Manual
- API Guide
- Sample Block driver
- Release Notes
