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.

PDK/PDK TDA Building The Package

From Texas Instruments Wiki
Jump to: navigation, search
Pdk tda home page.png

Overview[edit]

The PDK comes with pre-built application and libraries for running the demos/examples and everything you need to start writing an application (Note: This is part of the binary package and not available with source only package). However, one may want to customize and rebuild the source. Inside the PDK there is a top-level makefile at <PDK_INSTALL>/packages/ti/build that can be used to build some of the sub-components found within the PDK. Prior to calling this makefile, user needs to get the correct tool chains and setup the environment.

Setting up the environment[edit]

Tool Chain and compilers[edit]

Refer to Release Notes for correct version of tool chain and compiler information.

Updating Rules[edit]

  • Open the Rules.make available at "<PDK_INSTALL>/packages/ti/build" and update SDK_INSTALL_PATH path to <vision_SDK_install_Directory>. For example if the VSDK release 03.02.00.00 is installed at 'c:/ti' update path to c:/ti/PROCESSOR_SDK_VISION_03_02_00_00
   NoteNote:  - Below step is needed only if the compiler and tools are not installed at default location or there is any change in tool chain version.
  • Open the Rules.make available at "<PDK_INSTALL>/packages/ti/build" and update the compiler and tool chain paths under section ifeq ($(BOARD),$(filter $(BOARD), $(BOARD_LIST_J6_TDA)))

Updating System Path[edit]

Kindly make sure to add the path to "gmake" on your system to the system PATH variable.

Build Steps[edit]

This section describes the steps to build the PDK package. For Windows machine, the package is built using the gmake from TI XDC package. For Linux machine, make can be used. In all below commands "gamke" can be replaced with "make" for Linux machine build.
Also makefile internally uses some binaries like rm, mkdir echo from Cygwin.


To build all the examples and libraries you can use following command.

   gmake -s allcores BOARD=tda3xx-evm

<BOARD> can be 'tda3xx-evm', 'tda2xx-evm', 'tda2px-evm', 'tda2ex-evm'. This will build all examples and libraries for all applicable cores.

   gmake -s all BOARD=tda3xx-evm CORE=ipu1_0

<BOARD> can be 'tda3xx-evm', 'tda2xx-evm', 'tda2px-evm', 'tda2ex-evm'.
Note: Build commands for TDA2Ex and TDA2Ex_17x17 are same. These two platforms will be differentiated at run time. Unless otherwise specified all examples and libs built for TDA2Ex will work for TDA2Ex_17x17 also.
<CORE> can be 'ipu1_0', 'ipu1_1', 'ipu2_0', 'ipu2_1', 'a15_0', 'c66x', 'c66xdsp_1', 'c66xdsp_2', 'arp32_1', 'arp32_2', 'arp32_3', 'arp32_4'
This will build all examples and libraries for all applicable cores.

Command to build an examples/demos/libraries you can use following command

   gmake -s <app_name/comp> BOARD=<board> CORE=<core>

Command to clean all targets you can use following command

   gmake -s allcores_clean BOARD=tda3xx-evm

Command to clean everything (all cores and all platforms/boards)

   gmake -s allclean

Command to clean individual targets you can use following command

   gmake -s <target>_clean BOARD=tda3xx-evm CORE=<core>

<app_name/comp> can be found in the make file of the respective examples and library folder.

Note: The executable will be generated under <pdk>/packages/ti/binary/<example> folder. Note: The library will be generated under <pdk>/packages/ti/<component>/lib/<soc>/<core>/<debug/release>/ folder.
IMPORTANT NOTE: If the installation folder depth is high then windows cmd prompt fails with error that it cannot find a file, even if the file is present in mentioned path, this is because Windows has a limitation of 8191 characters for the commands that can execute. In such situation as a workaround either restrict the folder depth to d:/ or if it cannot be restricted use git bash to build. Refer https://support.microsoft.com/en-in/kb/830473 for more details.
(Always point to xdc path gmake only)
IMPORTANT NOTE: If '-j' option is used in windows build and build fails then clean that particular application target and run the same command again w/o '-j' option.

Build Profile[edit]

PDK package can be build in two modes

  • Release mode
  • Debug mode

All the application/libraries will be build in release mode by default. User can build in either mode by setting parameter BUILD_PROFILE while building or edit the Rules.make file.

   gmake -s all BOARD=<platform> BUILD_PROFILE=<release/debug>

Help Menu[edit]

