TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

FLASH编程

Other Parts Discussed in Thread: TMS570LS1227

论坛的各位,大家好:

      我们需要对FLASH进行二次编程,使用TI提供的API函数,但是在使用API函数却出现了问题。我们使用的是RM48芯片。  如下

首先选择API库

2. 连接时出现下面问题

这是怎么回事? 

  • 看错误提示,有一股Tag_PCS的变量或者寄存器配置,刚开始你配置的是0,后来改为了1,这个问题引起了一个逻辑冲突,没办法生成目标代码

    建议查看和该变量有关的函数配置,是不是有那种只能设置一次的寄存器,被你二次修改成1了。

  • 我用的是FLASH的库函数,里面有什么都不知道啊

  • 你好,

    请使用“F021_API_CortexR4_LE.lib"。

    另外,你可以下载TI网上的Bootloader例程来做参考。

  • 用F021_API_CortexR4_LE.lib也一直出现上面的问题啊,怎么回事?

  • 建议参考WIKI上下载Bootloader例程。

    http://processors.wiki.ti.com/index.php/RM4x_Hercules_MCU_Bootloader

  • 测试了一下同样的问题..怎么回事?

  • 还是同样的问题。例程使用的FlasH API版本为1.5,我使用的版本为2.1.0.  我这里没有1.5版本的,能帮我试下吗?

  • Bootloader例程中的API是2.00.1版本。

    你试试附件中的lib是否有问题。

    F021_API_CortexR4_LE.lib
  • 一样的结果。  我用的编译器版本是v5.1.0 是不是编译器有bug?   这篇文章也是这问题,说是v5.1.0 编译器有bug。 用v5.1.5可以。我没有这个版本的编译器。  http://e2e.ti.com/support/development_tools/compiler/f/343/t/337035

  • 那你升级一下编译器,最新的ARM Compiler应该是5.2.0。

    直接点CCS的help->check for updates就可以了。

  • 是编译器的bug,已经解决。   但是问题又来了:使用Fapi_issueProgrammingCommand (  ) 函数写FLASH时选择  Fapi_AutoEccGeneration模式,  写完后数据写到FLASH了,但是ECC没有自动写入。      怎么回事??

  • RM48芯片不能自动写计算ECC。只能计算ECC后写入FLASH。  但是问题又来了:用函数Fapi_calculateEcc( uint32_t u32Address, uint64_t u64Data ) 计算ECC,不管传入什么参数,计算出的结果一直是0xFF,怎么回事?

  • 你好!看了你们的帖子,我现在也遇到了和你一样的问题,请我你的问题后来解决了嘛?是怎么解决的呢?谢谢哦

  • 你什么情况???

  • 你好,非常感谢你的恢复哈!上午我遇到的情况是用Hal Code Generate生成的代码编译时提示没有F021.c文件,我把Hercules安装目录下的关于F021的头文件和.c文件都加载进来了,然后编译还是有错,后来看了你的帖子,发现还要添加.lib文件,现在编译没有错了,但是我用Hal自带的例程跑的时候发现为什么写进去的是100个数据,读出来的只有前8个数据了呢,感觉这一块Hal生成的代码好复杂啊,看不太明白啊,你看过Hal自带的例程这一块的例程了嘛?

  • result = Fapi_issueProgrammingCommand(p_u32_temp_startaddress,p_u8_data_buffer_temp,8U,&u8_ecc_buffer_data,1U,Fapi_EccOnly);/**第三个参数,第5个参数 应该是 8 和 1 */   原因是你第三个参数传入100,实际只能传8,只写入了8个数据。首先你可以看看直接访问memeroy,看看数据是否写入了

  • 你好!可是我还是不明白呢,这个 Fapi_issueProgrammingCommand只是在头文件FapiFunctions.h中出现过,感觉像是定义的一个结构体一样,是可以直接向调用函数一样来调用吗?还有,你说的直接访问 memeroy是怎么访问啊?真不好意思,我对这一块一窍不通,希望大神见谅啊,非常感谢你的回复啊

  • 你好,我用的是TMS570LS1227,,用 http://processors.wiki.ti.com/index.php/RM4x_Hercules_MCU_Bootloader 上提供的例程改写的Bootloader,把Bootloader工程生成的.out文件烧写到flash中以后,再把我的APP程序生成的.bin文件通过串口下载到flash,串口设置是和上面网址上给的例程是一样的,传输协议是ymodem,但是在用超级终端向我的控制板发送.bin文件时,总是传送不了,提示远程系统没有响应,是怎么回事呢?