TI中文支持网
TI专业的中文技术问题搜集分享网站

OMAP-L138: OMAP-L138_FlashAndBootUtils_2_40例程的使用

Part Number:OMAP-L138

尊敬的工程师们:

        您们好,

        目前我在使用OMAP-L138_FlashAndBootUtils_2_40例程时出现一个问题,在烧写时在写了几页flash后,对写的页进行验证时,出现验证失败的情况,控制台打印如下信息

Writing image data to block 0x60, page 0x0
Verify failed. Marking block as bad…

再继续正常写了几页以后一直验证失败到整个烧写文件结束,最终导致烧写失败,请问针对出现的这个情况,您有什么建议可以帮助我解决吗?十分期待您的回复

Nancy Wang:

请问是自制板吗?看打印信息感觉nand flash有问题,有其它可替换测试的nand flash吗?是否有别的板子可做测试?

该烧写例程有没有根据实际板子的设计情况做修改?

也可以试试看通过串口工具sfh_OMAP-L138.exe烧写。

https://www.ti.com.cn/cn/lit/an/spracm8a/spracm8a.pdf

,

Dan Jackey:

板子不是自制的,暂时没有其他可替换的nandflash,我将例程移植到sys/bios上跑,之前用这个方式烧写成功过,然后目前的情况是报上述的错误

,

Dan Jackey:

烧写例程卡在了NAND_verifyPage(hNandInfo, blockNum, pageNum, dataPtr, gNandRx)函数处,我查看了我的数据地址dataPtr(0xc3200054)上面是待烧写的文件数据,但没有搞明白gNandRx这个数据块的作用,gNandRx在函数开始写了8192长度的0xFF,这样做的目的为何呢

,

Nancy Wang:

Dan Jackey 说:没有搞明白gNandRx这个数据块的作用

就是初始化的作用。

Dan Jackey 说:之前用这个方式烧写成功过

是用的TI的开发板吗?检查一下烧写代码中nand位宽是否为16bit?

,

Dan Jackey:

位宽是8bit,用的创龙的开发板,但我看创龙和TI的烧写例程用的同一个

,

Nancy Wang:

代码中的配置要与实际板子中一致。

因为您之前烧写成功过,硬件上应该没有问题。

,

Dan Jackey:

我直接跑例程发现文件读取完成后存放文件数据的指针aisPTR地址是0xc3200000,而gNandTx这个地址也是0xc3200000,如果写0xff那aisPTR上面的数据不会被覆盖吗

,

Dan Jackey:

嗯嗯,我做过测试排除了硬件的问题

,

Nancy Wang:

调试看一下,应该是不影响的。

移植的时候修改了哪些部分?只能再调试看看了,不清楚什么原因。

,

Dan Jackey:

好的,已经得到解决,是多次调用动态内存分配函数时地址冲突数据覆盖导致的,十分感谢您的回复!

赞(0)
未经允许不得转载:TI中文支持网 » OMAP-L138: OMAP-L138_FlashAndBootUtils_2_40例程的使用
分享到: 更多 (0)