Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI-RTOS
Background:
We have the TDA2Px EVM with Fusion board. I am running Code Composer Studio 8.0.0.00016 on Windows 10 with Processor SDK RADAR 3.3.0.0 and Processor SDK VISION 3.3.0 installed in different subdirectories (i.e. C:/ti/PROCESSOR_SDK_VISION_03_03_00_00). Please see the numbered list of questions and context below.
UART output works from PDK uart_test_app:
I built the PDK uart_test_app (gmake -s csl_uart_test_app BOARD=tda2px-evm CORE=a15_0), and was able to communicate with the board over a USB/UART cable connected to the mini A/B USB marked Terminal on the board, using Port COM5 via Tera Term (115200 baud, 8 bits, no parity, 1 stop bit, no flow control). I used the same serial settings when I had connection problems below.
No UART output from sample_app / ipc_PATH warning:
When trying to build the sample_app initially, there was a fatal error:
"system_ipc_bios_ipc.c", line 88: fatal error: cannot open source file "ti/ipc/Ipc.h"
Since then, I have used the Processor SDK VISION 3.3.0 installation, which appears to the be mostly the same as RADAR but includes the missing file(s). However, I still get a build warning that ipc_PATH is not set.
"C:/ti/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/configs/autorules_footer_cfg.mk:78: ipc_PATH does not exist! ()"
The Processor SDK Radar User Guide FAQ says that is a harmless warning since this is an optional component. I could not get the UART to work with the sample_app.
1. Is the undefined ipc_PATH relevant to this UART communication problem?
No UART or Ethernet from tda2px_evm_bios_radar:
I didn't see any output over UART or Ethernet when building and running the tda2px_evm_bios_radar use case. For the initial attempt, I modified Rules.make (MAKEAPPNAME?=apps, MAKECONFIG?=tda2px_evm_bios_radar), and ran gmake -s -j depend followed by gmake -s -j in the vision_sdk/build directory. The build seemed to work fine except for the ipc_PATH warning mentioned above.
For my next attempts, I configured Ethernet to have static IP rather than DHCP, and set a manual IP4 address within the same subnet on my workstation. I can ping the EVM successfully. I set PROFILE=debug in tda2px_evm_bios_radar/cfg.mk. I enabled all the remote logging flags in vision_sdk/apps/configs/defaults.mk:
ENABLE_UART_LOG=yes
ENABLE_NETWORK_LOG=yes
ENABLE_CCS_LOG=yes
CIO_REDIRECT=yes
See configuration output below.
2. Is it OK to enable all of these remote logging flags at once (I believe so)?
I ran the network console tool with the default port settings (9000/9001), and started Tera Term, then launched the code in CCS via JTAG (XDS200) following the PDF instructions. There was no UART output except from the bootloader, and c:/ti/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/tools/network_tools/bin/network_cons.exe was unable to connect using the default port settings. I tried the above procedure again with network_cons.exe --ipaddr 192.168.1.200 --port 5000 5000, and network_cons was able to connect but never displayed any output.
3. What are the correct network_cons.exe settings for Tx, Rx ports?
4. How come Vps_printf() does not produce any output over UART, Ethernet, or to the CCS console?
CCS launch process:
The process of loading and starting the code from CCS is tedious (Connect to A15, run multicore initialization script, connect to all other cores, reset all cores, load files to each core individually, start each core individually...).
5. Is there a good way to automate the CCS launch process, i.e. with a custom .gel script?
6. Can I load the programs for all cores from the SBL via the SD card and still set breakpoints in the debugger?
USB 3:
7. What support/examples are available for getting USB 3 working on this EVM? It appears that there is USB support available for other processors, but not the TDA2x family
Configuration output from gmake -s -j showconfig:
# Build Config is [ tda2px_evm_bios_radar ]
# Build Config file is @ C:/ti/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/configs/tda2px_evm_bios_radar/cfg.mk
# Build Config .h file is @ C:/ti/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/include/config/apps/tda2px_evm_bios_radar/system_cfg.h
# Build CPUs is @ ipu1_0 ipu1_1 dsp1 eve1
#
# CPUs included in application,
# PROC_IPU1_0_INCLUDE=yes
# PROC_IPU1_1_INCLUDE=yes
# PROC_IPU2_INCLUDE=no
# PROC_DSP1_INCLUDE=yes
# PROC_DSP2_INCLUDE=no
# PROC_EVE1_INCLUDE=yes
# PROC_EVE2_INCLUDE=no
# PROC_EVE3_INCLUDE=no
# PROC_EVE4_INCLUDE=no
# PROC_A15_0_INCLUDE=no
#
# Platform config,
# VSDK_BOARD_TYPE=TDA2PX_EVM [options: TDA2XX_EVM TDA2EX_EVM TDA3XX_EVM TDA3XX_RVP TDA2XX_RVP]
# PLATFORM=tda2px-evm
# DUAL_A15_SMP_BIOS=no
# DDR_MEM=DDR_MEM_512M [options: DDR_MEM_128M DDR_MEM_512M DDR_MEM_1024M]
# NDK_PROC_TO_USE=ipu1_1 [options: a15_0 ipu1_0 ipu1_1 ipu2 none]
# NSP_TFDTP_INCLUDE=yes [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=no
# ISS_INCLUDE=no
# ISS_ENABLE_DEBUG_TAPS=no
# WDR_LDC_INCLUDE=no
# DSS_INCLUDE=yes
#
# Open Compute config,
# OPENCL_INCLUDE=no
# TARGET_ROOTDIR=C:/ti/PROCESSOR_SDK_VISION_03_03_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=yes
# ENABLE_CCS_LOG=yes
# CIO_REDIRECT=yes
#
# IPC config,
# WORKQ_INCLUDE=yes
# IPC_LIB_INCLUDE=yes
#
# Surround View config,
# SRV_FAST_BOOT_INCLUDE=no
#
# Other Module config,
# AVB_INCLUDE=no
# DCAN_INCLUDE=no
# RADAR_INCLUDE=yes
# CPU_IDLE_ENABLED=no
# FAST_BOOT_INCLUDE=no
# DATA_VIS_INCLUDE=no
# HS_DEVICE=no
# ULTRASONIC_INCLUDE=no
#
# 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_radarprocess
#
# Use-cases included in build,
# UC_radar_read_fft_write
#
# vision_sdk_CFLAGS = -DTDA2PX_BUILD -DTDA2XX_FAMILY_BUILD -DSOC_TDA2PX -DPLATFORM_EVM_SI -D_DRA7xx -D_SC_VER_1_16 -D__sysbios__ -DTDA2XX_512MB_DDR -DUTILS_ASSERT_ENABLE -DFVID2_BACKWARD_COMPATIBLE -DUSE_STD_ASSERT -DTRACE_ENABLE -DASSERT_ENABLE -DENABLE_UART_LOG -DENABLE_NETWORK_LOG -DENABLE_CCS_LOG -D_GNU_SOURCE -DBOARD_TYPE_TDA2PX_EVM -DIPU_PRIMARY_CORE_IPU1 -DIPU_SECONDARY_CORE_IPU2 -DIPC_LIB_INCLUDE -DCIO_REDIRECT
(I added the vision_sdk_CFLAGS entry.)
Thanks for your help!