среда, 12 августа 2020 г.

ti vision sdk and sys/bios (ti-rtos)

ti vision sdk 03_06_00_00 download (03_08_00_00):
1. Описание сборки  исходников vision sdk под винду 10/7 vision sdk 03_06_00_00 здесь, инструкция по редактированию мэйкфайлов здесь

Прописываем в винде в переменную окружения PATH путь к gmake: C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\os_tools\windows\xdctools_3_32_01_22_core в соответствии с второй частью руководства.

1.1. Собираем статические либы для ipu0 arm-cortex-m4 конфигурацию tda3xx_evm_bios_iss в debug.

В соответствии с упомянутым руководством изменяем в файле C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build\Rules.make:
- строчку MAKEAPPNAME?=apps
- строчку MAKECONFIG?=tda3xx_evm_bios_iss
- строчку BUILD_OS ?= Windows_NT

Меняем в файле 
C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\apps\configs\tda3xx_evm_bios_iss\cfg.mk:
- строчку PROFILE=debug

Запускаем терминал, переходим в папку C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build и запускаем, чтобы подтвердить, что выбрана правильная конфигурация сборки:

gmake showconfig

Получаем следующий вывод:

C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build>gmake -s -j showconf
ig
#
# Build Config is [ tda3xx_evm_bios_iss ]
# Build Config file is @ C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/c
onfigs/tda3xx_evm_bios_iss/cfg.mk
# Build Config .h file is @ C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sd
k/links_fw/include/config/apps/tda3xx_evm_bios_iss/system_cfg.h
# Build CPUs is @ ipu1_0
#
# CPUs included in application,
# PROC_IPU1_0_INCLUDE=yes
# PROC_IPU1_1_INCLUDE=no
# PROC_IPU2_INCLUDE=no
# PROC_DSP1_INCLUDE=no
# PROC_DSP2_INCLUDE=no
# PROC_EVE1_INCLUDE=no
# PROC_EVE2_INCLUDE=no
# PROC_EVE3_INCLUDE=no
# PROC_EVE4_INCLUDE=no
# PROC_A15_0_INCLUDE=no
#
# Platform config,
# VSDK_BOARD_TYPE=TDA3XX_EVM [options: TDA2XX_EVM TDA2EX_EVM TDA3XX_EVM TDA3XX_R
VP TDA2XX_RVP]
# PLATFORM=tda3xx-evm
# DUAL_A15_SMP_BIOS=no
# IPU1_SMP_BIOS=no
# DDR_MEM=DDR_MEM_512M [options: DDR_MEM_128M DDR_MEM_512M DDR_MEM_1024M]
# EMIFMODE=SINGLE_EMIF_512MB [options: SINGLE_EMIF_512MB SINGLE_EMIF_1GB ref bui
ld_pdk.mk]
# NDK_PROC_TO_USE=none [options: a15_0 ipu1_0 ipu1_1 ipu2 none]
# NSP_TFDTP_INCLUDE=no [options: yes no]
# TDA2EX_ETHSRV_BOARD=no [options: yes no]
# FATFS_PROC_TO_USE=ipu1_0 [options: ipu1_0 none]
# RADAR_BOARD=none [options: TDA3XX_AR12_ALPS TDA3XX_AR12_VIB_DAB_BOOSTER TDA3XX
_RADAR_RVP none]
#
# Build config,
# BUILD_OS=Windows_NT [options: Windows_NT Linux]
# BUILD_DEPENDENCY_ALWAYS=no
# BUILD_ALGORITHMS=no
# BUILD_INFOADAS=no
# PROFILE=debug [options: debug release]
# KW_BUILD=no
# CPLUSPLUS_BUILD=no
# IPU_PRIMARY_CORE=ipu1_0 [options: ipu1_0 ipu2]
# IPU_SECONDARY_CORE=ipu2 [options: ipu1_0 ipu2]
# A15_TARGET_OS=Bios [options: Bios Linux Qnx]
# BSP_STW_PACKAGE_SELECT=all [options: all vps-iss-dss-only vps-vip-vpe]
#
# Safety Module config,
# RTI_INCLUDE=no
# ECC_FFI_INCLUDE=no
# DCC_ESM_INCLUDE=no
#
# Video Module config,
# IVAHD_INCLUDE=no
# VPE_INCLUDE=no
# CAL_INCLUDE=yes
# ISS_INCLUDE=yes
# ISS_ENABLE_DEBUG_TAPS=no
# WDR_LDC_INCLUDE=yes
# DSS_INCLUDE=yes
#
# Open Compute config,
# OPENCL_INCLUDE=no
# TARGET_ROOTDIR=C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/
rtos/opencl
# ENABLE_OPENCV=no
# ENABLE_OPENCV_TESTS=no
# OPENVX_INCLUDE=no
#
# Log config,
# ENABLE_UART_LOG=yes
# ENABLE_NETWORK_LOG=no
# ENABLE_CCS_LOG=no
# CIO_REDIRECT=yes
#
# IPC config,
# WORKQ_INCLUDE=no
# IPC_LIB_INCLUDE=no
#
# AUTOSAR_APP=no
#
# Surround View config,
# SRV_FAST_BOOT_INCLUDE=no
#
# Other Module config,
# AVB_INCLUDE=no
# DCAN_INCLUDE=no
# RADAR_ONLY=no
# CPU_IDLE_ENABLED=no
# FAST_BOOT_INCLUDE=no
# DATA_VIS_INCLUDE=no
# HS_DEVICE=no
# ULTRASONIC_INCLUDE=no
# PGA450=
# PGA460=
# ENABLE_ALL_DEPTH=
#
# Linux config,
# DEFAULT_UBOOT_CONFIG=dra7xx_evm_vision_config
# DEFAULT_KERNEL_CONFIG=ti_sdk_dra7x_release_defconfig
# DEFAULT_DTB=dra7-evm-infoadas.dtb
# CMEM_INCLUDE=no
# IPUMM_INCLUDE=no
# IPU1_EVELOADER_INCLUDE=no
# ROBUST_RVC_INCLUDE=no
# BUILD_ADAM_CAR=no
#
# Alg plugins included in build,
# ALG_sceneobstruction ALG_iss_aewb
#
# Use-cases included in build,
# UC_iss_capture_isp_simcop_display
#
#
# CPUs that are NOT required but included in config [ tda3xx_evm_bios_iss ],
#
#
# CPUs that are required but not included in config [ tda3xx_evm_bios_iss ],
#
#
# Edit C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/configs/tda3xx
_evm_bios_iss/cfg.mk to include or exclude CPUs in an application
#

