Other Parts Discussed in Thread: AWR1843, IWR6843AOPEVM
Hi:
I want to implement the Vital Signs Detect on the AWR1843BOOST EVM so I refer to the '68xx Vital Signs' project of TI industrial Toolbox.
When I run the code, it freeze at the "cossp()" function.
I set a breakpoint that the program stop at the "cossp()" function to check the input value, the input value is '0.0634665191'
When I continue to run it, the code freezes.
This is the runing log:
[Cortex_R4_0] Debug: SOC Module Initialization was successful Debug: SOC_waitBSSPowerUp was successful Debug: Launched the Initialization Task Debug: Command UART open Success Debug: Logging UART open Success Debug: mmWave Control Initialization was successful Debug: Wait MMWave module to sync ........... Debug: Wait MMWave module to sync ........... Debug: Wait MMWave module to sync ........... [C674X_0] Debug: SOC Module Initialization was successful [Cortex_R4_0] Debug: Wait MMWave module to sync ........... [C674X_0] Debug: MMWDemoDSS mmWave Control Initialization succeeded Debug: Data path initial success [Cortex_R4_0] Debug: mmWave Control Synchronization was successful [C674X_0] Debug: VitalSignsDet DSS initTask exit [Cortex_R4_0] Debug: Vital signs detection data path initial success Debug: VitalSignsDet MSS initTask exit Debug: Launched the openSensor() Debug: Launched the rlSetChannelCfg() Debug: Launched the rlSetAdcOutCfg() Debug: Launched the rlSetLowPowerModeCfg() Debug: rlRfSetLdoBypassConfig Success Debug: mmWave open success Debug: Configuration the profile success Debug: Configuration the chirp success Debug: Configuration the Frame success [C674X_0] Debug: VitalSignsDet_dataPathPaserCtrlConfig() success ! Debug: VitalSignsDet_dataPathVitalSignsInit() run complete ! Debug: VitalSignsDet_dataPathConfigBuffers() run complete ! Debug: VitalSignsDet_dataPathComputeDerivedConfig() success ! Debug: VitalSignsDet_dataPathParserADCBufCfg() run Success ! Debug: VitalSignsDet_dataPathADCBufConfig() Success ! A0=0x3d81fabc A1=0x1 A2=0x816584 A3=0x3f57 A4=0x7ee7f0 A5=0x0 A6=0x0 A7=0x0 A8=0x0 A9=0x7f0d34 A10=0x7fbe84 A11=0x815df8 A12=0x0 A13=0x80fce8 A14=0x1 A15=0x7fabd4 A16=0x7fd7f4 A17=0x40000000 A18=0x4000 A19=0x0 A20=0x0 A21=0x4000 A22=0x4783 A23=0x0 A24=0x0 A25=0x0 A26=0xb274b13f A27=0xe555d3dc A28=0x0 A29=0xfffffc00 A30=0xb1a09 A31=0x0 B0=0x0 B1=0x0 B2=0x0 B3=0x7e8726 B4=0x3fb00000 B5=0x3fb00000 B6=0x2c682432 B7=0x1 B8=0x9ae07e88 B9=0x3ae59d21 B10=0x0 B11=0x0 B12=0x0 B13=0x0 B14=0x816fa0 B15=0x80fd10 B16=0xfffffc01 B17=0x3dcccccd B18=0x80000000 B19=0x1df2f138 B20=0xf779ffdd B21=0xffeeea9e B22=0xf B23=0x0 B24=0xbd753fef B25=0x62c5d40e B26=0xf1b5c66d B27=0x7611f6b9 B28=0x0 B29=0xffffffff B30=0x0 B31=0xe007e0 NTSR=0x1020f ITSR=0x20f IRP=0x7fffe0 SSR=0x0 AMR=0x0 RILC=0x0 ILC=0x0 Exception at 0xe007e0 EFR=0x2 NRP=0xe007e0 Internal exception: IERR=0x11 Instruction fetch exception Resource conflict exception {module#23}: line 256: error {id:0xb0000, args:[0xe007e0, 0x80fd10]} xdc.runtime.Error.raise: terminating execution
This is the code:
void VitalSignsDet_dataPathGenWindow(void *win, uint32_t windowDatumType, uint32_t winLen, uint32_t winGenLen, int32_t oneQformat, uint32_t winType) { uint32_t winIndx; int32_t winVal; int16_t * win16 = (int16_t *) win; int32_t * win32 = (int32_t *) win; float eR = 1.; float eI = 0.; float e2R = 1.; float e2I = 0.; float ephyR = 0.; float ephyI = 0.; float e2phyR, e2phyI; float tmpR; float phi = 2 * PI_ / ((float) winLen - 1); ephyR = cossp(phi); ephyI = sinsp(phi); e2phyR = ephyR * ephyR - ephyI * ephyI; e2phyI = 2 * ephyR * ephyI; if(winType == MMW_WIN_BLACKMAN) { //Blackman window float a0 = 0.42; float a1 = 0.5; float a2 = 0.08; for(winIndx = 0; winIndx < winGenLen; winIndx++) { winVal = (int32_t) ((oneQformat * (a0 - a1*eR + a2*e2R)) + 0.5); if(winVal >= oneQformat) { winVal = oneQformat - 1; } if (windowDatumType == FFT_WINDOW_INT16) { win16[winIndx] = (int16_t) winVal; } if (windowDatumType == FFT_WINDOW_INT32) { win32[winIndx] = (int32_t) winVal; } tmpR = eR; eR = eR * ephyR - eI * ephyI; eI = tmpR * ephyI + eI * ephyR; tmpR = e2R; e2R = e2R * e2phyR - e2I * e2phyI; e2I = tmpR * e2phyI + e2I * e2phyR; } } else if (winType == MMW_WIN_HANNING) { //Hanning window for(winIndx = 0; winIndx < winGenLen; winIndx++) { winVal = (int32_t) ((oneQformat * 0.5* (1 - eR)) + 0.5); if(winVal >= oneQformat) { winVal = oneQformat - 1; } if (windowDatumType == FFT_WINDOW_INT16) { win16[winIndx] = (int16_t) winVal; } if (windowDatumType == FFT_WINDOW_INT32) { win32[winIndx] = (int32_t) winVal; } tmpR = eR; eR = eR*ephyR - eI*ephyI; eI = tmpR*ephyI + eI*ephyR; } } else if (winType == MMW_WIN_RECT) { //Rectangular window for(winIndx = 0; winIndx < winGenLen; winIndx++) { if (windowDatumType == FFT_WINDOW_INT16) { win16[winIndx] = (int16_t) (oneQformat-1); } if (windowDatumType == FFT_WINDOW_INT32) { win32[winIndx] = (int32_t) (oneQformat-1); } } } }
Project products version:
Questions:
- What could be the problem causing the code to freeze?
- How should I interpret an error code like this?
A0=0x3d81fabc A1=0x1 A2=0x816584 A3=0x3f57 A4=0x7ee7f0 A5=0x0 A6=0x0 A7=0x0 A8=0x0 A9=0x7f0d34 A10=0x7fbe84 A11=0x815df8 A12=0x0 A13=0x80fce8 A14=0x1 A15=0x7fabd4 A16=0x7fd7f4 A17=0x40000000 A18=0x4000 A19=0x0 A20=0x0 A21=0x4000 A22=0x4783 A23=0x0 A24=0x0 A25=0x0 A26=0xb274b13f A27=0xe555d3dc A28=0x0 A29=0xfffffc00 A30=0xb1a09 A31=0x0 B0=0x0 B1=0x0 B2=0x0 B3=0x7e8726 B4=0x3fb00000 B5=0x3fb00000 B6=0x2c682432 B7=0x1 B8=0x9ae07e88 B9=0x3ae59d21 B10=0x0 B11=0x0 B12=0x0 B13=0x0 B14=0x816fa0 B15=0x80fd10 B16=0xfffffc01 B17=0x3dcccccd B18=0x80000000 B19=0x1df2f138 B20=0xf779ffdd B21=0xffeeea9e B22=0xf B23=0x0 B24=0xbd753fef B25=0x62c5d40e B26=0xf1b5c66d B27=0x7611f6b9 B28=0x0 B29=0xffffffff B30=0x0 B31=0xe007e0 NTSR=0x1020f ITSR=0x20f IRP=0x7fffe0 SSR=0x0 AMR=0x0 RILC=0x0 ILC=0x0 Exception at 0xe007e0 EFR=0x2 NRP=0xe007e0 Internal exception: IERR=0x11 Instruction fetch exception Resource conflict exception {module#23}: line 256: error {id:0xb0000, args:[0xe007e0, 0x80fd10]} xdc.runtime.Error.raise: terminating execution