OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12469|回复: 8

再次呕血,玩w25x16经历第12次失败,最终横死在硬件错误里。

[复制链接]

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2011-11-6 19:56:17 | 显示全部楼层 |阅读模式
我根据手册自写了一个w25x16驱动,之前数次测试读函数均正常,但添加了写函数之后,由于这个flash芯片最小擦除单位为一个扇区,而且不擦除不能写,所以我采用读改写的方法来操作数据,一经编译,通过,下载板子之后,一运行,再次出现当天玩DMA的时候所出现的硬件错误,这次更离奇了,写函数中潜逃了这个读函数void w25x16_read_data(u8 *pbuffer,u32 addr,u16 byte),结果在进入这个读函数的时候,还没开始运行这个读函数,就立刻死在了硬件错误,万思不得其解,附上工程文件夹(MDK4.2编译),跪求指导。

flash.rar

563 KB, 下载次数: 698

Time?And?Relative?Dimension?In?Space.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
 楼主| 发表于 2011-11-6 20:05:48 | 显示全部楼层
经过检查,目前已经解决了死机问题,死机问题的原因在于我在写函数里面定义了两个RAM数组,其中一个4k,估计当时跳去其他函数时候出现内存溢出了,也有可能跳去其他函数,这个4k不起作用,所以我重新把这个buffer定义在函数外面,可现在又出现新问题,程序能正常运行,但貌相又死在读状态的那里。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-11-6 22:07:42 | 显示全部楼层
回复【2楼】Tardis:
---------------------------------
话说这代码我们开发板不是早有了么?
我怎么用怎么爽,不知道各位还在苦恼啥呢?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
 楼主| 发表于 2011-11-6 22:59:59 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
貌相很多人都在纠结这个外部flash,估计主要是以前玩24c02的时候没有一个比较好的概念。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

18

主题

82

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2011-10-27
在线时间
0 小时
发表于 2011-11-7 09:47:11 | 显示全部楼层
原子哥写的那个用起来不错,至少我现在还没发现什么问题。
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
 楼主| 发表于 2011-11-7 10:31:17 | 显示全部楼层
回复【5楼】fengye1966:
---------------------------------
今天移植原子哥的,发现了一个蛋痛的问题,原子哥那个也跑不起来,我还尝试下载他原来的例程呢,下载后按了k0,一直提示在擦除,死在那了,我猜,会不会我板子上的外部flash挂了?
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
 楼主| 发表于 2011-11-7 10:56:36 | 显示全部楼层
人老了,原来是死在IO配置那里,cs应该配置成推免输出,我却配置成复用输出了。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

20

主题

158

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
334
金钱
334
注册时间
2012-8-21
在线时间
27 小时
发表于 2012-12-5 14:22:39 | 显示全部楼层
高手,配置成复用的话,那么SPI 的片选则为硬件管理,而不是软件管理了,
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
 楼主| 发表于 2012-12-6 08:40:48 | 显示全部楼层
回复【8楼】lxj19901115:
---------------------------------
1年前的帖子,那时候刚开始玩STM32,我的C语言是在STM32身上学的,之前玩51的时候一直不是很会编程。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 04:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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