搜索
bottom↓
回复: 361

为了更快普及STM8,我做了一个STM8串口下载程序教程

  [复制链接]

出0入85汤圆

发表于 2010-8-14 16:54:46 | 显示全部楼层 |阅读模式
现在越来越多人用STM8了,我也跟上大众,一起凑热闹。刚开始以为STM8可以随便用串口下载程序,于是从阿莫那买了个STM8S Mini Kit,买回来后发现不能串口下载,郁闷之极。后来咬咬牙,再买一个三合一,用ST-Link下载程序,真是冤大头。后来想想再试试如何用串口下载程序,多一种方式备用也好。在网上搜索,发现几乎没有详细的相关教程,只好自己探索了。经过多次摸索,终于明白了如何用串口下载程序到STM8了,而且不像网上流传那样是一次性的。
不敢独享,做成教程,本文以三合一板为例,所有步骤均带电操作。
正文
第一步:

(原文件名:1_a.jpg)
打开STVP,选择Configure -> Configure ST Visual Programmer。
第二步

(原文件名:2_a.jpg)
选择ST-Link、SWIM、STM8S207SB,确定。
第三步:

(原文件名:3_a.jpg)
选择OPTION BYTE选项卡,点击其中的BOOTLOADER ENABLE,把默认的Bootloader Disable改为Bootloader Enable。
第四步:

(原文件名:4_a.jpg)
无需切换到其它选项卡,直接Program -> Current tab。

(原文件名:5_a.jpg)
输出窗口会有提示。
第五步:

(原文件名:6_a.jpg)
打开Flash Loader Demonstrator V2.2.0,如图设置,我是用PL2303HX USB转串口。按下STM8S Mini Kit上的复位按键,松手后马上点击Next。
第六步:

(原文件名:7_a.jpg)
连接成功后会弹出以上警告,确定。因为刚启动软件还没有选择合适器件,下载完毕不关掉软件再重复一次就没有这个警告了。
第七步:

(原文件名:8_a.jpg)
Target选择STM_128K,Next。
第八步:

(原文件名:9_a.jpg)
这个界面可以选择擦除、下载、读取操作,我们主要目的是下载。选择好下载文件,擦除(擦除必要页、不擦除、全部擦除)按需选择一项。可以勾选的选项有:跳到用户程序(下载完毕)、优化(去掉某些0xFF)、下载后校检。接着Next。
第九步:

(原文件名:10_a.jpg)
正在下载时的界面,速度比SWIM还快。

(原文件名:11_a.jpg)
下载完毕,可以Close关闭软件,也可以Back返回第五步重新下载,这时第六步的警告窗口就没有了,直接到第七步。
好了,就是这样简单。

串口下载支持的器件

(原文件名:12.jpg)

制作成的PDF
点击此处下载 ourdev_575030.pdf(文件大小:561K) (原文件名:STM8串口下载程序教程.pdf)

STM8S Mini KIT原理图
点击此处下载 ourdev_575065.PDF(文件大小:725K) (原文件名:STM8S Mini KIT原理图.PDF)

STM8S_L快速选型
点击此处下载 ourdev_575066.rar(文件大小:57K) (原文件名:STM8S_L快速选型.rar)

STM8串口ISP问答
点击此处下载 ourdev_575064.pdf(文件大小:312K) (原文件名:STM8 bootloader frequently asked questions.pdf)

我演示的程序,IAR环境
点击此处下载 ourdev_575032.rar(文件大小:16K) (原文件名:BreathLED.rar)

PL2303的原理图
点击此处下载 ourdev_575063.pdf(文件大小:44K) (原文件名:PL-2303HX.pdf)

我用的PL2303驱动,也适用S*T*C单片机
点击此处下载 ourdev_575033.rar(文件大小:51K) (原文件名:PL2303 2.0.0.11 驱动.rar)

绿色版的STVP和Flaash Loader
点击此处下载 ourdev_575034.rar(文件大小:4.89M) (原文件名:STVP.rar)
点击此处下载 ourdev_575035.rar(文件大小:2.81M) (原文件名:Flash Loader Demonstrator.rar)

------------------------------------------------------------------------------------
据说出厂时Bootloader已经Enable(STM8 bootloader frequently asked questions上说片子是空的就Enable),谁有新片请麻烦读出来看看。还有打开Bootloader后启动会慢了1s,STM8 bootloader frequently asked questions上有说。

为了防止www.**ic.com转载,水印较多

出0入168汤圆

发表于 2010-8-14 16:56:18 | 显示全部楼层
沙发。

出0入0汤圆

