我在StartWare下面的uartEcho.c下实现xmodem协议进行文件传输,当然我是参考StarterWare里面的源码写的,但是当我用串口下载boot.bin,之后下载我自己改写编译好的uartEcho.bin,用来传输文件,比如我这里传输gpioLedBlink.bin,传输地址为0x81000000,程序已经实现跳转到该地址(参考源码),但是没有效果出来。请问Starterware编译出来的.bin文件必须下载到固定地址的吗?
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.
你好,谢谢回复。
我的源程序是参考StarterWare源码通过UART下载的 ,源程序我是这样实现的:
if( 0 > xmodemReceive((unsigned char *)DDR_START_ADDR,
BL_UART_MAX_IMAGE_SIZE))
{
UARTPuts("\nXmodem receive error\n", -1);
}
UARTPuts("\nNow jumping to the address!\n", -1);
entryPoint = DDR_START_ADDR;
appEntry = (void (*)(void)) entryPoint;
(*appEntry)(); //跳转到文件下载的地址。
这里我的DDR_START_ADDR = 0x8100 0000,我下载的文件是gpioLedBlink.bin,但是没有效果出现,所以我猜会不会StarterWare里面编译的.bin文件需要下载到固定地址。举个例子,y源码通过UART下载程序可以看出,通过UART下载的.bin文件下载到0x80000000.
在编译的目录下有个map文件,你先看看里面的入口地址定义在哪里了