搜索
bottom↓
回复: 159

经受不住STM8S003的低价诱惑,积极备战,为配合量产准备先弄个脱机烧写器,一带四

  [复制链接]

出0入0汤圆

发表于 2011-12-6 19:22:53 | 显示全部楼层 |阅读模式
程序还没开始写,先画原理图和PCB

规划如下:

烧写器主控芯片为STM32F103C8,程序通过上位机灌入到脱机板, USBHID设备,无驱设计

烧写器通过SWIM接口对STM8S系列芯片进行烧写

配合目标板4拼或者8拼版,一带四脱机烧写,可以积木式堆叠,

脱机烧写部分都是独立单片机控制目标芯片烧写,

可通过一个总的烧写开关同时启动烧写,也可单独烧写。

先上原理图和PCB图,protel99格式,有兴趣的朋友一起玩

点击此处下载 ourdev_702206GFYKRY.rar(文件大小:162K) (原文件名:STM8S脱机烧写原理图及PCB.rar)


原理图PDF文件:
点击此处下载 ourdev_702207PX2C4A.pdf(文件大小:38K) (原文件名:STM8SWIM一带四脱机烧写器.pdf)

出0入0汤圆

发表于 2011-12-6 19:25:29 | 显示全部楼层
好,支持,我提前预定一台,这样机器出来了,给力丫,我给你推广。

出0入0汤圆

发表于 2011-12-6 19:26:51 | 显示全部楼层
1拖4,4个主控cpu

出0入0汤圆

 楼主| 发表于 2011-12-6 19:27:35 | 显示全部楼层
SWIM接口部分,参考的STM8S-Discovery上的ST-LINK画的

有关SWIM接口编程协议,已经从本论坛上下载了,明天准备打板

出0入0汤圆

发表于 2011-12-6 19:36:14 | 显示全部楼层
这个工作量最大的应该是软件。

出0入0汤圆

 楼主| 发表于 2011-12-6 19:57:10 | 显示全部楼层
TO楼上zhifeng兄,

确实工作量大,不过不考虑像您写的progisp那样通用,专用的东西,怎么简单怎么做

主要是考虑到后期烧写控制灵活不得不自己做,可以说被逼的

我想很多问题大家都遇到过,就是你辛苦搞出来的程序,

交给助手,助手背叛了你,不知道拿你的程序干什么去了.

最起码可以做到,控制代码安全,烧写多少数量都可以控制.

STM芯片的序列号灵活运用的话,也需要自己搞烧写器才方便

出0入0汤圆

发表于 2011-12-6 20:29:49 | 显示全部楼层
这个必须要顶~~~

出0入0汤圆

发表于 2011-12-6 20:33:52 | 显示全部楼层
脱机烧写的前途不错,不过如果自用的话可以考虑买现成的,内置hex加密功能,只能灌进烧写器,不能读出来

出0入0汤圆

发表于 2011-12-6 20:44:55 | 显示全部楼层
标记

出0入12汤圆

发表于 2011-12-6 20:46:58 | 显示全部楼层
哇,楼主福州银啊,省城啊

出0入0汤圆

发表于 2011-12-6 20:48:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 20:55:20 | 显示全部楼层
支持楼主.

出0入0汤圆

发表于 2011-12-6 21:20:34 | 显示全部楼层
ding

出0入0汤圆

发表于 2011-12-6 22:07:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 23:56:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-7 00:01:23 | 显示全部楼层
顶楼主@@

出0入0汤圆

发表于 2011-12-7 00:15:39 | 显示全部楼层
支持楼主.

出0入59汤圆

发表于 2011-12-7 01:32:01 | 显示全部楼层
脱机是很方便啊
头像被屏蔽

出0入0汤圆

发表于 2011-12-7 09:23:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-12-7 09:55:40 | 显示全部楼层
1,能不能用一个STM32通讯,烧录的时候可以多STM32,当然最好一个STM32!

2,为什么不用SPI FLASH?用24CXX能放下程序吗?
24CXX速度太慢了

出50入0汤圆

发表于 2011-12-7 12:26:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-7 13:22:16 | 显示全部楼层
支持LZ   厉害的

出0入0汤圆

发表于 2011-12-7 13:34:18 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-12-7 17:55:16 | 显示全部楼层
TO; 19楼,规则程序下载到在STM32F103中空余的flash区中,留个24Cxx的接口,是备用,之前做avr脱机的时候吗,程序从24Cxx中读,感觉速度也不慢

出0入0汤圆

