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.

AM3356 bootloader程序无法切换到APP程序

Other Parts Discussed in Thread: SYSBIOS

目前采用的公司的开发板做测试,自己根据am335x_sysbios_ind_sdk_01.01.01.01中的boot工程修改的bootloader的程序:

APP采用TI的sysbios操作系统,APP生成的bin文件起始的地址如下:

问题是:我现在用仿真器仿真BOOT程序,目前可以实现从SPI-FLASH中读取到APP的程序,程序跳转时也可以切换到APP程序中的RUN_ADDR中,但是继续执行程序就会跑飞,最终程序停止在0x2008C的地址上,求指点,是否我还有什么配置没做导致?从没有配置过AM335x这种类似芯片,所以如果要实现AM335x芯片的SPI-FLASH的程序引导启动,需要什么配置步骤?

  • 先试一下能否加载并运行一个简单的程序,看整个流程跑下来有没有问题。

    SPI boot的流程如下
    http://processors.wiki.ti.com/index.php/AM335X_StarterWare_Booting_And_Flashing#Stages_in_SPI_Booting

  • 小建议:看上去你应该用的是CCS,所以你可以在系统跳到DDR之前,先通过memory browser来查看一下当前的memcpy是否正常。数据是否是正确的。

    还有就是你的DDR做过software leveling了吗?确认他是稳定的了吗?

  • 我使用的是CCS,DDR在经过测试没有发现有什么问题;现在问题的表面现象是我生成的APP的bin文件,经过工程isdk_spi_flasher,写入SPAFLASH后,可以成功写入,并且可以通过检验验证。但是我用boot程序读取到的APP程序与我通过isdk_spi_flasher写入到flash中的程序走不一致的地方,主要表现在:一是读到的app程序与实际存储的程序的offset相差了0x2000个地址;二是读到的app程序与与实际的程序并不是完全一致,只有大约50%的相同。