关于STM32F429 阿波罗开发板 U盘读写和LCD控制器的问题

2019-07-20 11:13发布

本帖最后由 zjsxfkf 于 2017-10-27 09:31 编辑

    前段时间买了块阿波罗的开发板STM32F429,在测试底层驱动,前天发现一个问题,目前还没有找到解决办法;
1、使用的是开发板的U盘(host)实验的例子,增加了在U盘加载后,不停的读、写、比较文件的准确性,我是使用芯片
自带的LCD控制器,使用RGB显示屏。
2、发现在测试过程中,会有USB读写错误,返回USBH_MSC_PHASE_ERROR,这个是USB的一个硬件错误,现在还没有进一步
追踪进USB协议内部,但是我只要将LTDC中的LTDCEN位去掉,即关闭LTDC控制使能,无论再怎么测试一个晚上,也不会发生读写错误的问题。

3、我在使用33MHZ的LTDC刷新频率的时候,很快就会出现错误,我降低刷新频率至12.75MHZ,依然会出现错误,但是这个正常运行的时间明显
比33MHZ的要长,按理跟硬件走线应该不太会有多大关系,频率都还是比较低的,USB使用的也是FS模式,而且两边走线应该都是相互分离的

4、这里申请的内存都是使用了内部sram的20K空间,来进行数据读写比较,当然外部也试过,问题一样,不知道是不是芯片内部总线的问题。

5、不知道有没有其他人遇到类似问题,或者已经解决了这个问题的,大家相互讨论。

附上测试代码:


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
正点原子
1楼-- · 2019-07-21 07:35
另外,试试寄存器版本的代码吧。
稳定性来说,一般都是寄存器版本好。
zjsxfkf
2楼-- · 2019-07-21 12:53
 精彩回答 2  元偷偷看……
zjsxfkf
3楼-- · 2019-07-21 14:23
 精彩回答 2  元偷偷看……
正点原子
4楼-- · 2019-07-21 19:37
zjsxfkf 发表于 2017-10-28 07:42
1、其实个人认为,其实跟是否是寄存器版本没有太大的关系,因为我只是去掉LTDC的使能信号,显示屏背光还 ...

1,部分例程,如遇到问题,确实换寄存器会好。你这个情况,我发现是反复写一个文件的,你测试多久(写多少次会出问题)出问题?
2,重启很正常,如果你仔细看我们教程,就应该看到usb一键下载电路,引起的。这个你没事不要不停的上点。
3,这个问题,我有时间的话帮你试试

最后,我记得USBH_Process函数,应该被周期性的调用才对。
你试试不要在USH_User_App里面做你的事情,而是改到main函数,试试看。

zjsxfkf
5楼-- · 2019-07-22 01:04
正点原子 发表于 2017-10-30 01:43
1,部分例程,如遇到问题,确实换寄存器会好。你这个情况,我发现是反复写一个文件的,你测试多久(写多 ...

@正点原子 这个测试就是几秒到几分钟的事情,如果LTDC刷新频率在33MHZ,基本在一分钟内,肯定会报错
zjsxfkf
6楼-- · 2019-07-22 03:34
 精彩回答 2  元偷偷看……

一周热门 更多>