Hello Friends,
I recently took over a Sys/BIOS project targeting the Tiva TM4C1294CPDT device and need to add Firmware Upgrade support to the application.
We are using your app note: USB Serial Device Firmware Upgrade(DFU) dated January 12, 2016, and the accompanying example boot_loader project as a guide. However, traversing part 3(Combine boot loader with application) is proving to be a bit of a challenge.
Specifically, the portion where we "scroll to the bottom of the application .cfg script and add the following statements."
/* place vector table at application start address*/
var ti_sysbios_family_arm_m3_Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
ti_sysbios_family_arm_m3_Hwi.resetVectorAddress = 0x00040000;
Adding the above lines of code to my configuration script causes a runtime crash of my application with the following error:
ti.sysbios.family.arm.m3.Hwi: line 1087: E_hardFault: FORCED
ti.sysbios.family.arm.m3.Hwi: line 1164: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: d0c33220
Exception occurred in background thread at PC = 0x0001622e.
Core 0: Exception occurred in ThreadType_Task.
Task name: {unknown-instance-name}, handle: 0x200215b0.
Task stack base: 0x20021600.
Task stack size: 0xfd0.
R0 = 0x2c302e30 R8 = 0x00000000
R1 = 0x200223fc R9 = 0xc0c38780
R2 = 0x20027960 R10 = 0x00000000
R3 = 0x00000003 R11 = 0xfff00000
R4 = 0x00000000 R12 = 0x153f0300
R5 = 0xc0c38780 SP(R13) = 0x20022368
R6 = 0x00000000 LR(R14) = 0x00010509
R7 = 0x00000000 PC(R15) = 0x0001622e
PSR = 0x41000000
ICSR = 0x00423803
MMFSR = 0x00
BFSR = 0x82
UFSR = 0x0000
HFSR = 0x40000000
DFSR = 0x00000001
MMAR = 0xd0c33220
BFAR = 0xd0c33220
AFSR = 0x00000000
Terminating execution...
Here is a snippet from my application's linker(CMD) file( please not flash origin)
/******************************************************************************
*
* Default Linker Command file for the Texas Instruments TM4C1294NCPDT
*
* This is derived from revision 11167 of the TivaWare Library.
*
*****************************************************************************/
--retain=g_pfnVectors
MEMORY
{
FLASH (RX) : origin = 0x00004000, length = 0x000FC000
SRAM (RWX) : origin = 0x20000000, length = 0x00040000
}
Is there cortex M4 version of the below .cfg script I sould be using instead? :
var ti_sysbios_family_arm_m3_Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
Thanks in advance.
Mamadee V. Fofana