发表于 2010-8-14 17:12:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-14 17:49:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-14 17:55:52 | 显示全部楼层
收藏!

出0入168汤圆

发表于 2010-8-14 17:59:01 | 显示全部楼层
STM8S103不行。

出0入0汤圆

发表于 2010-8-14 18:07:34 | 显示全部楼层
mark
正需要!

出0入90汤圆

发表于 2010-8-14 18:09:35 | 显示全部楼层
103本来就不行!105的可以!!!!

出0入0汤圆

发表于 2010-8-14 18:28:33 | 显示全部楼层

出0入0汤圆

发表于 2010-8-14 18:34:05 | 显示全部楼层
记下

出0入0汤圆

发表于 2010-8-14 19:12:58 | 显示全部楼层
不错,有空买几片试试。

出0入0汤圆

发表于 2010-8-14 20:50:44 | 显示全部楼层
mark
刚买了个三合一玩玩

出0入50汤圆

发表于 2010-8-14 23:03:21 | 显示全部楼层
mark

出0入4汤圆

发表于 2010-8-14 23:40:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-15 08:39:05 | 显示全部楼层
jihao

出0入0汤圆

发表于 2010-8-15 08:57:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-15 09:08:46 | 显示全部楼层
学习了。谢谢LZ

出0入0汤圆

发表于 2010-8-15 11:14:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-15 13:24:26 | 显示全部楼层
呼唤阿莫
出现酷贴了

出0入0汤圆

发表于 2010-8-15 22:19:19 | 显示全部楼层
好东西

出0入46汤圆

发表于 2010-8-15 22:29:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-15 22:39:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-16 09:02:21 | 显示全部楼层
恩 可以参考研究一下

出0入0汤圆

发表于 2010-8-16 09:27:30 | 显示全部楼层
mark

出0入8汤圆

发表于 2010-8-16 10:36:49 | 显示全部楼层
我记得我在21 ic和这里的帖子里都回答过这个问题,只是没截图,因为没认为这个操作很难理解。

好吧,我将它整理到置顶的精华贴里面去。

出0入0汤圆

发表于 2010-8-16 10:50:37 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-8-16 11:04:12 | 显示全部楼层
我也MARK一下.

出0入0汤圆

发表于 2010-8-16 11:25:23 | 显示全部楼层
留个记号

出0入0汤圆

发表于 2010-8-16 11:42:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-16 12:15:14 | 显示全部楼层
试过STM8L152和STM8S105的空片,OPTION BYTE中的BOOTLOADER ENABLE都是Bootloader Disable,需要改过才能用。启动是慢了一秒。感觉不太好,时间有些长,要是应用程序有串口通信,且在1秒内恰收到同步头,那就乱了套了,没准,收到的一堆乱七八糟的数据里恰包含擦除命令,没准把芯片擦除了。(都是乱猜测的,实际没有碰到过)

出0入0汤圆

发表于 2010-8-16 12:51:15 | 显示全部楼层
正需要,谢!

出0入0汤圆

发表于 2010-8-16 13:02:44 | 显示全部楼层
MARK一下。

出0入0汤圆

发表于 2010-8-16 13:16:15 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-16 13:50:40 | 显示全部楼层
第五步:按下STM8S Mini Kit上的复位按键,松手后马上点击Next。
“松手后马上点击”应该怎样理解?人比电快?还是照做就行了?

出0入85汤圆

 楼主| 发表于 2010-8-16 14:33:15 | 显示全部楼层
回复【30楼】wangchuanq
试过stm8l152和stm8s105的空片,option byte中的bootloader enable都是bootloader disable,需要改过才能用。启动是慢了一秒。感觉不太好,时间有些长,要是应用程序有串口通信,且在1秒内恰收到同步头,那就乱了套了,没准,收到的一堆乱七八糟的数据里恰包含擦除命令,没准把芯片擦除了。(都是乱猜测的,实际没有碰到过)
-----------------------------------------------------------------------

按你说的,飞利浦的单片机、S*T*C早就会出现这种情况了,虽然它们的启动快了些。


回复【34楼】FPGARM
第五步:按下stm8s mini kit上的复位按键,松手后马上点击next。
“松手后马上点击”应该怎样理解?人比电快?还是照做就行了?
-----------------------------------------------------------------------

bootloader enable后,上电先运行bootloader程序,等待下载命令,1s后运行用户程序

出0入0汤圆

发表于 2010-8-16 15:45:28 | 显示全部楼层
Thanks.正是时候呢, 一直都在找

出0入0汤圆

发表于 2010-8-16 16:48:06 | 显示全部楼层
mark~

出0入0汤圆

