开源STM8S脱机编程器for ST-LINK V2

2019-12-18 18:50发布

本帖最后由 wdwd 于 2014-6-13 22:30 编辑

将ST-LINK V2改造成脱机编程器,keil MDK代码。
支持hex和s19格式文件,直接将文件打包到到STM32芯片里,Flash和EEPROM的数据一起烧写;
支持ROP, 支持自动烧录和烧录次数限制(采用FLASH模拟EEPROM记录次数)。

hex或s19格式文件放到src目录,将bootload.s的代码中downloader.hex改为要烧写的文件名,需要重新编译下载;
最大次数由main.c的前面定义:
#define MAX_PRGNUM   (10000+200)  //烧录次数
#define MAX_ONNUM         (3*365)   //开关机次数

我的ST-LINK V2是淘宝买的最便宜14.5元的那种,实际用的是STM32F101RBT6芯片,属于超频72MHz使用的;
但有2个指示灯控制,如果只有单LED的注意修改指示方式:
#define GPIO_GRN_PIN                GPIO_Pin_8   //wdwd.PA.8 *不是标准版*
#define GPIO_RED_PIN                GPIO_Pin_9   //wdwd.PA.9

只测试过STM8S003, 其它芯片需要修改块的大小在platform_config.h中定义:
#define PAGEBLOCK                64

代码受益于其它开源代码,这里一并谢过。
(注:没有用到USB, 代码没有打开,无需上位机软件 )
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
68条回答
mowin
1楼-- · 2019-12-19 05:57
牛人,谢谢分享。
wmm20031015
2楼-- · 2019-12-19 10:14
牛人,非常感谢!
TANK99
3楼-- · 2019-12-19 13:32
本帖最后由 TANK99 于 2014-6-13 21:43 编辑

我也来凑一个。

里面的原理图能生个PDF看看吗?不知道怎么触发烧录。

看到打包文件里有上位机??脱机怎么说?
dangjunbo
4楼-- · 2019-12-19 19:04
 精彩回答 2  元偷偷看……
wdwd
5楼-- · 2019-12-19 19:30
本帖最后由 wdwd 于 2014-6-13 22:34 编辑

@2楼 改了个非标准36MHz版本,标准的ST_LINK V2 用STM32F103C8T6,可以工作在72MHz的;
@3楼 我想用来大批量下载。

因为SWIM通信花的时间并不占多,STM8S003容量8K,SWIM通信用低速模式大约慢100ms不到的,所以没有采用快速格式,(Low speed bit format采用19/3比例)稳定可靠一点;
本来想用STM8的整片擦除功能提高烧录速度,没有稳定实现,暂时作罢,代码调得比较乱,没有好好整理。
honami520
6楼-- · 2019-12-19 21:23
楼主很厉害,公开了这么有用的东西

一周热门 更多>