打印

程序下载到RAM中运行正常,烧写到 EEPROM 中,运行不正常

[复制链接]
1448|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liyucai|  楼主 | 2017-7-24 17:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在 superspeed explorer kit (cyusb3014)上写的程序,用 usb control center 下载到 RAM 中,能够正常运行。
而烧写到 I2C EEPROM 中,从 EEPROM 启动,程序运行不正常。
看串口打印,是 DMA 配置不成功。

为什么会这样呢? 从 RAM 运行 跟 从 I2C 启动运行 有什么不同呢?
哪位高手指点一下,谢谢。
沙发
cyy401| | 2017-7-25 09:33 | 只看该作者
Hi

你现在使用的板子是CYUSB3KIT-003这个板子么?
另外,SDK的版本是什么?

使用特权

评论回复
板凳
cyy401| | 2017-7-25 09:34 | 只看该作者

使用特权

评论回复
地板
liyucai|  楼主 | 2017-7-25 12:48 | 只看该作者
对的。就是上面这块板。
SDK 是 1.3.3 版。

使用特权

评论回复
5
cyy401| | 2017-7-25 14:32 | 只看该作者
liyucai 发表于 2017-7-25 12:48
对的。就是上面这块板。
SDK 是 1.3.3 版。

你能不能用BUS HOUND抓取下固件从下载开始到最后的数据包?
另外,你也可以提供下固件我看看我这边是不是能复现。

使用特权

评论回复
6
liyucai|  楼主 | 2017-7-25 15:42 | 只看该作者
谢谢版主。
我的程序是采集图像数据到PC机,我做了一块 图像传感器板 插在 CYUSB3KIT-003 上。所以给你 固件恐怕也跑不起来。
USB功能看起来正常,它枚举完成了。看打印信息,他也接收到了HOST发出的开始采集图像的请求。
CyU3PDmaMultiChannelCreate()调用返回错误,错误码 0x40,我看了是说 调用参数有错误。
但在 RAM 直接运行不会出现调用错误。两者是同一个 img 文件。

使用特权

评论回复
7
liyucai|  楼主 | 2017-7-25 15:47 | 只看该作者
从 RAM 运行应该是 执行代码直接放在 RAM 中,从代码起始处开始执行。
从 I2C EEPROM 启动,代码是全部拷贝到 RAM 中再开始执行吗? 如果是这样,应该两者运行情况一样。

使用特权

评论回复
8
liyucai|  楼主 | 2017-7-25 16:30 | 只看该作者
版主,附件是我的代码文件,里面含有 img 文件。
请帮忙看看问题在哪里。

我试了,不插图像传感器板,就在 kit 板上运行,两种情况也不相同。
差异也是后者在 调用DMA创建函数时出错。

USB20170722.rar

374.18 KB, 阅读权限: 100

使用特权

评论回复
9
liyucai|  楼主 | 2017-7-28 19:29 | 只看该作者
版主,有没帮我看看?
能给我指点一下方向吗? 先谢了。

使用特权

评论回复
10
cyy401| | 2017-7-31 17:25 | 只看该作者
liyucai 发表于 2017-7-28 19:29
版主,有没帮我看看?
能给我指点一下方向吗? 先谢了。

liyucai 你好,

你回复自己的帖子我是看不见的。
如你所说,我这里不好复现你的问题。你那边能不能从ChannelCreate 这个函数的源代码中定位报错位置?或者你采用AN一样的DMA参数配置,看是不是会产生错误?

使用特权

评论回复
11
小范fpr| | 2017-11-21 11:42 | 只看该作者
是不是复位先后的问题

使用特权

评论回复
12
mcuzone| | 2017-11-23 13:18 | 只看该作者
理论上,down到RAM运行是有仿真器或Loader参与初始化的成分在里面,很可能是会有差异的

使用特权

评论回复
13
一般首席| | 2018-1-1 11:58 | 只看该作者
我的可以的,我用的也是cyusb3kit-003这个板子,先下载进eeprom中,然后把J4跳帽拔掉,之后上电就可以了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

13

帖子

0

粉丝