发表于 2010-8-17 20:45:19 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-8-17 21:42:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-18 10:46:47 | 显示全部楼层
mark。。。

出0入0汤圆

发表于 2010-8-18 11:47:47 | 显示全部楼层
那是不是所有新买的片子, 都需要用ST-LINK先烧录一次,然后才能用ISP下载?

出0入8汤圆

发表于 2010-8-18 12:31:34 | 显示全部楼层
看了STM8S和STM8L带Bootloader 的型号Optionbyte中关于这个选项出厂默认都是disable的。

出0入85汤圆

 楼主| 发表于 2010-8-18 13:14:18 | 显示全部楼层
回复【42楼】Grant
看了stm8s和stm8l带bootloader 的型号optionbyte中关于这个选项出厂默认都是disable的。
-----------------------------------------------------------------------

我的理解是:如果器件已经擦除,bootloader总是启用。那么出厂时候的器件不都是空的吗?bootloader启用了?

(原文件名:1.jpg)

假设出厂时候bootloader启用了,那我们可以用串口下载程序了,不过一般的程序下载后,器件不是空的了,optionbyte中也是bootloader disable的,所以这个下载是一次性的。网上流传的一次性是不是这样?

如果用这个方法呢?

(原文件名:2.jpg)

刚出厂的器件第一次下载的时候也修改optionbyte,把bootloader enable。那么串口下载就不是一次性了。这时只需一个特别的S19文件,其中0x487e,0x487f是0xaa55。这样就可以不需要用到ST-Link去bootloader enable了。

我现在没有新的片子了,Grant可以验证下吗?

出0入0汤圆

发表于 2010-8-18 13:23:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-18 13:35:50 | 显示全部楼层
正准备用STM8了,mark

出0入0汤圆

发表于 2010-8-18 18:54:14 | 显示全部楼层
回复【43楼】bluefeel
-----------------------------------------------------------------------

你好, 最近看了这个之后我也打算买块STM8试试, 我想问一下, 正常的烧写文件是hex吗,你说的那个S19是编译后就生成的文件吗?
还是需要特别转换的?印象中在STM32中使用USB下载是要转S19文件的,

出0入85汤圆

 楼主| 发表于 2010-8-18 20:07:32 | 显示全部楼层
回复【46楼】sn2101
回复【43楼】bluefeel  
-----------------------------------------------------------------------
你好, 最近看了这个之后我也打算买块stm8试试, 我想问一下, 正常的烧写文件是hex吗,你说的那个s19是编译后就生成的文件吗?
还是需要特别转换的?印象中在stm32中使用usb下载是要转s19文件的,
-----------------------------------------------------------------------

在你问我的时间里搜索马上就出来结果了,要懂得用搜索引擎

S19和HEX都是相似类型的文件,用来描述存储空间里的数据,比如某个地址放某个数据,只是描述方式不一样。S19格式是摩托罗拉创作的,HEX格式是英特尔发明的

出0入85汤圆

 楼主| 发表于 2010-8-19 16:09:43 | 显示全部楼层
终于可以抛弃ST-Link进行无限制串口下载了,只要买回来的新片子第一次编程用串口下载下面的程序,那么可以一直使用串口下载程序了。
点击此处下载 ourdev_576145.rar(文件大小:13K) (原文件名:BL_EN.rar)

出0入0汤圆

发表于 2010-8-19 16:12:20 | 显示全部楼层
很好,学习。

出0入18汤圆

发表于 2010-8-19 16:38:05 | 显示全部楼层
真的不错

出0入0汤圆

发表于 2010-8-19 16:52:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-19 16:55:00 | 显示全部楼层
mark.haha

出0入0汤圆

发表于 2010-8-19 18:12:26 | 显示全部楼层
ding

出0入0汤圆

发表于 2010-8-19 20:31:05 | 显示全部楼层
mark

出0入8汤圆

发表于 2010-8-19 22:38:33 | 显示全部楼层
【43楼】 bluefeel
没看到你的帖子,在外地出差。周末我也试试,是否真是如此。

出0入0汤圆

发表于 2010-8-20 08:09:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-20 08:17:56 | 显示全部楼层
MARK之!!

出0入0汤圆

发表于 2010-8-20 13:03:50 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-8-20 14:28:39 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-8-20 14:58:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-20 14:59:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-20 16:06:08 | 显示全部楼层
回复【楼主位】bluefeel
-----------------------------------------------------------------------

dddddddddd

出0入0汤圆

发表于 2010-8-20 16:10:05 | 显示全部楼层
回复【楼主位】bluefeel
-----------------------------------------------------------------------

太好了 谢谢lz

出0入0汤圆

