Thread 中讨论的其他器件:C2000WARE
工具与软件:
我目前正在研究自定义 SPI 引导加载程序、以将 SPI 闪存内核加载到 RAM 中-请参阅先前的问题 - TMS320F280039C:TI 280039C SPI 引导加载程序- C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛
我正在使用此处的 SPI_Boot.c 文件- C:\ti\c2000\C2000Ware_5_02_00_00\libraries\boot_rom\f28003x\rev0\rom_sources\F28003x_rom\bootrom\source
第一个被调用的函数之一是:
//
// SPI_start_Boot - Function to begin transmission and copying of data into
// device memory
//
uint32_t SPI_start_Boot(uint16_t gpioSTEA)
{
uint32_t entryAddress;
//
// Enable EEPROM and send EEPROM Read Command
//
(void)SPIA_Transmit_Receive(0x0300U);
//
// Send Starting Address for Serial EEPROM (16-bit - 0x0000,0000)
// or Serial Flash (24-bit - 0x0000,0000,0000)
// Then check for 0x08AA data header, else go to flash
//
if(SPIA_SetAddress_KeyChk() != BROM_EIGHT_BIT_HEADER)
{
return FLASH_ENTRY_POINT;
}
//
// Check for Clock speed change and reserved words
//
SPIA_ReservedFn();
//
// Get point of entry address after load
//
entryAddress = GetLongData();
其中返回 RAM 中闪存内核的入口地址(32位)- entryAddress = GetLongData ();
为了测试我的自定义 SPI 引导加载程序 、我使用了 hex2000.exe 为 RAM 之外运行的 led_ex_blinky.application 创建了一个新的二进制 led_ex1_blinky.txt
方法是使用十六进制编辑器查看生成的二进制文件

我正在尝试了解这与 SPI 引导代码通过调用返回的入口地址有何关联- entryAddress = GetLongData()??
感谢您的任何帮助、
Brent Williams
