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进行二次编程,使用TI提供的API函数,但是在使用API函数却出现了问题。我们使用的是RM48芯片。 如下
首先选择API库
2. 连接时出现下面问题
这是怎么回事?
看错误提示,有一股Tag_PCS的变量或者寄存器配置,刚开始你配置的是0,后来改为了1,这个问题引起了一个逻辑冲突,没办法生成目标代码
建议查看和该变量有关的函数配置,是不是有那种只能设置一次的寄存器,被你二次修改成1了。
建议参考WIKI上下载Bootloader例程。
http://processors.wiki.ti.com/index.php/RM4x_Hercules_MCU_Bootloader
一样的结果。 我用的编译器版本是v5.1.0 是不是编译器有bug? 这篇文章也是这问题,说是v5.1.0 编译器有bug。 用v5.1.5可以。我没有这个版本的编译器。 http://e2e.ti.com/support/development_tools/compiler/f/343/t/337035
是编译器的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文件时,总是传送不了,提示远程系统没有响应,是怎么回事呢?