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.

CC1312R: Hwi vectors are not configured correctly

Part Number: CC1312R
Other Parts Discussed in Thread: SYSBIOS, CC1310, SYSCONFIG

Hello,

I have transferred an application to the new CC13X2 SDK 4.40 and also changed to the new CLANG compiler.

When I now start my application and look into ROV->BIOS->Scan for Errors the following list is shown:

ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	NMI vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	NMI vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	Hard Fault vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	Hard Fault vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	Mem Fault vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	Mem Fault vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	Bus Fault vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	Bus Fault vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	Usage Fault vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	Usage Fault vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	SVCall vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	SVCall vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	Debug Mon vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	Debug Mon vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	PendSV vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_pendSV__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	PendSV vector is not as configured! Should be: ti_sysbios_family_arm_m3_Hwi_pendSV__I
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vector	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"
ti.sysbios.family.arm.m3.Hwi	Vector Table	N/A	vectorLabel	The vector for this dispatched interrupt is not correct! Should be: "ti_sysbios_family_arm_m3_Hwi_dispatch__I"

What is the reason for this error messages?

When I leave the application running the following exception occurs:

Decoded exception	
Decoded	Hard Fault: FORCED: BUSFAULT: PRECISERR.Data Access Error. Address = 0x737395
Exception context	
$addr	0x20006108
$type	ti.sysbios.family.arm.m3.Hwi.ExcContext
threadType	
threadHandle	0x20009248
threadStack	0x200052e0
threadStackSize	4096
r0	0x737395
r1	0x20003368
r2	0x200061d4
r3	0x0
r4	0x20003368
r5	0x20003198
r6	0x2000484c
r7	0x20006210
r8	0x20003248
r9	0x0
r10	0x20003364
r11	0x0
r12	0x0
sp	0x200061d0
lr	0x3d2c9
pc	0x3f1e4
psr	0x1000000
ICSR	0x400803
MMFSR	0x0
BFSR	0x82
UFSR	0x0
HFSR	0x40000000
DFSR	0x1
MMAR	0x737395
BFAR	0x737395
AFSR	0x0
Exception call stack	
0 ot::Find at linked_list.hpp:0 :	PC=0x0003F1E4
1 ot::Ip6::RemoveSocket at udp6.cpp:392 :	PC=0x0003D2C8
2 unknown at clearable.hpp:55 :	PC=0x00040614

Thanks in advance
Armin

  • Hi Armin, 

    Instead of transferring your existing application to another SDK version and compiler, I would recommend you to start with a new project from the SDK you want to use and then port your logic from your existing project to the new project.

    Thanks, 
    Elin 

  • Hi Elin,

    I agree, most likely this would be the an option. I also considered it as my last resort.

    Originally I just wanted to change the settings because I assumed that it would be possible in this way. Especially because there is a migration guide available for this move. Maybe there is something else I can try?

  • Hi Armin, 

    Which migration guide are you referring to and have you followed the steps in it? 

    Thanks, 
    Elin 

  •  Hi Elin,

    I followed the following Guide: Migration Guide

    Of course I tried to follow the steps but it may be that I missed something important. Where are the HWI vectors defined? I thought that I may compare these settings to a SDK example.

    Beside of that I now started with an example project from the SDK and set up the application based on it. Instead of the CC1312 I now tried it out with the CC2652 and the issues are similar.

  • Hi Armin, 

    Did you download the compiler? It has to be downloaded separately from the download page: https://www.ti.com/tool/ARM-CGT

    Since you have issues with the Clang examples, I suspect that this might be the issue. 

    Which version of CCS are you using?

    Thanks, 
    Elin 

  • Hi,

    I think my last post was a little bit misleading. I started with the example and it worked fine. Of course I downloaded the compiler and I am using the newest CCS version available (10.3). The problem arises when I copy my own application into the example and make changes accordingly. When I reach the stage that the compiling and linking works without errors it leads to the described behaviour.

    Regards.

  • Hi Armin, 

    Thanks for clarifying. 

    Okay, are you porting your application layer changes one by one to pinpoint which change is causing these issues? 

    What kind of changes are you porting to the Clang project?

    Thanks, 
    Elin 

  • I cannot really port the changes one by one. This is a final firmware that was originally built for the CC1310. If I just port small parts of the whole project it will not build without errors which means I cannot try if the issue is already happening.

    I just add some predefinitions, add some include paths and change a couple of things in the sysconfig tool.

  • Hi Armin, 

    Okay, so if I understand correctly, you are getting these errors when only adding predefines, include paths, and changing a couple of configurations in sysconfig and not adding your code? 

    Can you share some details about your application and what kind of changes you are making? Which example from the SDK are you using?

    Thanks, 
    Elin 

  • Hi again,

    No, I also have to add the application code.

    I tried it again to implement it based on a example from TI and now it seems to work. Maybe I changed something important in the earlier try but I cannot really tell what this should be. Nevertheless, I will mark the post where you suggested the solution to build it up from an example as solved so that it can be archieved.

    Thanks for your help!