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.

MSP432P4111: Custom Bootloader - Calling secondary application's C_Int00

Part Number: MSP432P4111

  • MSP432P4111 custom board
  • SimpleLink MSP432P4SDK 2.10.0.14
  • CCS V7.3.0
  • XDCTools 3.50.5.12
  • Compiler TI v17.9.0.STS

I'm doing a custom bootloader for my MSP432. 

  1. The boot application lives at the base of the memory map, and will run every time the the board is powered.
  2. My main application lives at a higher part of memory (0x00080000) and contains some header information used to verify the integrity
  3. My bootloader read the the main application's _c_int00 from the main application's header
  4. The bootloader attempts to execute the application, and when I single step through the disassembly (loaing the main application's symbols), the code looks correct, the address looks correct, but I get an exception.  
  5. Note: My bootloader starts as a main loop app with Sys BIOS support...However,  BIOS_Start() does not get called, unless the main application in memory is invalid.    So when my code calls the main application's _c_int00, SYS BIOS is not running.  

This is how I call the main application's _c_int00 funciton:

//////////////// This is defined in the main.c /////////////
typedef void (*TAppInitFunc)(void);
TAppInitFunc appCInt00; 

/////////////// This is in my main loop //////////////////
   if( IsMspIntFlashAppValid() )
   {
      appCInt00 = (TAppInitFunc*)GetMspAppEntryPointAddress();
      if( appCInt00 )
         appCInt00();
      else
         bootError = 1;
   }

Here's the exception:

Decoded exception,
Decoded,Hard Fault: FORCED: USAGE: UNALIGNED
Exception context,
$addr,0x2003ff10
$type,ti.sysbios.family.arm.m3.Hwi.ExcContext
threadType,ti.sysbios.BIOS.ThreadType_Main
threadHandle,0x0
threadStack,0x2003f800
threadStackSize,2048
r0,0x8f1f9
r1,0x8f1f9
r2,0x8
r3,0x2000eb01
r4,0x0
r5,0x0
r6,0x400802d3
r7,0x20040000
r8,0x0
r9,0x0
r10,0x0
r11,0x0
r12,0x2000e200
sp,0x2003ffe8
lr,0x94cf
pc,0x8f1fe
psr,0x21000000
ICSR,0x400f803
MMFSR,0x0
BFSR,0x0
UFSR,0x100
HFSR,0x40000000
DFSR,0x1
MMAR,0xe000ed34
BFAR,0xe000ed38
AFSR,0x0

**Attention** This is a public forum