发表于 2011-12-7 21:19:42 | 显示全部楼层
也有做这个的打算,一直没有动手
有关SWIM接口编程协议---  还没有找这个方面的资料,我想对STM32编程

出0入0汤圆

发表于 2011-12-7 22:09:24 | 显示全部楼层
楼主是个高人。有啥收货记得教教咱们了!

出0入0汤圆

发表于 2011-12-8 08:32:29 | 显示全部楼层
程序保存.....用SD卡可能更好吧?

出0入0汤圆

 楼主| 发表于 2011-12-8 09:59:42 | 显示全部楼层
TO:24楼,论坛中有中文翻译的,看下面的连接,准备参考这个文档做,而且STM32芯片是SWD接口,没有SWIM
http://www.ourdev.cn/bbs/bbs_content.js p?bbs_sn=4385658&bbs_page_no=1&search_mode=1&search_text=SWIM&bbs_id=3020

TO:26楼,不想搞的太复杂,用SD卡不是更容易泄密,本来就是想下载到芯片,不让闲杂人等复制

规划: 主芯片32F103C8T6留下8K空间作为STM8SF103的镜像空间

第一步要完成的是: 上位机程序编制,能将Hex文件的内容下载到主控芯片上预留的8K空间中

出0入0汤圆

发表于 2011-12-8 14:50:55 | 显示全部楼层
回复【27楼】whimsy  
-----------------------------------------------------------------------

能不能通过一片STM32F103C8同时对4个或8个目标进行烧写?加入一个液晶屏可以更直观观察状态,方便操作。

出0入0汤圆

发表于 2011-12-8 17:32:24 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-8 18:23:19 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-12-9 09:17:21 | 显示全部楼层
TO:28楼

我好像想不出好的办法一个CPU同时控制4个目标芯片,因为SWIM通讯协议对时序的要求还是挺快的,
不知道其他高手是否有什么好的建议

另外:个人感觉,这个东西基本上与成本无关,就是下载代码到主控芯片的时候麻烦了点,要分4次
不过测试了下,针对8Kbyte的数据量,也就是2秒的时间下载完成

至于液晶显示,那是很容易实现的,本着简单实用原则,第一个版本没有考虑

出0入0汤圆

发表于 2011-12-9 09:21:42 | 显示全部楼层
支持支持~

出0入0汤圆

发表于 2011-12-9 09:45:03 | 显示全部楼层
这个支持

出0入0汤圆

发表于 2011-12-9 10:54:00 | 显示全部楼层
guanzhu

出0入0汤圆

发表于 2011-12-9 11:16:11 | 显示全部楼层
不错

出0入0汤圆

发表于 2011-12-9 12:39:54 | 显示全部楼层
我是用STM32的芯片同时写8片SPI FLASH,不知道你这个能不能同时写

出0入0汤圆

 楼主| 发表于 2011-12-9 13:58:54 | 显示全部楼层
TO楼上,SPI通讯有SCK来同步,SWIM通讯是单线的,没有时钟线用来同步,对时序要求高

出0入0汤圆

发表于 2011-12-9 14:37:54 | 显示全部楼层
顶楼主,期待你的大作

出0入0汤圆

发表于 2011-12-9 15:13:25 | 显示全部楼层
再次支持楼主,我手上有批量 的12864 LCD,ST7565 驱动,串口、并口的都有,如果需要到,
我可以安排一些给您,Free Sample

出0入0汤圆

发表于 2011-12-9 15:21:54 | 显示全部楼层
呵呵,楼主成救世主了.被一圈人盯上了.估计山寨大军虎视眈眈了.

智峰当年的教训马上又要上演了.

楼主是好人,有高人免费开发这等事百年难得一遇啊,坐等山寨...

出0入0汤圆

发表于 2011-12-9 16:15:33 | 显示全部楼层
顶楼主,顺带做个stm32的脱机烧写器吧,市场上还没的。stm8好像可以买到也不贵啊

出0入0汤圆

 楼主| 发表于 2011-12-10 18:57:59 | 显示全部楼层
TO: 40楼的兄弟

我没这么能干,只是把自己想做的东西跟大家一起沟通下

板还没收到,先开始测试上位机和脱机板的下载文件测试

第一阶段固件源代码:
点击此处下载 ourdev_703456LMZ62X.rar(文件大小:463K) (原文件名:STM8S-USBSWIM(HW).rar)

代码参考的官方和论坛的资料改的,现在有个小问题未解决,希望跟熟悉USBHID的朋友讨论下.

上位机测试程序:
点击此处下载 ourdev_703457NFYVS0.rar(文件大小:57K) (原文件名:Software.rar)


