I am trying to compile and run the SimpleBleBroadcaster project in found in c:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble. I am using a SmartRF06 evaluation board.
The code never returns from the call to CommonROM_Init(). I found the source code, and I suspect the while( !i ) loop is getting me:
void CommonROM_Init( void )
{
volatile uint8 i;
// verify the Controller ROM image
i = validChecksum(&__checksum_begin_CommonROM, &__checksum_end_CommonROM);
// trap a checksum failure - what now?
while( !i );
// execute the Common ROM C runtime initializion
// Note: This is the ROM's C Runtime initialization, not the flash's, which
// has already taken place.
RT_Init_CommonROM();
// initialize ICall function pointers for Common ROM
// Note: The address of these functions is determined by the Application, and
// is passed to the Stack image via startup_entry.
*icallCmnRomDispatchPtr = (uint32)ICall_dispatcher;
*icallCmnRomEnterCSPtr = (uint32)ICall_enterCriticalSection;
*icallCmnRomLeaveCSPtr = (uint32)ICall_leaveCriticalSection;
// initialize RAM pointer to R2F Flash JT for Common ROM code
*r2fCmnRomPtr = (uint32)R2F_Flash_JT_CommonROM;
// initialize RAM pointer to R2R Flash JT for Common ROM code
*r2rCmnRomPtr = (uint32)R2R_Flash_JT_CommonROM;
return;
}
So, my question is, what is being checksumed, and how do I make it correct?