OpenEdv-开源电子网

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

自己写的一个串口下载APP程序,麻烦各位大神帮忙看下有啥问题

[复制链接]

5

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2014-10-10
在线时间
42 小时
发表于 2015-11-3 11:51:43 | 显示全部楼层 |阅读模式
5金钱
下面附件有我写的一个IAP的工程,做了块新的板子,用的是STM32F103RET6,当跳转进APP时发现进入了HardFault_Handler,把FLASH内的数据读出来,发现BIN文件有1K写进去间隔1K写不进去的,这程序在之前的STM32F103RBT6的一块学习板上运行时是可以写进FLASH并且跳转正常,这程序是否有些BUG没注意到的或者是错误的地方,希望各位大神能指出下,整个工程文件和上位机的发送BIN文件的软件都附件上来了。

program.rar

4.67 MB, 下载次数: 87

下载程序.rar

241.63 KB, 下载次数: 275

最佳答案

查看完整内容[请看2#楼]

谢谢各位大神,原因找到了,APP首地址选用的是0X08003C00为偏移了15K奇数K地址,我是接收1K数据写入1K的,在擦除时由于1页2K所以把前半页给擦除掉了,所以就出1K写进去,1K写不进去的现象。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2014-10-10
在线时间
42 小时
 楼主| 发表于 2015-11-3 11:51:44 | 显示全部楼层
谢谢各位大神,原因找到了,APP首地址选用的是0X08003C00为偏移了15K奇数K地址,我是接收1K数据写入1K的,在擦除时由于1页2K所以把前半页给擦除掉了,所以就出1K写进去,1K写不进去的现象。
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2015-11-3 13:33:57 | 显示全部楼层
范围面太宽,自己多测试仿真找找问题吧
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

5

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2014-10-10
在线时间
42 小时
 楼主| 发表于 2015-11-3 13:39:04 | 显示全部楼层
回复【2楼】龙之谷:
---------------------------------
上位机的程序是没问题的,单片机的程序出现问题,用JTAG直接download程序是没问题的,跳转也是可以的;怀疑是操作flash的时候出问题,可是没找到问题出在哪里。
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2015-11-3 13:45:47 | 显示全部楼层
回复【3楼】lwy28808722:
---------------------------------
间隔1K能够写,问题有可能在接收、写入的循环函数里面,针对性的检查一下吧

你在二楼的话应该在发帖的时候在楼主位交代清楚,最好再把可疑点贴一下图,你发帖多整理几分钟,解决的效率会提高很多
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2015-11-3 13:47:25 | 显示全部楼层
看下STM32F103RET6是不是大容量,大用量和小容量flash的写法不一样的。
站在巨人的肩膀上不断的前进。。。
回复

使用道具 举报

5

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2014-10-10
在线时间
42 小时
 楼主| 发表于 2015-11-3 14:04:05 | 显示全部楼层
回复【5楼】xiaoyan:
---------------------------------
RET是大容量的
回复

使用道具 举报

5

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2014-10-10
在线时间
42 小时
 楼主| 发表于 2015-11-3 19:00:33 | 显示全部楼层
回复【5楼】xiaoyan:
---------------------------------
大容量的芯片写法应该是怎样的呢,我只知道擦除的时候是1页2K的,标志位显示擦除是成功的,返回FLASH_ErasePage()函数返回的值是FLASH_COMPLETE的,可是写进去FLASH就不太清楚了。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 18:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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