今天测试后发现,目前完成的代码,来做类似简化的DFU, 实现USBHID在线更新固件程序还是不错的

毕竟每次用DFU的时候,都要转换文件,官方的工具用起来实在太麻烦了.

出0入0汤圆

发表于 2011-12-10 19:43:57 | 显示全部楼层
了想学,多谢楼主!

出0入0汤圆

发表于 2011-12-10 19:44:26 | 显示全部楼层
酷。实在是酷

出0入0汤圆

发表于 2011-12-10 21:03:43 | 显示全部楼层
不懂stm,纯支持。

出0入0汤圆

发表于 2011-12-11 12:12:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-11 15:51:57 | 显示全部楼层
我做了支持NEC,PIC24,SPI FLASH的。在NEC论坛。USBHID支持自身的软硬件更新,不过没有做成脱机的。
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5101884&bbs_page_no=1&bbs_id=3013

出0入0汤圆

发表于 2011-12-11 16:05:19 | 显示全部楼层
关注

出0入0汤圆

发表于 2011-12-11 18:15:47 | 显示全部楼层
楼主用4个独立主控的思路很好,空间换时间
但用Delay的方式实现SWIM不好,一是中断要全关闭,二是ARM的流水线会使得计算延时更加复杂

出0入0汤圆

发表于 2011-12-11 18:33:20 | 显示全部楼层
【23楼】 whimsy
        TO; 19楼,规则程序下载到在STM32F103中空余的flash区中,留个24Cxx的接口,是备用,之前做avr脱机的时候吗,程序从24Cxx中读,感觉速度也不慢

------------------------------------------------------------------------------
附议19楼的建议:
1、STM32的程序Flash的寿命1W次的,而数据Flash芯片一般是10W次,EE芯片100W次,这是芯片工艺的问题
2、I2C的读取速度比SPI慢,比如STM32支持18M bps的SPI,I2C一般用4K7上拉电阻几百K的速度,1M以上的I2C一般属于高速I2C了
我前年给一个客户定制的SWIM烧录器,用的主控也是SMT32F103芯片,存储用的是SST25VF010芯片
明年有计划转成独立的STM8烧录器

出0入0汤圆

发表于 2011-12-11 20:07:44 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-12-13 10:05:04 | 显示全部楼层
TO:49楼,初次做swim,没什么经验,感谢你分享的经验.

不用延时的话,那就是要用定时器来处理了?

至于储存器这个问题,我是这样的设想,毕竟这个东西准备自己用,
如果没遇到产品升级,是不会经常性的下载,所以优先考虑用主控制芯片的内部空余的FLASH
而且我是不同的产品线,不同的脱机烧写板,基本上STM32的烧写寿命忽略

出0入0汤圆

发表于 2011-12-13 10:59:44 | 显示全部楼层
未雨绸缪

出0入0汤圆

发表于 2011-12-13 11:15:48 | 显示全部楼层
刚才看到有支持STM8S003的脱机编程器了

出0入0汤圆

 楼主| 发表于 2011-12-15 16:49:20 | 显示全部楼层
找到了versaloon开源的swim源代码,真不错,只要熟悉下,移植过来就可以了
http://vsprog.googlecode.com/svn/trunk/dongle/firmware/

出0入0汤圆

发表于 2011-12-18 10:54:51 | 显示全部楼层
看了下源码,看不懂SWIM时序在哪里处理的啊。

出0入0汤圆

发表于 2011-12-18 11:50:08 | 显示全部楼层
顶楼主

出0入0汤圆

发表于 2011-12-18 15:45:50 | 显示全部楼层
必须顶

出0入0汤圆

发表于 2011-12-19 15:09:50 | 显示全部楼层
期待啦

出0入0汤圆

发表于 2011-12-19 16:05:48 | 显示全部楼层
看看按这个,放那里几个月了,都没时间搞。

(原文件名:007.jpg)

出0入0汤圆

 楼主| 发表于 2011-12-19 16:34:35 | 显示全部楼层
TO:56楼

不是你看不懂,而是swim的代码还没开始写,正在分析versaloon的开源代码swim部分,感觉要是用他开源的代码,硬件还要重新调整

versaloon,利用了tim3和tim4,以及dma来处理读写,看了有点晕呼呼的

TO:60楼
  zhifeng大侠,赶快搞啊,只要能开放出来基本的SWIM读写部分代码就可以啦,剩下的大家自己发挥

出0入0汤圆

发表于 2011-12-19 17:14:47 | 显示全部楼层
回复【61楼】whimsy  

