NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Processor SDK Linux HS Support
Last updated: 03/11/2017
This page captures the specific instructions for running Processor SDK Linux Automotive on DRA7xx HS devices as an addendum to Processor SDK Linux Automotive Software Developers Guide.
Contents
Prerequisites[edit]
EVM Hardware[edit]
J6 HS EVM revisions G or H, or J6 ECO HS EVM revisions B or C is required.
TI SECDEV Software[edit]
TI SECDEV software package, version 4.6.0 is required to build boot images for HS EVMs. To obtain TI SECDEV package, please contact a TI representative.
Step 1: Select or create a directory on the development host for SECDEV installation.
Step 2: Export the environment variable TI_SECURE_DEV_PKG_AUTO to point to this path.
Step 3: Create a directory called "dra7" here and extract the contents of the SECDEV package.
In summary, the contents of the SECDEV package must be available at $TI_SECURE_DEV_PKG_AUTO/dra7 for building boot images for HS devices.
Build SDK images for HS[edit]
Yocto system is used to build SDK images for HS devices. Follow the process as documented in the SDG, stop before this running this command.
host $ ./build-core-sdk.sh dra7xx-evm
For J6 Rev. G EVM, there are two patches that are required
Apply the following patch to meta-glsdk, at yocto-layers/sources/meta-glsdk
1. 0001-u-boot-ti-staging-Changes-for-HS-boot-in-Rev-G.patch
Apply the following patch to meta-arago, at yocto-layers/sources/meta-arago
2. 0001-optee-os-Add-patch-for-Rev-G-support.patch
For J6 ECO Rev. B EVM, apply the following patch to meta-glsdk, at yocto-layers/sources/meta-glsdk
1. 0001-u-boot-ti-staging-Changes-for-HS-boot-in-Rev-G.patch
For J6 Rev. H EVM and For J6 ECO Rev. C EVM no patches are required.
Now, run the command below. Note that the machine name must be given as dra7xx-hs-evm for HS devices.
host $ ./build-core-sdk.sh dra7xx-hs-evm
After build is complete the generated images can be found in yocto-layers/build/arago-tmp-external-linaro-toolchain/deploy/images/dra7xx-hs-evm
Image name | Description |
---|---|
tisdk-rootfs-image-dra7xx-hs-evm-<DATE>.rootfs.tar.xz | This is the filesystem tarball. Copy and extract it on the rootfs partition of the boot media. |
u-boot-<MACHINE-NAME>.img | Copy as u-boot.img in boot partition. |
MLO-<MACHINE-NAME> | Copy as MLO in boot partition. |
Note 1 (fitImage.itb): The yocto build does not generate the FIT image incorporating signed Linux kernel zImage, signed DTB files, and OP-TEE OS image. This file must be generated manually using the command below and copied to /boot of rootfs partition.
host $ cd $PSDKLA_INSTALL_DIR/yocto-layers/build/arago-tmp-external-linaro-toolchain/work/dra7xx_hs_evm-linux-gnueabi/linux-ti-staging/<VERSION>/build host $ mkimage -f fit-image.its fitImage.itb
Note 2 (uenv.txt): The build does not generate a uenv.txt. You need to copy it from the prebuilt binaries in the release to boot partition. The following line must be added to boot fitImage.itb for SD card boot:
mmcboot=run update_to_fit;run args_mmc;run loadimage;bootm ${loadaddr}#${fdtfile}
OP-TEE Trusted execution environment[edit]
Processor SDK Linux Automotive supports OP-TEE, a open-source, GlobalPlatform compliant Trusted Execution Environment. OP-TEE components are integrated into the SDK and will be available as a out-of-the-box demo.
1. OP-TEE OS is built as a binary image, signed and included in fitImage.itb to be loaded by u-boot.
2. OP-TEE linux driver is included in TI baseline Linux kernel in SDK.
3. OP-TEE client library and tee-supplicant(userspace components) are included in the SDK filesystem. tee-supplicant daemon is launched into background by default.
Testing OP-TEE[edit]
The SDK filesystem includes the xtest consolidated testing tool from OP-TEE. Running this application with no arguments executes the full test suite and prints out the results, which must look like this:
root@dra7xx-hs-evm:~# xtest ... ... 23519 subtests of which 0 failed 69 test cases of which 0 failed 0 test case was skipped TEE test application done!