TI-RTOS Based Example Compilation Fails During XDCtools Pre-Build Step¶
In IAR EWARM or CCS, the XDCtools pre-build step for examples based on TI-RTOS fails with an error message that refers to the first part of a directory path containing spaces.
This happens if creation of 8.3 filename equivalents in Windows has been turned off (
NtfsDisable8dot3NameCreation ). XDCtools relies on these short names to support directories with spaces.
In the Sensor Controller Studio Example Configuration dialog, output the example to a directory path that does not contain spaces. Then re-open the IAR EWARM or CCS project from that location.
Note that this does not fix the underlying problem.
TI-RTOS Based Example Compilation Fails When Using Overrides in the Example Configuration¶
In IAR EWARM or CCS, the XDCtools pre-build step for examples based on TI-RTOS fails with error message “xdc.services.global.XDCException: xdc.MODULE_NOT_FOUND: xdc.module: no module named ‘Config’ in the package ti.drivers” or similar.
This happens if there are significant structural differences between the selected SDK release and the TI-RTOS version specified through overrides.
Close the IAR EWARM or CCS project.
In the Sensor Controller Studio Example Configuration dialog, select the best matching SDK release . See the Compatibility section in the Revision History for details.
Output the example and re-open the IAR EWARM or CCS project.
If the above does not help, install an SDK release that is listed as supported by the example configuration.
TI-RTOS Based CC13xx/CC26xx Application Stops Working When Using the SCIF Driver¶
A TI-RTOS based application behaves correctly when it contains no SCIF (Sensor Controller Interface) driver, but stops working when a SCIF driver is used.
This will happen if the operating system selection in the Sensor Controller project (that produces the SCIF driver) is wrong. The application malfunctions because that SCIF driver’s OSAL (operating system abstraction layer) performs system operations that are in conflict with TI-RTOS.
Note also that the TI-RTOS OSAL requires extra initialization. See the documentation of the generated driver for details (top of
CC13xx/CC26xx Application with Multi-Threaded Sensor Controller Task Control Malfunctions¶
An application that performs Sensor Controller task control operations (
scifWaitOnNbl() ) from multiple threads of execution does not behave correctly.
One logical sequence of task control operations interrupts another.
Follow these guidelines when controlling Sensor Controller tasks from multiple threads of execution:
- Always check the return value from
- Do one of the following if
scifWaitOnNbl()is called with non-zero timeout from multiple threads of execution:
scifWaitOnNbl()only after a successful call to
scifExecuteTasksOnceNbl(), in the same thread of execution.
- Use a semaphore or similar mechanism to ensure that only one thread of execution can perform task control operations at any time.
- If possible, avoid controlling a single Sensor Controller task from multiple threads of execution. Otherwise, use a semaphore or similar mechanism to ensure that one sequence of task control operations cannot interrupt another.
SCIF Driver Compilation Fails with Error “Declaration May Not Appear After Executable Statement in Block” or Similar¶
When compiling the generated SCIF driver with for example IAR EWARM, compilation fails with multiple error messages including “Declaration may not appear after executable statement in block” or similar for
The SCIF driver and also Driverlib and TI-RTOS must be compiled with C99 mode enabled.
Enable C99 mode in the compiler toolchain.
This is specified:
- For IDEs, in the project options’ settings for the C compiler
- For command line, as a switch when calling the C compiler for each source file
XDS200 JTAG Probe Is Not Detected¶
After upgrading to Sensor Controller Studio 1.3.0 (or later), the XDS200 JTAG probe is no longer detected when starting a task testing session.
The XDS200 firmware might be outdated.
Sensor Controller Studio 1.2.x uses XDS Emulation Software Package version 18.104.22.168 . Sensor Controller Studio 1.3.0 uses XDS Emulation Software Package version 22.214.171.124 . The XDS200 firmware must be upgraded to be compatible with version 126.96.36.199 .
Follow these steps to update the XDS200 firmware:
- Make sure only that only the failing XDS200 JTAG probe is connected to the computer.
- Open a Windows Command Prompt in the drivers\common\uscif\xds2xx installation subdirectory (typically C:\Program Files (x86)\Texas Instruments\Sensor Controller Studio\drivers\common\uscif\xds2xx ).
- Run the following command:
- After completion, disconnect and reconnect the XDS200 JTAG probe.
For more information about the XDS200 firmware update tool, see ReadMe.txt in the drivers\common\uscif\xds2xx installation subdirectory.
TI PIN Driver Cannot Operate I/O Pins Borrowed from the SCIF Driver¶
When the System CPU application borrows I/O pins from the Sensor Controller for use with the TI PIN driver (supplied with TI-RTOS/SimpleLink SDKs), this does not work.
The TI PIN driver assumes that unused I/O pins are mapped to the GPIO module. That is not the case for I/O pins used by the Sensor Controller:
scifInit()function maps all I/O pins used by the Sensor Controller to the AUX I/O controller.
scifUninit()function returns all I/O pins used by the Sensor Controller to the GPIO module.
Add the following code to the System CPU application, after the I/O pin(s) have been opened with the TI PIN driver:
// For each affected I/O pin: PINCC26XX_setMux(pinHandle, pin, PINCC26XX_MUX_GPIO);