Other Parts Discussed in Thread: EK-TM4C1294XL, TM4C1290NCPDT
Hi,
I am using EK-TM4C1294XL.
Since I use CAN bootloader, I need to have flash based bootloader not ROM bootloader.
I realized Tiva C flash is 16KB per page. it means application code need to be located at 0x4000 or beyond.
So I imported boot_emac_flash from dk-tm4c129x. This is only flash based bootloader example.
I modified bl_config.h to CAN use.
The application jump to bootloader without any problem.
I also see the download command (T1F020040800011B4800004000) sent to the board.
#define APP_START_ADDRESS 0x4000
however, the bootloader returns me T1F020100101. Last two digits indicates failure.
#define CAN_CMD_SUCCESS 0x00
#define CAN_CMD_FAIL 0x01
//
// Check for a valid starting address and image size.
//
if(!BL_FLASH_AD_CHECK_FN_HOOK(g_ui32TransferAddress,
g_ui32TransferSize))
{
//
// Set the code to an error to indicate that the last
// command failed. This informs the updater program
// that the download command failed.
//
ui8Status = CAN_CMD_FAIL; //
//
// This packet has been handled.
//
break;
}
it fails in above section of code in bl_can.c. It seems fails at Check for a valid starting address and image size. However, i checked the starting address and size. I did see any potential problem.
I have no clue what happened. I worked on stellaris CAN bootloader before and similar code. I do not have any issue.
Anyone has a hint?
Thanks in advance.