Click HERE for additional resources
Software and hardware to help build embedded vision systems
The software tools (compilers, debuggers, operating systems, libraries, etc.) encompass most of the standard arsenal used for developing real-time embedded processor systems, while adding in specialized vision libraries and possibly vendor-specific development tools for software development. On the hardware side, the requirements will depend on the application space, since the designer may need equipment for monitoring and testing real-time video data. Most of these hardware development tools are already used for other types of video system design.
Both general-purpose and vender-specific tools
Many vendors of embedded vision devices use integrated CPUs that are based on the same ARM instruction set, allowing a common set of development tools for software development. However, even though the base instruction set is the same (Cortex-A9, for example, which uses ARMv7 architecture), each CPU vendor integrates a different set of peripherals that have unique software interface requirements. In addition, most vendors accelerate the ARM CPU with specialized computing devices (GPUs, DSPs, FPGAs, etc.) This extended CPU programming model requires a customized version of the standard ARM-based development tools. Most CPU vendors develop their own optimized software tool chain, while also working with 3rd-party software tool suppliers to make sure that the CPU components are broadly supported.
An example of a vendor-supplied software development toolchain is CodeWarrior Development Studio, which is Freescale's unified development environment to support a range of embedded processor architectures -- including the i.MX family that targets embedded vision applications. However, the i.MX family is also supported by 3rd-party software tools vendors, including Green Hills and Wind River.
Heterogeneous software development in an integrated development environment
Since embedded vision applications often require a mix of processing architectures, the development tools become more complicated and must handle multiple instruction sets and extra challenges for debugging systems. Most vendors provide a suite of tools that integrate development tasks into a single interface for the developer, simplifying software development and testing. An example of an integrated development environment is the Xilinx ISE Design Suite, which combines traditional software development with the tools needed for creating FPGA designs.
Member Product Information: Xilinx Development Boards and Kits