发表于 2010-8-20 17:06:55 | 显示全部楼层
非常感谢的说

出0入0汤圆

发表于 2010-8-20 17:11:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-20 18:08:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-20 18:47:18 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-8-20 20:02:20 | 显示全部楼层
学习了!!!

出0入0汤圆

发表于 2010-8-22 20:53:13 | 显示全部楼层
顶一下,有空试一下.

出0入0汤圆

发表于 2010-8-22 21:54:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-23 23:14:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-24 14:19:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-24 22:18:47 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-8-26 16:28:24 | 显示全部楼层
厉害!学习ING!

出0入0汤圆

发表于 2010-8-26 17:33:17 | 显示全部楼层
谢谢

出0入0汤圆

发表于 2010-8-29 23:15:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-30 15:27:15 | 显示全部楼层
mark一下,感谢楼主的教程.
现在研究207C8呢,下载的时候试试了.

出0入0汤圆

发表于 2010-8-30 17:53:32 | 显示全部楼层
很好很强大,收藏
头像被屏蔽

出0入0汤圆

发表于 2010-8-31 09:34:45 | 显示全部楼层
学习········

出0入0汤圆

发表于 2010-8-31 09:55:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-31 17:01:04 | 显示全部楼层
mark.

出0入0汤圆

发表于 2010-9-1 10:29:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-1 21:23:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-4 10:37:25 | 显示全部楼层
回复【46楼】sn2101
-----------------------------------------------------------------------

现在ST为了推广STM8  特意制作了2款三合一开发板 你可以去看看
意法半导体MCU三合一体验套装
http://item.taobao.com/item.htm?id=7255642036

ST MCU三合一开发板
http://item.taobao.com/item.htm?id=7255367850

出0入0汤圆

发表于 2010-9-6 10:30:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-8 09:20:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-8 11:20:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-13 02:58:46 | 显示全部楼层
谢谢

出0入0汤圆

发表于 2010-9-13 08:40:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-14 21:50:34 | 显示全部楼层

(原文件名:$N9_O4%17TML5YI){]{IO2O.jpg)   我的会出现这样的错误,不知道是什么错误 而且要选echo:disabled 才能进入

出0入0汤圆

发表于 2010-9-14 21:55:42 | 显示全部楼层
上面的图片是选了 66.13KB  的S192文件 是不合理的    我试个2KB的S19文件也出现同样的错误

出0入85汤圆

 楼主| 发表于 2010-9-14 22:51:28 | 显示全部楼层
回复【91楼】11yuxiaofeng
上面的图片是选了 66.13kb  的s192文件 是不合理的    我试个2kb的s19文件也出现同样的错误
-----------------------------------------------------------------------

不知道你这个66.13KB文件从何而来,下载文件有问题是不能下载的

我编译的文件
点击此处下载 ourdev_583033DD0ORM.rar(文件大小:381字节) (原文件名:BL_EN.rar)

出0入0汤圆

发表于 2010-9-15 04:25:26 | 显示全部楼层
回复【92楼】bluefeel 郁闷感觉
-----------------------------------------------------------------------

楼主 的三合一,用ST-Link下载程序,真是冤大头。 但ST-Link是不是可以仿真啊,三合一多少钱 ?是不是贵了

出0入0汤圆

发表于 2010-9-15 12:30:44 | 显示全部楼层
【92楼】bluefeel 郁闷感觉
回复【91楼】11yuxiaofeng  
上面的图片是选了 66.13kb  的s192文件 是不合理的    我试个2kb的s19文件也出现同样的错误  
-----------------------------------------------------------------------
不知道你这个66.13kb文件从何而来,下载文件有问题是不能下载的
我编译的文件
点击此处下载  (原文件名:bl_en.rar)
-----------------------------------------------------------------------

我用你上面那个也出现同样的错误

出0入0汤圆

发表于 2010-9-15 12:44:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-15 21:00:04 | 显示全部楼层
找到原因了 好像是新的片子(stm8S208R8)没有Bootloader,用stlink 烧写使能一下 Bootloader   就可以用串口烧写了

出0入0汤圆

发表于 2010-9-23 12:33:38 | 显示全部楼层
可惜 我有的芯片是 STM32F103C8T6

出0入0汤圆

发表于 2010-9-26 19:59:29 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-9-26 20:09:06 | 显示全部楼层
STM8S103K3T6C可以用串口下载吗?

出0入85汤圆

 楼主| 发表于 2010-9-26 20:44:44 | 显示全部楼层
回复【99楼】mick
stm8s103k3t6c可以用串口下载吗?
-----------------------------------------------------------------------

上面说得很清楚了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 00:09

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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