Варианты сборки получаем выполнением команды gmake help:

C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build>gmake help
#
# Vision SDK Build System
#
# Basic targets,
# gmake -s -j showconfig // Show current build config
# gmake -s -j depend // Generate config, Build PDK, EDMA3LLD, touch dependa
nt files
# gmake -s -j // Incremental build, build vision sdk lib, alg_plugin
s, apps, binaries
# gmake -s -j appimage // Generate bootable application image
# gmake -s -j sbl // Generate SBL including SBL firmware for all boot mo
des
#
# Advanced targets,
# gmake -s -j makeconfig // Generate config related files
# gmake -s -j pdk // Build PDK
# gmake -s -j edma3lld // Build EDMA3LLD
# gmake -s -j algorithmslib // Build Algorithm libraries
# gmake -s -j links_fw_libs // Build Vision SDK framework library
# gmake -s -j vision_sdk_alg_plugins // Build Vision SDK algo plugins
# gmake -s -j apps // Build Vision SDK BIOS applications binar
ies
#
# Linux related targets,
# gmake -s -j linux // Build linux kernel, uboot, sgx drivers
# gmake -s -j linux_install // Install kernel, uboot, sgx files into filesys
tem
# gmake -s -j vision_sdk_linux // Build Vision SDK linux side library and binar
ies
# gmake -s -j uboot // Build uboot
# gmake -s -j kernel // Build kernel
# gmake -s -j sgx // Build sgx drivers
#
# Qnx related targets,
# gmake -s -j vision_sdk_qnx // Build Vision SDK qnx side library and binaries
#

Запускаем сборку зависимостей (Incremental build, build vision sdk lib, alg_plugin
s, apps, binaries):
gmake

Получаем при сборке следующее сообщение: "C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/draw2d/draw
2d_font_bmp.c", line 61: fatal error: cannot open source file "system_cfg.h"
1 catastrophic error detected in the compilation of "C:/ti_830/PROCESSOR_SDK_VIS
ION_03_06_00_00/vision_sdk/apps/src/rtos/draw2d/draw2d_font_bmp.c".
Compilation terminated.

Этого файла нет в vision sdk, просто комментим в файле draw2d_font_bmp.c включение:

//#include <system_cfg.h>
#include <src/rtos/draw2d/draw2d_priv.h>


Также поступаем с файлами:
"C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\common\alg_functions.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/radar/inclu
de/common/chains_radar.h",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/radar/inclu
de/common/chains_radar_cfg.h",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_stereo.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_avb.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_multi_cam.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_single_cam.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_iss.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_opencl.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_misc.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_vision.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_rsvp.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_tidl.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_cam_radar_combo.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/modules/grpxSrc/grpxSrcLink_tsk.c",
"C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/rtos/modules/grpxSrc/grpxSrcLink_Tda3x2D3DSv_layout.c".

