Community Linux DVEVM Software Migration Guide
From Texas Instruments Wiki
This document describes component-level modifications in the DVSDK 3.10 release from the DVSDK 2.xx releases, and serves as an aid for migrating existing applications.
Overall Package Related Changes
The main package modifications are as given below:
- PSP precompiled binaries are now provided in a new package. Please refer to Installing_Software_Components for further details.
- XDCtools are now bundled with the DVSDK package.
Component Level Changes
Arago is a Open Embedded based tool that is used internally at TI to create the DVSDK software source tarballs. At this time, it is not available for external users. The exception is, the PSP components are available in Arago framework externally. The PSP online documentation (Release Notes, User Guide) provides further information. All the components required for DVSDK development or testing are available in form of binary installers or tar balls from download page. The DVSDK 3.10 users are not required to use Arago for their development for any of the components.
The PSP component has migrated from a MontaVista-based Linux kernel (i.e., Linux kernel version 2.6.18) to Linux PSP GIT (i.e., Linux kernel version 2.6.32). For installation details, please refer to PSP Installation UserGuide for DM3xx platforms and PSP Installation UserGuide for DM6467/DM6467t platforms.
The PSP defaults to the JFFS2 file system in DVSDK 3.10. The entire NAND flash will need to be erased and the Bad Block Tables need to be re-written for old EVMs. The procedure to erase the flash is provided in Flashing_DM365_EVM_using_NAND_Writer page.
NOTE: The new Linux kernel requires that U-Boot and the filesystem be updated. These images are provided as a part of the release items.
Tool chain changes
The toolchain have been changed from MontaVista-based tool chain to the CodeSourcery tool chain (arm2009q1). Please refer to Getting_CodeSourcery_Toolchain for download and installation information.
Note: All components are modified to work with the Linux PSP GIT (Linux kernel version 2.6.32)
Default filesystem changes
The default filesystem provided by the DVSDK release is changed from DVSDK 2.X to DVSDK 3.10. The DVSDK 2.X release used to have Monta Vista based file system. The DVSDK 3.10 does not include the Monta Vista filesystem. One of the visible difference is this new file system uses ash shell. So the existing bash shell scripts might required to be ported to ash scripts.
DSPLink directory structure change (Makefile change required if upgrading from DVSDK 2.xx releases)
The DSPLink applications that support multiple platforms and multiple DVSDK versions rely on RTSC to pull in DSPLink for the appropriate platforms and DVSDK versions. This was previously done by adding "$(LINK_INSTALL_DIR)/packages" to the XDCPATH during the build. Starting with DVSDK 3.10, the "$(LINK_INSTALL_DIR)/packages" is no longer the XDC root for DSPLink. The "packages" directory has been removed, so the XDC root is "$(LINK_INSTALL_DIR)".
Change required in application makefiles:
The variable XDCPATH should have $(LINK_INSTALL_DIR) instead of $(LINK_INSTALL_DIR)/packages.
(Where LINK_INSTALL_DIR variable points to root of DSPLink package, for eg:, <DVSDK installation directory>/dsplink_linux_1_64).
All build systems using previous DVSDK versions must now be updated to handle this directory change. Furthermore, applications that support multiple platforms and multiple DVSDK versions must now implement the necessary infrastructure to handle it both ways.
DVSDK make infrastructure changes
Following are the DVSDK makefile changes (Please type make help to see the details)
- The DVSDK makefile does not have rules for examples, psp_examples
- Rules to build edmak, irqk, ce_examples and rule to install dmai applications has been added
- The DM365 DMAI application requires the script loadmodules_hd.sh to be provided as a part of the demo application.
- Very limited testing was done on the DMAI kernel allocated buffer for v4l2 driver capture/display module.
- The DMAI V4L2 display module extracts lineLength from the user allocated buffer and passes it to the display driver as bytesperline. This will support DMAI to display buffers with linelength different from its actual width. The DMAI v4l2 display module uses x, y position values passed as the hBuf parameter to calculate the start address of the display data.
- The key values in the IR remote module have been changed and new key have been added to support the IR remote that is provided in the EVM; The DM355/DM365 IR remote module in DMAI uses a user event driver instead of reading from the I2C.
- The DMAI sound module defaults to ALSA (rather than OSS in DVSDK 2.X).
DVSDK Demo changes
- The loadmodules.sh should be used with DM365 demos; The loadmodules_hd.sh provided is to be used for DMAI applications only
- The DM365 encode/decode demo uses HDVICP based MPEG4 codecs
- All demos are tested with the Phillips SRU4004/27 IR remote control
DM365/DM355 DVSDK demo file system image
The DVSDK demo system image is not provided as part of DVSDK 3.10 download. Please follow the DM3xx restore procedure to create demo filesystem image and write it to NAND.