在FLASH 下载过程中,插入这个代码片段,输出传递地址,确认是否正确。
void OUT_IO(u32 data)
{
uint32_t i = 0;
*(u32 *)0x40021010 |= 0xFFFFFFFF; // 开GPIO时钟
*(u32 *)0x48000000 |= 0x55; // 配置GPIO模式
*(u32 *)0x48000018 = (1 << 0); // PA0 模拟NSS
for(i= 0; i<32; i++)
{
if(data & 1)
*(u32 *)0x48000018 = (1 << 1); // PA1 模拟MOSI
else
*(u32 *)0x48000028 = (1 << 1);
*(u32 *)0x48000018 = (1 << 2); // PA2 模拟SCK
*(u32 *)0x48000028 = (1 << 2);
data >>=1;
}
*(u32 *)0x48000028 = (1 << 0); // 模拟NSS
}
借助逻辑分析仪,分析数据。
注意:MSB还是LSB;