Other Parts Discussed in Thread: SYSBIOS, UNIFLASH,
Tool/software: Code Composer Studio
Hi!
Is there a Programmer's Guide/Reference about the API's contained within mmWave SDK?
Thanks in advance
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
All the source code in the application and libraries are well documented. Even mmw demo provides the doxygen document
C:\ti\mmwave_sdk_03_02_00_04\packages\ti\demo\xwr18xx\mmw\docs\doxygen\html\index.html
SDK provides the user guide document (mmwave_sdk_user_guide.pdf) under docs directory which you can refer for this purpose.
Regards,
Jitendra
Hi,
Here are the steps to create a CCS project for mmwave sensor application
1) Open CCS GUI and make sure that latest version of ‘mmwave radar device support’ is installed in CCS.
2) Select File-> New-> CCS Project
a) In the pop-up window, select Target as ‘mmWave Sensors’ and required device type
b) Tool-Chain: follow snapshot
c) Project templages->SYS/BIOS->TI Target Examples->Typical
d) If selected device has DSP on it, then follow similar setting for C67xx project.
e) Click next and provide Target & Platform Info for Cortex-R and C67XX cores
f) Cortex-R- Target-> ti.targets.arm.elf.R4F; Platform-> ti.platforms.cortexR:AWR16XX:false:200
g) C67XX- Target-> ti.targets.elf.C674; Platform-> ti.platforms.c6x:AWR16XX:false:600
h) Click Finish to create MSS and DSS CCS project.
3) These steps will create a basic sysbios application for mmwave sensor where default linker-command and sysbios-config (app.cfg) is generated from CCS. User needs to amend these files as per their application need.
4) Add search path, MACRO definition and libraries here- Project Properties->Build->ARM/C6000 compiler->Include Options; ProjectProperties->Build->ARM/C6000 Compiler->Predfined Symbols; Project Properties->Build->ARM/C6000 Linker->File Search Path. Refer any TI-Rex lab CCS project for reference.
5) This is code snippet to add basic bootup to your application (common across all applications).
MSS (main.c) |
DSS (main.c) |
#include <ti/drivers/soc/soc.h> #include <ti/drivers/esm/esm.h> #include <ti/common/sys_common.h> int main(void) { int32_t errCode; SOC_Handle socHandle; SOC_Cfg socCfg;
/* Initialize the ESM: Don’t clear errors as TI RTOS does it */ ESM_init(0U);
/* Initialize the SOC confiugration: */ memset ((void *)&socCfg, 0, sizeof(SOC_Cfg));
/* Populate the SOC configuration: */ socCfg.clockCfg = SOC_SysClock_INIT; socCfg.mpuCfg = SOC_MPUCfg_CONFIG; /* require to unhalt the DSS if this core is available in selected device */ socCfg.dssCfg = SOC_DSSCfg_UNHALT;
/* Initialize the SOC Module: This is done as soon as the application is started * to ensure that the MPU is correctly configured. */ socHandle = SOC_init (&socCfg, &errCode); |
#include <ti/drivers/soc/soc.h> #include <ti/drivers/esm/esm.h> #include <ti/common/sys_common.h> int main (void) { int32_t errCode; SOC_Handle socHandle; SOC_Cfg socCfg;
/* Initialize and populate the demo MCB */ memset ((void*)&gMmwDssMCB, 0, sizeof(MmwDemo_DSS_MCB));
/* Initialize the SOC confiugration: */ memset ((void *)&socCfg, 0, sizeof(SOC_Cfg));
/* Populate the SOC configuration: */ socCfg.clockCfg = SOC_SysClock_BYPASS_INIT;
/* Initialize the SOC Module: This is done as soon as the application is started * to ensure that the MPU is correctly configured. */ socHandle = SOC_init (&socCfg, &errCode); |
6) Now you can refer even mmw demo or any TI-Rex lab application to embedded multiple peripheral and signal processing features in your application.
Regards,
Jitendra
Tank you VM!
I intrested about programming debug too
At demo board JTAG connected by TM4C1294NCPDTT3 to Any Flash
In custom board whitch way to connect to Anyflash? Do Ti sell JTAG programmers are I have place chip like FTDI ( jtag to usb)?
BR
When building C647 part (DSS):
undefined first referenced
symbol in file
--------- ----------------
ti_sysbios_family_c64p_Cache_l1dSize C:\Users\Domovoy\workspace_v9\Radar-C\src\sysbios\sysbios.ae674<BIOS.obj>
ti_sysbios_family_c64p_Cache_l1pSize C:\Users\Domovoy\workspace_v9\Radar-C\src\sysbios\sysbios.ae674<BIOS.obj>
ti_sysbios_family_c64p_Cache_l2Size C:\Users\Domovoy\workspace_v9\Radar-C\src\sysbios\sysbios.ae674<BIOS.obj>
error #10234-D: unresolved symbols remain
When building R4F part:
error #10264: DEFAULT memory range overlaps existing memory range RAM
error #10010: errors encountered during linking; "Radar-R.out" not built
It's just a main.c files from template, even without includes from mmWave SDK
Another one fault: mmWave SDK doesn't provide actual path to the include files, so all mmWave SDK includes fails finding include file
What should I do to fix these errors?
Hi Dim,
I have uploaded the CCS project which I have created from above-mentioned steps. Please refer this.
5481.AWR1843_sysBios_CCSv9_Project.zip
With mmWave Sensor you can program connected flash over UART only using UniFlash tool.
However here you can find the supported flash with mmwave sensor device.
And for JTAG connection you can use any other chip which supports JTAG to USB emulation and connect over JTAG pins to mmWave Sensor.
Regards,
Jitendra
Hi Dim,
Even after this error CCS should able to import the project. Now you need to change the compiler version to existing installed one (CCS project properties->General->Project-> Tool Chain-> Compiler version).
Or open .ccsproject from Test_MSS directory in the notepad and update the compiler version manually.
<codegenToolVersion value="18.12.2.LTS"/>
Regards,
Jitendra