打印
[STM8]

求SWIM的主机实现参考代码

[复制链接]
1263|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aozima|  楼主 | 2016-7-27 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
板上有两颗MCU,STM32+STM8

STM32是主控,有联网功能,所以打算在STM32上面跑SWIM主机协议来更新STM8
这样免去了STM8的量产烧写,以及后面有更新时,统一更新STM32这边的固件即可

所以现在需要用软件通过IO口来模拟SWIM主机协议,以及STM8的FLASH和option byte烧写算法。
请问哪里有没有现成的示例参考,这样能省不少功夫。
沙发
lxyppc| | 2016-7-27 16:48 | 只看该作者
swim协议很简单的
stlink的官方实现是把两个timer接在swim脚上
一个配置成pwm output,一个配制成pwm input
参考代码在github上有一份,你搜stm8 swim

使用特权

评论回复
板凳
aozima|  楼主 | 2016-7-27 17:06 | 只看该作者
lxyppc 发表于 2016-7-27 16:48
swim协议很简单的
stlink的官方实现是把两个timer接在swim脚上
一个配置成pwm output,一个配制成pwm input ...

好的,搜了一部分,打算小研究再选择参考。

不过我只有一个IO,而且而且没有timer,所以只能IO模拟,到时数systick来计时吧。
希望能满足时序要求。

使用特权

评论回复
地板
lxyppc| | 2016-7-27 18:40 | 只看该作者
aozima 发表于 2016-7-27 17:06
好的,搜了一部分,打算小研究再选择参考。

不过我只有一个IO,而且而且没有timer,所以只能IO模拟,到 ...

估计够呛了,模拟的时候啥也干不了了

使用特权

评论回复
5
aozima|  楼主 | 2016-7-27 18:52 | 只看该作者
lxyppc 发表于 2016-7-27 18:40
估计够呛了,模拟的时候啥也干不了了

只要求模拟能满足时序要求即可,不要求主机此时再做其它事情。
毕竟只是升级或是工厂测试时用一下而已。

使用特权

评论回复
6
lxyppc| | 2016-7-27 19:08 | 只看该作者
swim简而言之就是一个占空比变化的PWM
高速模式频率是800K,占空比20%,80%间变化
低速模式360K,占空比9%,91%间变化
能识别,能输出就满足

使用特权

评论回复
7
icecut| | 2016-7-28 10:11 | 只看该作者
好厉害

使用特权

评论回复
8
aozima|  楼主 | 2016-8-20 16:33 | 只看该作者
再请教一下:

1. SWIM通讯期间,RST是否可以一直为低?
还是仅在握手阶段为低一下,确保进入SWIM,然后就得为高。

2. SWIM通讯期间,IO是什么状态?
通过进入SWIM时的复位,IO恢复为初始状态?
然后是否可以通过SWIM修改IO的寄存器来控制IO?比如点亮一个LED等?

不知有没大拿刚好研究过这块?

使用特权

评论回复
9
neomissing| | 2016-8-20 17:27 | 只看该作者
我已经搞定,你那个肯定不好弄,这个设计是很讲究的

使用特权

评论回复
10
lxyppc| | 2016-8-20 18:59 | 只看该作者
aozima 发表于 2016-8-20 16:33
再请教一下:

1. SWIM通讯期间,RST是否可以一直为低?

握手之后就可以拉高了
swim可以访问所有地址空间,设置IO完全可以

使用特权

评论回复
11
aozima|  楼主 | 2016-8-20 19:28 | 只看该作者
本帖最后由 aozima 于 2016-8-20 19:29 编辑
lxyppc 发表于 2016-8-20 18:59
握手之后就可以拉高了
swim可以访问所有地址空间,设置IO完全可以

非常感谢!

握手之后就可以拉高了

是指IO还是RST?因为板上有多个MCU,所以设计为拉低RST时也锁定电源,
如果RST要SWIM访问期间必须要拉高的话,那就得多空出来一个IO来锁定电源了。
现在非常缺IO。

嗯,既然SWIM可以访问所有空间,所以完全可以控制一下IO。
这点明了啦!

看到周一找硬件测试一下,用RST一直拉低,然后用ST-LINK来下载,如果可以下载成功的话,说明是可以的。

使用特权

评论回复
12
309030| | 2016-8-20 21:53 | 只看该作者
swim可以访问所有地址空间,设置IO完全可以

使用特权

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

本版积分规则

55

主题

2015

帖子

23

粉丝