Running below command displays the various build options and targets. Sample output from this shown below.

   gmake -s help
   ------------------------------------------------------
   # PDK make help
   ------------------------------------------------------
   make -s [OPTIONAL MAKE VARIABLES] Note: use gmake for windows
   
   Supported targets:
   ------------------
   all            : Builds all libraries and examples for the provided CORE and BOARD
   allcores       : Builds all libraries and examples for all applicable CORES for a BOARD
   clean          : Cleans all libraries and examples for the provided CORE and BOARD
   allcores_clean : Cleans all libraries and examples for all applicable CORES for a BOARD
   allclean       : Removes the binary directory using rm -rf
   examples       : Builds all examples
   pdk_libs       : Builds all libraries
   pdk_app_libs   : Builds all application utility libaries
   <Module>       : Builds a module. Possible values:
   [ csl_init csl_intc csl csl_utils_common csl_uart_console csl_utils_i2c board pm_hal pm_hal_optimized pm_lib pm_lib_optimized 
     pm_rtos sbl_lib sbl_utils diag firewall_l3l4 ipc_lib security norflash_lib qspiflash_lib  i2c_lld stw_platform stw_uartconsole 
     stw_fatlib stw_fatlib_edma stw_boards stw_devices stw_examples_utility vps_osal_baremetal vps_common vpslib vpsdrv_baremetal 
     fvid2 vps_osal_tirtos vps_osal_tirtos_smp vpsdrv vps_platforms vps_devices vps_boards vps_examples_utility osal_nonos 
     osal_nonos_indp osal_tirtos osal_tirtos_indp i2c i2c_indp i2c_profile i2c_profile_indp uart uart_dma uart_profile 
     uart_dma_profile uart_indp uart_profile_indp uart_console fatfs_indp fatfs_profile_indp mmcsd mmcsd_dma mmcsd_profile 
     mmcsd_dma_profile mmcsd_indp mmcsd_profile_indp pruss pruss_indp pruss_profile pruss_profile_indp spi spi_dma spi_profile 
     spi_dma_profile spi_indp spi_profile_indp  bsp_i2c bsp_uart bsp_mcspi]
   
   <Module_App>   : Builds an application. Possible values:
   [  csl_edma_test_app csl_i2c_led_blink_app csl_mailbox_sender_receiver_app csl_uart_test_app csl_uart_intr_test_app 
      csl_uart_edma_test_app csl_mcasp_transmit_app csl_mcspi_masterslave_app csl_spinlock_test_app csl_gpio_toggle_app 
      csl_gpio_interrupt_app csl_xmc_mpu_test_app csl_mmc_raw_access_app csl_dcan_loopback_app csl_qspi_test_app 
      csl_nor_read_write_app csl_wdtimer_reset_app csl_timer_app csl_pcie_ep_write_loopback_app csl_pcie_rc_write_loopback_app 
      csl_mmu_tlb_twl_app csl_mmu_a15_data_validation_app csl_mmu_translation_fault_handle_app csl_crc_semicpu_test_app 
      csl_ecc_test_app csl_ocmc_basic_test_app csl_esm_eve_reset_test_app csl_dcc_singleshotmode_app csl_rti_dwwd_test_app 
      csl_adc_singleshot_test_app csl_epwm_duty_cycle_test_app csl_mcan_evm_loopback_app csl_ddr_test_app  csl_mcan_unit_test_app  
      pm_systemconfig_app pm_arp32_cpuidle_app pm_clkrate_app pm_cpuidle_app pm_junction_temp_app pm_ina226_app pm_core_loading_app 
      pm_rtos_app pm_rtos_thermal_app  sbl sbl_multicore_mbx diag_ipu_ecc_test  drv_firewall_l4_test_app drv_firewall_l3_test_app 
      drv_l3_firewall_mreqDomain_test_app  ipc_lite_mbx_test_app  security_efuse_test_app nor_flash_writer qspi_flash_writer   
      vps_examples_vip_baremetal vps_examples_ovsensor_baremetal drv_stw_lld_i2c_eeprom_app drv_stw_lld_edid_programmer_app 
      drv_stw_lld_i2c_slave_app drv_stw_lld_mcasp_sinetone_app drv_stw_lld_dcan_evm_loopback_app drv_stw_lld_dcc6_32k_rc_oscclk_app 
      drv_stw_lld_mmcsd_file_io_app diag_test_app  adc_unit_test_app crc_unit_test_app dcan_unit_test_app dcan_unit_test_stub_app 
      dcc_unit_test_app ecc_unit_test_app esm_unit_test_app mcspi_unit_test_app qspi_unit_test_app l3fw_permission_all_unit_test_app 
      l3fw_writeonly_unit_test_app pmlib_autocg_unit_test_app pmlib_idle_unit_test_app pmlib_pdoff_unit_test_app pm_leakage_unit_test_app 
      pmhal_dpll_core_sysclk2_unit_test_app pmhal_coldreset_unit_test_app pmhal_warmreset_unit_test_app pmhal_vm_unit_test_app 
      pmlib_clkrate_unit_test_app pmlib_syscfg_unit_test_app pmlib_videopll_unit_test_app pmlib_videopllcalc_unit_test_app 
      pmhal_dpll_fracm_unit_test_app rti_dwwd_generate_reset_unit_test_app rti_dwwd_nmi_generation_unit_test_app 
      rti_dwwd_reaction_change_in_closed_window_unit_test_app rti_dwwd_reaction_change_in_open_window_unit_test_app 
      rti_dwwd_reset_status_unit_test_app rti_dwwd_suspend_dsp_core0_unit_test_app rti_dwwd_suspend_dsp_core1_unit_test_app 
      rti_dwwd_suspend_eve_unit_test_app rti_dwwd_suspend_ipu_core0_unit_test_app rti_dwwd_suspend_ipu_core1_unit_test_app 
      rti_dwwd_wz_100_unit_test_app rti_dwwd_wz_12_5_unit_test_app rti_dwwd_wz_25_unit_test_app rti_dwwd_wz_3_125_unit_test_app 
      rti_dwwd_wz_50_unit_test_app rti_dwwd_wz_6_25_unit_test_app  vps_examples_dss_baremetal vps_examples_DisplayDssBareMetal 
      vps_examples_loopback_baremetal vps_examples_loopbackBareMetal vps_examples_isscapt_baremetal vps_examples_displayDss 
      vps_examples_displayDssLowLatency vps_examples_displayDssWb vps_examples_m2mDssWb vps_examples_captureIss vps_examples_captureIssOtf 
      vps_examples_issLoopback vps_examples_m2mIss vps_examples_m2mSimcopLdcVtnf vps_examples_m2mIssWdr vps_examples_loopback 
      vps_examples_syncLoopback vps_examples_captureVip vps_examples_subFrmCaptureVip vps_examples_m2mVpeScale vps_examples_ccsProjectMetaFiles 
      vps_test_capture vps_test_display vps_test_vpe vps_test_cascade_radar vps_test_monitor_radar vps_test_queue_utils  
      osal_baremetal_test drv_i2c_led_blink_test drv_uart_polling_mode_app drv_uart_intr_mode_app pruss_app_sorte_slave pruss_app_sorte_master 
      drv_mcspi_loopback_app   bsp_examples_i2c_led_blink bsp_examples_i2c_utility  bsp_examples_uart_echo bsp_test_uart  
      bsp_examples_mcspi_loopback bsp_examples_mcspi_spi1tospi2   sbl_all sbl_all_opps   l3fwUt pmUt rtiUt]
   
   Optional make variables:
   ------------------------
   BOARD=[evmDRA72x evmDRA75x evmDRA78x evmAM572x idkAM572x idkAM571x idkAM574x tda2xx-evm tda2ex-evm tda3xx-evm tda2px-evm tda2xx-evm-radar tda2px-evm-radar tda3xx-evm-radar tda3xx-ar12-booster tda3xx-ar12-alps tda3xx-ar12-rvp tda2ex-eth-srv tda2xx-rvp tda3xx-rvp]
       Default: tda2xx-evm
   CORE=[a15_0 ipu1_0 ipu1_1 ipu2_0 ipu2_1 c66x c66xdsp_1 c66xdsp_2 arp32_1 arp32_2 arp32_3 arp32_4 arm9_0 c674x]
       Default: Depends on the platform
   BUILD_PROFILE=[release debug]
       Default: debug
   OS=[Windows_NT linux]
       Default: Windows_NT
E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article PDK/PDK TDA Building The Package here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article PDK/PDK TDA Building The Package here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article PDK/PDK TDA Building The Package here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article PDK/PDK TDA Building The Package here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article PDK/PDK TDA Building The Package here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article PDK/PDK TDA Building The Package here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article PDK/PDK TDA Building The Package here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article PDK/PDK TDA Building The Package here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article PDK/PDK TDA Building The Package here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity