Beruflich Dokumente
Kultur Dokumente
ReadMe
Version 1.1
CONFIDENTIAL
Copyright 20162016 RT-RK. All rights reserved. No part of this publication may be reproduced, transcribed,
translated or reverse engineered into a computer, software program or other manual without the express written
permission of RT-RK.
RT-RK Institute for Computer Based Systems LLC
Narodnog fronta 23a, 21000 Novi Sad, Serbia
RT-RK
Preliminary Information
Page 1 of 14
Preface
This document describes setup instructions for Vision SDK
framework, and additional changes for AMV Board hardware
initialization.
RT-RK
Preliminary Information
Page 2 of 14
1.
RT-RK
General informations
Preliminary Information
Page 3 of 14
Archive
contains following:
bsp_01_06_00_11
tda2xx
VisionSDK_2.10.00.00 (optional)
BSP_AMV_Addon_ReleaseNotes
NDK_AMV_Addon_ReleaseNotes
VSDK_AMV_Addon_ReleaseNotes
VSDK_AMV_Addon_UserGuide
Before applying our Add-on you need to have CCS (Code Composer Studio)
installed, as well as VisionSDK.
CCS is needed to load, run and debug the software. CCS can be downloaded from
the below provided link. CCS version 6.0.1.00040 or higher should be installed.
http://processors.wiki.ti.com/index.php/Download_CCS (it is preferable to install it in
C:\ti)
VisionSDK should be installed on the C partition. (C:\)
2.
RT-RK
Preliminary Information
Page 4 of 14
# Tools paths
#
# Cortex-M3
ifeq ($(CODEGEN_PATH_M3),)
CODEGEN_PATH_M3 = $
(EXTERNAL_SW_ROOT)/VISION_SDK_02_10_00_00/ti_components/cg_tools/windows/ti-cgtarm_5.2.5
endif
# Cortex-M4
ifeq ($(CODEGEN_PATH_M4),)
CODEGEN_PATH_M4 = $
(EXTERNAL_SW_ROOT)/VISION_SDK_02_10_00_00/ti_components/cg_tools/windows/ti-cgtarm_5.2.5
endif
# Cortex-A
ifeq ($(CODEGEN_PATH_A8),)
CODEGEN_PATH_A8 = $
(EXTERNAL_SW_ROOT)/VISION_SDK_02_10_00_00/ti_components/cg_tools/windows/ti-cgtarm_5.2.5
endif
# For Linaro GCC Cortex-A8
ifeq ($(CODEGEN_PATH_GCC_A8),)
CODEGEN_PATH_GCC_A8 = $
(EXTERNAL_SW_ROOT)/VISION_SDK_02_10_00_00/ti_components/cg_tools/windows/gccarm-none-eabi-4_9-2015q3
endif
# DSP
ifeq ($(CODEGEN_PATH_DSP),)
CODEGEN_PATH_DSP = $
(EXTERNAL_SW_ROOT)/VISION_SDK_02_10_00_00/ti_components/cg_tools/windows/C6000_7
.4.2
endif
# EVE
ifeq ($(CODEGEN_PATH_EVE),)
CODEGEN_PATH_EVE = $
(EXTERNAL_SW_ROOT)/VISION_SDK_02_10_00_00/ti_components/cg_tools/windows/arp32_1
.0.7
endif
#Cortex A15
# For Code Sourcery
#CODEGEN_PATH_A15 = $
(EXTERNAL_SW_ROOT)/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI
# For RVCT
#CODEGEN_PATH_A15 = $(EXTERNAL_SW_ROOT)/ARM_Compiler_5
#For Linaro
ifeq ($(CODEGEN_PATH_A15),)
CODEGEN_PATH_A15 = $
(EXTERNAL_SW_ROOT)/VISION_SDK_02_10_00_00/ti_components/cg_tools/windows/gccarm-none-eabi-4_7-2015q3
endif
RT-RK
Preliminary Information
Page 5 of 14
Now you should be able to start build. Start cmd shell and navigate to
location C:\VISION_SDK_02_10_00_00\vision_sdk. First you need to build lower
levels of Vision SDK framework, i.e. starterware, bsp and edma3 files. Type
command gmake s depend to start building lower levels. After lower level
build successfully passed you need to build Vision SDK example usecases. Type
gmake s command to start building examples. After build successfully
passed you have Vision SDK ready for use.
RT-RK
Preliminary Information
Page 6 of 14
C:/VISION_SDK_02_10
_00_00/ti_components/drivers/bsp_01_06_00_11/include/devices
Copy folders from bsp_01_06_00_11/src/devices to C:/VISION_SDK_02_10
_00_00/ti_components/drivers/ bsp_01_06_00_11/src/devices
Open
Makefile
on
location
C:/
VISION_SDK_02_10_00_00/ti_components
/drivers/bsp_01_06_00_11/src/devices
o To
variable
INCLUDE_EXTERNAL_INTERFACES
starterware_pm_hal (without quotes)
o Add following lines to Makefile:
add
include $(MODULE_SRC_BASE_PATH)/amv_ov490/SRC_FILES_amv_ov490.MK
include
$(MODULE_SRC_BASE_PATH)/amv_i2c_switch/
SRC_FILES_amv_i2c_switch.MK
include $(MODULE_SRC_BASE_PATH)/amv_ub964/SRC_FILES_amv_ub964.MK
include $(MODULE_SRC_BASE_PATH)/amv_ub914/SRC_FILES_amv_ub914.MK
include $(MODULE_SRC_BASE_PATH)/amv_cam_PoC/SRC_FILES_amv_cam_PoC.MK
include $(MODULE_SRC_BASE_PATH)/amv_hdmi/SRC_FILES_amv_hdmi.MK
include $(MODULE_SRC_BASE_PATH)/amv_ub913/SRC_FILES_amv_ub913.MK
RT-RK
Preliminary Information
Page 7 of 14
After these changes, add-on is integrated in build system and BSP components
are successfully rebuilt.
4.1
PHY address
In order to communicate with the PHY and configure it, the software needs
to know which address it corresponds to. ALPHA AMV board has this address
set to 7 for both of PHYs that are present. End-point TDA2XXs(SCV and FUS)
have the same configuration regarding PHY and middle TDA2XX(FFN) must be
configured so it does not expect any PHY connected.
For
that
purpose
you
must
modify
function
GMACSW_Config
#ifdef SCV
*GMACSW_getConfig(void)
is located in file which resides at following path
Vps_printf("SCV Mac that
configuration\r\n");
C:\VISION_SDK_02_10_00_00\vision_sdk\src\utils_common\src\ndk\
pGMACSWConfig->macInitCfg[0].phyMask = 0x1<<7;
pGMACSWConfig->macInitCfg[1].mdioModeFlags
ndk_nsp_hooks.c.
You must ensure that correct =forementioned configuration is done
MDIO_MODEFLG_NOPHY;
for all TDA2XXs.
If you are using clean VisionSDK this can be done if you insert after
#endif
line 494 (just after second #endif directive, before the closing curly brace)
#ifdef FFN
following code
snippet: Mac configuration\r\n");
Vps_printf("FFN
pGMACSWConfig->macInitCfg[i].mdioModeFlags =
MDIO_MODEFLG_NOPHY;
#endif
RT-RK
Preliminary Information
#ifdef FUS
Vps_printf("FUS Mac configuration\r\n");
pGMACSWConfig->macInitCfg[0].phyMask = 0x1<<7;
pGMACSWConfig->macInitCfg[1].mdioModeFlags =
Page 8 of 14
After inserting this snippet you should define one of the following
preprocessor identifiers(SCV, FFN or FUS) in that same file so conditional
compiling can take place.
PHY (de)reset
In oder to enable the reset to be performed correctly the following changes need to
be done. This should be ignored if building for middle one TDA2XX, because he is not
connected to any PHY.
In
file
C:\VISION_SDK_02_10_00_00\vision_sdk\src\utils_common\src\ndk
\ndk_nsp_hooks.c, after this last mentioned modification(RGMII half cycle
Preliminary Information
Page 9 of 14
#ifndef FFN
(*(volatile
(*(volatile
(*(volatile
(*(volatile
#endif
Uint32
Uint32
Uint32
Uint32
*)
*)
*)
*)
Again, make sure one of the preprocessor identifiers(SCV, FFN or FUS) is defined in this
same file.
4.4
In order to enable the RXC and TXC lines delay, the following modification
needs to be done. Function that can be used for this is static void
LOCAL_MDIO_FoundState(MDIO_State *pMdio, PHY_Device *pPhy) which is
defined at C:\VISION_SDK_02_10_00_00\ti_components\networking\
nsp_gmacsw_4_14_00_00\packages\ti\nsp\drv\gmacsw\mdio.c . If using
clean VisionSDK, this can be accomplished with following steps:
C:\VISION_SDK_02_10_00_00\ti_components\networking\nsp_g
macsw_4_14_00_00\packages\ti\nsp\drv\gmacsw\ndk2nsp.c
C:\VISION_SDK_02_10_00_00\ti_components\networking\nsp_g
macsw_4_14_00_00\packages\ti\nsp\drv\gmacsw\nimu_ndk.c
C:\VISION_SDK_02_10_00_00\ti_components\drivers\starterwar
e_01_06_00_16\platform\platform_tda2xx_pad_config.c
Page 10 of
RT-RK
Preliminary Information
14
C:\VISION_SDK_02_10_00_00\ti_components\drivers\bsp_01_06_
00_11\src\platforms\src\bsp_platformTda2xx.c
First two files are used for daisy-chain implementation, third one is used for
RGMII configuration and the last one is modified so muxing is prevented.
If using clean VisionSDK following steps can be done:
1) In file ndk2nsp.c do the following:
a) After line 153 add following line
volatile uint32_t loopCntr
c) In that same function, at its very end add this code snippet(after line
846):
while (0 == loopCntr)
{
GMACSW_ioctl(hNDK2NSP->hGMACSW,
GMACSW_IOCTL_ALE_DUMP_TABLE,
(void *)&cmd,
sizeof(ALE_TableDumpPrintFxn));
}
hNDK2NSP->Filter =
RT-RK
Preliminary Information
Page 11 of
14
void PlatformRGMIISetPinMux(void)
{
PlatformRGMII0SetPinMux();
PlatformRGMII1SetPinMux();
}
4.6
RT-RK
Preliminary Information
Page 12 of
14
In order for the above mentioned changes to make impact, you should build
these libraries using the build command:
xdc
--xdcpath="C:/VISION_SDK_02_10_00_00/ti_components/os_tools/bios_6_46_00
_23 /packages" -P packages/ti/nsp/drv/
from:
C:\VISION_SDK_02_10_00_00\ti_components\networking\nsp_gmacsw_4_14_00_
00
After the completion of the previous command, run the following command:
gmake s depend
from here C:\VISION_SDK_02_10_00_00\vision_sdk\
RT-RK
C:/VISION_SDK_02_10_00_00/vision_s dk/examples/tda2xx/include
Copy
files
from
tda2xx/src/usecases/common
to
C:/VISION_SDK_02_10
_00_00/vision_sdk/examples/tda2xx/src/usecases/common
Copy folders multi_cam_view_alpha_amv and vip_single_cam_ffn_amv
from
tda2xx/src/usecases
to
C:/VISION_SDK_02_10_00_00/vision_sdk/
examples/tda2xx/src/usecases
To variable SRCS_$(IPU_PRIMARY_CORE) in SRC_FILES.MK in C:/
VISION_SDK_02_10_00_00/vision_sdk/examples/tda2xx/src/usecases/
common add chains_common_amv.c and video_sensor_amv.c
(MODULE_SRC_BASE_PATH)/
tda2xx/src/usecases/multi_cam_view_alpha_amv/SRC_FILES.MK and
include
$
(MODULE_SRC_BASE_PATH)/tda2xx/src/usecases/vip_single_
cam_ffn_amv /SRC_FILES.MK in file Makefile on location C:/VISION_
SDK_02_10_00_00/vision_sdk/examples
with
one
from
archive
6.
RT-RK
Preliminary Information
Page 14 of
14