versaloon,利用了tim3和tim4,以及dma来处理读写
-----------------------------------------------------------------------

呵呵,这个才是王道,时间才准确,不过这样搞,只能控制一路SWIM了!

出0入0汤圆

 楼主| 发表于 2011-12-19 21:16:21 | 显示全部楼层
TO.楼上,versaloon设计确实好。

之前没有研究他的硬件,画板的时候就参照stm8-discovery板上的st-link来的,

对比之后还是versaloon好,针对swim的代码分析的差不多了,准备重新画板。

出0入0汤圆

发表于 2011-12-20 11:49:40 | 显示全部楼层
回复【63楼】whimsy  
-----------------------------------------------------------------------

versaloon的原理图用什么打开呢。我试了PADS,AD,Protel都不行啊。

出0入0汤圆

 楼主| 发表于 2011-12-20 19:43:14 | 显示全部楼层
TO:楼上
看介绍是用KiCAD, 我没有操作过。



报告下问题: 读没有问题, 写flash或者eeprom, 都只能连续写入2字节,到了写第三字节的时候就出错,

分析第三字节出后,似乎是超时的,没有ACK和NAK

出0入0汤圆

发表于 2011-12-20 20:14:16 | 显示全部楼层
俺那个是新塘的芯片。不是st 的st的不支持5v所以选择新塘了。等有时间了,在做这个工作。这个东西不能做主业,要不,会被饿死的。

出0入0汤圆

发表于 2011-12-21 07:42:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-21 08:28:03 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-12-21 08:40:18 | 显示全部楼层
我也根据versaloon原理图画过板,没有用接口电平转换器件,需要调整接口的串联电阻和对地电容大小来调整信号,且电压的变化对此影响较大,否则编程时容易出错,

出0入0汤圆

发表于 2011-12-21 08:56:28 | 显示全部楼层
好帖,标记下

出0入0汤圆

发表于 2011-12-21 09:03:14 | 显示全部楼层
楼主是个好人

出0入0汤圆

 楼主| 发表于 2011-12-21 12:27:55 | 显示全部楼层
to:zhifeng, 正如你所说,不能当主业,本来做的目的就是想作为自己用的工具,所以开源

芯唐的M0-M052,价格好像很有优势,只可惜没有RTC,带rtc的都是32K以上,价格也高.


报告进度:

只能写2个字节的问题,跟踪了st-link的时序后发现,块写入的时候,要设置0000505B,flash_cr2,Flash_NCR2 bit0,块编程允许,才能一次性写64字节, 但是我调整了程序,也改写了flash_cr2,flash_NCR2,可以还是写失败

出0入0汤圆

发表于 2011-12-21 13:02:59 | 显示全部楼层
回复【72楼】whimsy
to:zhifeng, 正如你所说,不能当主业,本来做的目的就是想作为自己用的工具,所以开源
芯唐的m0-m052,价格好像很有优势,只可惜没有rtc,带rtc的都是32k以上,价格也高.
报告进度:
只能写2个字节的问题,跟踪了st-link的时序后发现,块写入的时候,要设置0000505b,flash_cr2,flash_ncr2 bit0,块编程允许,才能一次性写64字节, 但是我调整了程序,也改写了flash_cr2,flash_ncr2,可以还是写失败
-----------------------------------------------------------------------

LZ,,关系你呀。。。我喜欢这个型号。。这个型号是跑量的

出0入0汤圆

发表于 2011-12-21 14:27:11 | 显示全部楼层
学习

出0入0汤圆

 楼主| 发表于 2011-12-21 20:16:00 | 显示全部楼层
报告进度:

不能连续写的问题解决了,问题是自己粗心大意,在配置flash_cr2,flash_ncr2 没处理好.

硬件电路重新改过, SWIM脚重新定义到PB.4  另外1号烧写电路增加目标板供电控制,增加了蜂鸣器.

出0入0汤圆

发表于 2011-12-22 12:40:10 | 显示全部楼层
回复【75楼】whimsy  
-----------------------------------------------------------------------

牛,继续顶起~~~~

出0入0汤圆

 楼主| 发表于 2011-12-22 14:59:17 | 显示全部楼层
脱机烧写STM8SF103F3P6芯片,8K测试成功

SCH,PCB重新改过, 24Cxx改为SST25VF016,1号电路增加蜂鸣器和VDD输出控制
因为目前用不到dataflash,所以开源代码不含sst25vf016的部分,论坛的帖子中都有现成的

上传文件不成功,稍后继续上传代码和图纸