Также исправления:

1) gmake C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/apps/tda3xx_evm_bios_iss/lib/tda3xx-evm/ipu1_0/debug/links_common_system.aem4
...
"system_initDeinitLinks.c", line 110: fatal error: cannot open source file "linksInclude_ipu1_0.h"
1 catastrophic error detected in the compilation of "system_initDeinitLinks.c".
Compilation terminated.

Комментим в файле C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\links_fw\src\rtos\links_common\system\system_initDeinitLinks.c строчку:

#ifdef BUILD_M4_0
    //#include <linksInclude_ipu1_0.h>
#endif

2) C:/ti_830/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/cg_tools/windows/ti-cgt-arm_16.9.2.LTS/bin/armcl - ... algorithmLink_cfg.c
"algorithmLink_cfg.c", line 79: fatal error: cannot open source file "system_cfg.h"

Комментим в файле C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\links_fw\src\rtos\links_common\algorithm\algorithmLink_cfg.c строчку

//#include <system_cfg.h>

3) # Compiling tda3xx-evm:ipu1_0:debug:utils_common: network_tfdtp_api.c

C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\links_fw\src\rtos\utils_common\src\network_tfdtp_api.c

//#include <system_cfg.h>

В итоге в папке 
C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\binaries\apps\tda3xx_evm_bios_iss
получаем собранные статические либы.

1.2. Собираем статические либы для всех ядер tda3x для конфигурации tda3xx_evm_bios_all в release.

В соответствии с упомянутым руководством изменяем в файле C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build\Rules.make:
- строчку MAKEAPPNAME?=apps
- строчку MAKECONFIG?=tda3xx_evm_bios_all

Меняем в файле 
C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\apps\configs\tda3xx_evm_bios_all\cfg.mk:
- строчку PROFILE=debug

Запускаем сборку зависимостей :
gmake

1.3. Собираем pdk:

gmake -s -j pdk



В числе прочего были собраны либы pdk (gmake pdk - запускает сборку либ отдельно). Они находятся в подпапках 
C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\drv, а также в папках:
1) C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\csl\lib\tda3xx\m4\debug
2) C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\diag\lib\tda3xx\m4\debug

Меня интересуют проект vps, вернее, примеры к нему. Путь к статическим либам:
1) C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\drv\vps\lib\tda3xx\ipu1_0\debug\:
- vps_osal_baremetal.aem4
2) C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\drv\vps\lib\tda3xx\m4\debug\:
- vps_common.aem4
- vps_devices.aem4
- vps_osal_baremetal.aem4
- vps_platforms.aem4
- vpsdrv.aem4
- vpsdrv_baremetal.aem4
- vpslib.aem4
3) C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\drv\vps\lib\tda3xx-evm\m4\debug:
- vps_boards.aem4
- vps_examples_utility.aem4



2. Сборка лежащего внутри sysbios 6_46_06_00.

Инструкция по сборке с помощью прилагающихся мэйфайлов описана в разделе A официальной доки TI-RTOS kernel (SYS/BIOS) user's guide здесь.

Копируем папку, содержащую sysbios, в другую (у меня C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\os_tools\copy_to_rebuild_bios_6_46_06_00); оставим основную папку нетронутой, все действия будем производить с бэкапом.

Редактируем файл bios.mak, изменим следующие строчки:

XDC_INSTALL_DIR ?= C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\os_tools\windows\xdctools_3_32_01_22_core

ti.targets.C674 ?= C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\cg_tools\windows\ti-cgt-c6000_8.2.4

ti.targets.arm.elf.M4 = C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\cg_tools\windows\ti-cgt-arm_16.9.2.LTS

gnu.targets.arm.M4 ?= C:\ti_830\ccsv8\tools\compiler\gcc-arm-none-eabi-7-2017-q4-major-win32

XDCOPTIONS=v

Сохраним изменения в файле. Запускаем сначала очистку, затем сборку:

cd C:\ti_830\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\os_tools\copy_to_rebuild_bios_6_46_06_00
gmake -f bios.mak clean
gmake -f bios.mak


ti-rtos sys/bios:
2) TI-RTOS Kernel (SYS/BIOS) User's Guide https://www.ti.com/lit/ug/spruex3v/spruex3v.pdf

arm cortex-m4:
tda pdk:
1) (!) PDK/PDK Application Notes Video Driver Porting
3) (!) PDK/PDK VPS FVID2 User Guide 

Комментариев нет:

Отправить комментарий