[STM8] STM8--通过SWIM协议--可以对寄存器(0x7F80)写入,但是内存空间写不进

[复制链接]
 楼主| dddingjianlin 发表于 2013-4-14 17:34 | 显示全部楼层 |阅读模式
最近小弟在研究stm8的SWIM协议,现在可以通过SWIM协议对stm8内存空间的读操作,但是对内存空间的写操作还是不行;
问题最纠结的是:发现可以对寄存器SWIM_CSR(0x7F80)可以写入读出,写入读出数据都比对ok!
但是对内存地址0x9000或0x4000(E2起始地址),发现写入无效,所以小弟在这里请教一下高手们,
SWIM协议中对写寄存器和对内存地址写有区别吗?还是我理解有误!!
我捕捉过写过程中的时序,从机ACK也正确回复1了,但是对内存地址就是写不进去,真伤!
IJK 发表于 2013-4-14 17:39 | 显示全部楼层
走得太快了。
应该先写、读RAM,看是否行。
然后才能写、读FLASH/E2
 楼主| dddingjianlin 发表于 2013-4-14 18:22 | 显示全部楼层
IJK 发表于 2013-4-14 17:39
走得太快了。
应该先写、读RAM,看是否行。
然后才能写、读FLASH/E2

好,非常感谢!我好像在swim参考手册没发现这样的说明!
明天早上试一下先对RAM的写读,
我走完reset低电平需要处理的流程之后,就去读flash和E2发现是ok的!
按理说,写和读是同一等级别的,可以读就可以写的,难不成被写保护了,需要
特殊处理一下才能可以写》?这是我现在的疑问!

cjhk 发表于 2013-4-14 20:05 | 显示全部楼层
应该问题不大吧   呵呵   这个很简单吧   应该不熟悉寄存器的设置而已   呵呵
 楼主| dddingjianlin 发表于 2013-4-15 08:57 | 显示全部楼层
今天早上试过了,对RAM是可以正常读和写的,对flash和E2还是不行。
4L说的对寄存器不熟悉,我想也是!我在仔细看看...
哪位大神可以指导一二!感激不敬..
IJK 发表于 2013-4-15 09:54 | 显示全部楼层
对flash和E2不行,是正常的。对flash和E2写,其实是进行编程操作,需要走编程流程的----要操作几个flash相关的寄存器,可以看相应的flash编程手册。

评分

参与人数 1威望 +1 收起 理由
dddingjianlin + 1 15

查看全部评分

 楼主| dddingjianlin 发表于 2013-4-15 11:12 | 显示全部楼层
IJK 发表于 2013-4-15 09:54
对flash和E2不行,是正常的。对flash和E2写,其实是进行编程操作,需要走编程流程的----要操作几个flash相 ...

是的,的确如此。
我早上想到了,已经测试程序成功了!
desertsailor 发表于 2013-4-17 12:15 | 显示全部楼层
没仔细看手册,flash编程手册上有讲到写入步骤。
大秦正声 发表于 2013-4-17 15:58 | 显示全部楼层
很不错!用在脱机编程器吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部