出0入0汤圆

发表于 2011-12-22 18:55:25 | 显示全部楼层
期待中

出0入0汤圆

 楼主| 发表于 2011-12-22 20:21:59 | 显示全部楼层
上传文件老提示这个,

“Bad Gateway
The proxy server received an invalid response from an upstream server.

出0入0汤圆

发表于 2011-12-22 20:26:02 | 显示全部楼层
脱机烧写

出0入0汤圆

发表于 2011-12-22 21:12:47 | 显示全部楼层
这个是要mark的,LZ英武

出0入0汤圆

 楼主| 发表于 2011-12-23 11:09:46 | 显示全部楼层
终于上传成功了,包含图纸和代码,PCB制作以这个版本为准

点击此处下载 ourdev_706806KNR957.rar(文件大小:760K) (原文件名:STM8S-USBSWIM开源.rar)


曾经有无数的 酷 或 非酷 的好帖子静静的躺在这里论坛,
我没有好好珍惜下载,当网站被人恶搞后,我追悔莫及,如果上天能再给我个机会
我想说,我要下载,如果一定要加个次数的话,我想要下载一万次.

出0入0汤圆

发表于 2011-12-23 12:18:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-23 12:42:23 | 显示全部楼层
顶起

出0入0汤圆

发表于 2011-12-23 22:14:19 | 显示全部楼层
lz高手!
程序好像没包含STM32的lib及USB_HID库文件。另外能实现给STM8S加密码吗?

出0入0汤圆

发表于 2011-12-24 10:39:37 | 显示全部楼层
这个给力

出0入0汤圆

发表于 2011-12-24 10:52:02 | 显示全部楼层
这个贴该穿酷字了



运行上位机器 没有找到rtl70.bpl!!!!
DELPHI 编译程序的时候,project菜单下options里的package页下的build with runtime package选项有没有打勾,记得打勾后程序在没有delphi环境下运行会有问题.不要选择build with runtime

出0入0汤圆

发表于 2011-12-24 13:50:35 | 显示全部楼层
好东西,要顶,我帮LZ上传一个能直接编译的包,加入了最新的官方std和usb库文件,
编译OK,但还没条件测试是否正常工作...


点击此处下载 ourdev_707154EEGB4Q.rar(文件大小:1.07M) (原文件名:STM8S-USBSWIM开源.rar)

出0入0汤圆

发表于 2011-12-24 14:30:12 | 显示全部楼层
不错不错

出0入0汤圆

发表于 2011-12-24 14:51:51 | 显示全部楼层
这个必须顶。备用

出0入0汤圆

发表于 2011-12-24 15:02:45 | 显示全部楼层
mark!

出10入210汤圆

发表于 2011-12-24 16:16:48 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-12-24 16:46:25 | 显示全部楼层
感谢楼主

出0入90汤圆

发表于 2011-12-24 17:25:37 | 显示全部楼层
这个一定得支持!!!!这样很多没有ST LINK的人也可以下载了!比有限型号的ISP强!

出0入0汤圆

 楼主| 发表于 2011-12-24 20:07:47 | 显示全部楼层
TO: 85楼
因为stm32 的库满大街都是,而且这个项目针对的可以说不是新手,所以打包的代码不含库

To: 【87楼】 已经是冬天了,再酷也酷不过老天爷啊

编译的这个问题,也是一直困扰我的,不管我是否选择"build with runtime package",都会出这个提示要bpl

有没有选择,只会是文件大小的差异,分别是40多K和500多K, 你看下下载的文件大小是否为5xxK

是否我的DELPHI 7 是D版的原因?

一般我是用InNo Setup做个安装包来发布
上位机安装包:
点击此处下载 ourdev_707270FOZG1V.rar(文件大小:1.34M) (原文件名:USB-SWIM安装包.rar)

出0入0汤圆

发表于 2011-12-24 20:37:35 | 显示全部楼层
to:【95楼】 whimsy
  多半是工程配置有问题。

出0入0汤圆

发表于 2011-12-25 16:27:02 | 显示全部楼层
看见楼主做了,我也心动把当时画好的板子发去做了,SWIM年初时就把驱动写好了,测试过小文件可以正常写入了,现在只支持S19文件,HEX文件到时再支持,全部搞好我也把它发上来,先上几张图。

(原文件名:DSC_8148.JPG)


(原文件名:DSC_8149.JPG)

出0入0汤圆

发表于 2011-12-25 16:51:30 | 显示全部楼层
SWIM 部分用了T1,T2,和DMA来实现的。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-6 14:13

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

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