硬汉嵌入式论坛

 找回密码
 立即注册
查看: 588|回复: 3
收起左侧

STM32F429 USB导入BIN文件出错

[复制链接]

2

主题

3

回帖

9

积分

新手上路

积分
9
发表于 2022-2-15 16:17:51 | 显示全部楼层 |阅读模式
各位大神,跪求解决方案

stm32F429 + 文件系统导入USB内的BIN文件;预单次导出1024字节然后依次存入到Flash,现在问题是第一次导入BIN文件的第一个字节并未放置在定义Buf的首地址,而是向前移动了一个字节

测试发现修改定义Buf内存地址可修复问题,比如现在Buf地址是0x20008319 ,将地址定义为 0x20008318即可正确。

但f_read传入地址为0x20008319 现在不知道哪里出了问题。是USB读取文件每次必储存四个字节嘛?

1.程序代码
下载 (1).png

2.调试参数-Buf

下载 (2).png

3.调试程序-Memroy,可以看到Buf地址是0x20008319 ,0x20008318处为01

下载 (3).png

4.BIN文件
下载 (4).png

5.Map文件-定义Buf地址

下载 (5).png


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2022-2-15 16:36:19 | 显示全部楼层
你这里是读取外挂U盘里的数据吗,这里没有用DMA方式吧,没有的话,就没有四字节对齐问题。
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2022-2-15 16:39:11 | 显示全部楼层
eric2013 发表于 2022-2-15 16:36
你这里是读取外挂U盘里的数据吗,这里没有用DMA方式吧,没有的话,就没有四字节对齐问题。

这种情况是不是就是使用DMA了,我不确定用没用到DMA,没找到对应的初始化代码
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2022-2-19 08:16:23 | 显示全部楼层
王延浩 发表于 2022-2-15 16:39
这种情况是不是就是使用DMA了,我不确定用没用到DMA,没找到对应的初始化代码

不好意思,忘了回复你了,USB有个自带的DMA.

如果你是使用的是STM32F4的USB HS接口,确实有个自带DMA可以打开。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-18 10:02 , Processed in 0.185307 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表