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.

Migrating from DSPLink 1 61 to 1 61 03

From Texas Instruments Wiki
Jump to: navigation, search

END OF LIFE

DSP Link is still available for download, but no further releases or updates are planned. Please see IPC Software Options for details and alternatives.

Introduction[edit]

This page gives information for users attempting to move applications from DSPLink v1.61 to v1.61.03

New features in v1.61.03[edit]

Overview[edit]

Major feature additions in DSPLink v1.61.03 are:

  • Support for TSK and SWI modes on DSP-side
  • On Linux, support for kbuild based build for DSPLink kernel module on OMAP3530

Other minor enhancements include:

  • MSGQ_open and MSGQ_close callable from different threads
  • For DA8xx/OMAP-L1xx, configuration option to optionally unlock kick registers.
  • Increase in kernel thread priority for DSPLink DPCs
  • Defect fixes

Details of Major feature additions[edit]

Support for TSK and SWI modes on DSP-side[edit]

This release adds support for usage of TSK or SWI modes on DSP-side.

By default, the DSP-side of DSPLink uses SWIs for MSGQ and CHNL physical transports for communication with the peer transports on the GPP-side. Accordingly, the MPCS (Multi-processor critical section) protection uses SWI_disable/SWI_enable to protect from other local threads, since the DSPLink APIs need to be callable from SWI context.

In pure TSK-only systems, this release now supports applications that wish to reduce the scheduler disable latency. For this, the MPCS implementation supports usage of semaphore for protection from other local threads. Accordingly, the MSGQ and CHNL modules use TSK based servers instead of SWIs for communication with the peer transport on GPP. With this change, the scheduler disable latency gets reduced; however applications must not make any DSPLink calls from SWI context.

In both modes, DSPLink calls from HWI context continue to not be supported.

The choice of whether TSK mode or SWI mode is to be used, is selectable for each DSP in the system from the DSPLink static build configuration script dsplinkcfg.pl. If no specific option is specified, SWI mode is used by default.

On Linux, support for kbuild based build for DSPLink kernel module on OMAP3530[edit]

The DSPLink build system now supports kbuild based build system on OMAP3530 for the kernel module to enable usage with the PSP GIT release for OMAP3530. The user-side library (api) and sample applications on GPP shall continue to be built using the DSPLink build system.

For all other devices, the DSPLink build system shall continue to be used.

Please refer to the section on “Upgrade and compatibility information” for further details on application impact due to this change.

Upgrade and compatibility information[edit]

This section gives the details of backward compatibility and upgrade information for applications to move to DSPLink v1.61.03 from the previous release DSPLink 1.61.
DSPLink 1.61.03 is API and binary compatible with DSPLink 1.61. Other changes that are relevant to applications are listed below.

  • Command line option to enable TSK or SWI mode: Command line option is provided in dsplinkcfg.pl static configuration script to enable TSK mode instead SWI mode. To enable TSK mode, pass –DspTskMode = 1 option to dsplinkcfg.pl script during DSPLink build configuration. This is an optional argument. If not provided, the current default of DSP SWI mode is assumed.
  • On Linux, kernel build system support for OMAP3530: On Linux, Kbuild support is added for building the DSPLink kernel module on OMAP3530. The user-side library and sample applications shall continue to be built using the DSPLink build system.
    • The Rules.mk file in $(DSPLINK)/gpp/src folder needs to be updated to point to the correct paths for the user’s build environment.
    • Please refer to the section 9.4 of InstallGuide_Linux_OMAP3530.pdf to build the OMAP3530 using kernel build system. Application developers need to use the include path and defines from CURRENTCFG.mk.
    • To build on OMAP3530, api folder must be built first before building the gpp/src. The binaries are copied into the appropriate folder similar to the DSPLink build system:

<syntaxhighlight lang='c'> cd $(DSPLINK)/gpp/src cd api make –s [debug | release] cd .. make –s debug make –s release </syntaxhighlight>

    • MSGQ_open and MSGQ_close callable from different threads: The DSPLink protection scheme for MSGQ has now been updated to allow calling MSGQ_close from a different thread than the one that had created the Message Queue using MSGQ_open. However, process level protection still continues, i.e. the Message Queue creation and deletion must happen from threads within the same process.
    • For DA8xx/OMAP-L1xx, configuration option to optionally unlock kick registers: On GPP-side, the configuration file (CFG_<PLATFORM>.c) has been updated to use a DSP argument to indicate whether kick registers should be unlocked by DSPLink. The arg4 field of LINKCFG_dspObject is used for this purpose. On DA8xx, the default configuration does not unlock the registers (value 1). On OMAP-L1xx, the default configuration unlocks the registers (value 0) during PROC_attach.
    • Increase in kernel thread priority for DSPLink DPCs: On Linux, the kernel thread priority for DPCs created by DSPLink has been increased through nice value of -10.
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 Migrating from DSPLink 1 61 to 1 61 03 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 Migrating from DSPLink 1 61 to 1 61 03 here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Migrating from DSPLink 1 61 to 1 61 03 here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Migrating from DSPLink 1 61 to 1 61 03 here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Migrating from DSPLink 1 61 to 1 61 03 here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Migrating from DSPLink 1 61 to 1 61 03 here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Migrating from DSPLink 1 61 to 1 61 03 here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Migrating from DSPLink 1 61 to 1 61 03 here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Migrating from DSPLink 1 61 to 1 61 03 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