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.

TMS320F2812: initflash修改

Part Number: TMS320F2812

TI工程师:

您好,感谢回复。

我的程序中使用的f2812_nonBIOS_flash.cmd,并且上电后flash程序复制到ram中运行,

memcpy( &secureRamFuncs_runstart,
&secureRamFuncs_loadstart,
&secureRamFuncs_loadend - &secureRamFuncs_loadstart);

这种情况下修改

SysCtrl.c文件中InitFlash函数:

FlashRegs.FBANKWAIT.bit.RANDWAIT = 5;       

FlashRegs.FBANKWAIT.bit.PAGEWAIT = 5;  

改为:

FlashRegs.FBANKWAIT.bit.RANDWAIT = 15;     

FlashRegs.FBANKWAIT.bit.PAGEWAIT = 15;      

对程序运行还有任何影响吗?

  • 你好,根据相关文件中的描述,这两个位的定义是在执行随机读取和页读取前的等待时钟次数,这也是它们会造成影响的地方。

  • TI工程师:

    您好,感谢回复。

    我的程序结构是这样:

    main()

    {

    。。。。。。

    memcpy( &secureRamFuncs_runstart,
    &secureRamFuncs_loadstart,
    &secureRamFuncs_loadend - &secureRamFuncs_loadstart);

    InitFlash();

    。。。。。。

    while(1)

    {

    .。。。。。

    }

    }

    flash存储器存放执行的程序,程序上电初始化flash程序复制到ram中运行,程序运行后是从ram中读取,这种情况下flash读取等待时间这种参数对程序有影响吗?

  • 不会。只有在读取FLASH时会有影响。但你后续的程序都是从ram中读取,所以没有影响。

x 出现错误。请重试或与管理员联系。