STM8S103/003的迷你bootloader来了!另附原创IDE~

2019-12-17 21:33发布

    STM8s103/003系列的片子大家肯定都玩过或听说过,8KB的Flash,1KB的RAM,若干EEPROM,还有UART/SPI/IIC/ADC/WDG/TIM/Beeper等常用外设,TSSOP20封装的只要不到2元,真乃居家旅行,日常DIY的上佳选择!
    不过其唯一的缺点就是STM8S小容量产品系列没有片载IAP(16KB以上flash的才有),所以新片无法直接进行串口IAP烧写固件,这对没有仿真器的朋友造成了困扰

    如果直接移植的官方bootloader,其大小达到了3KB,且用户程序从第4KB开始,也就是说占用了一半的flash空间,这对于stm8小容量系列芯片太过浪费
    因此我特地编写了精致的0.5K bootloader用于stm8小容量系列芯片的串口下载,除去中断向量表的话,代码部分只有300多字节~
        该bootloader命名为hairBoot(毛发级轻量),代码是开源的,与固件一起已上传至github,顺求路过的童鞋点颗星~也欢迎大家改进~

        hairBoot不是参考官方IAP例程写的,通信协议针对代码尺寸做了优化,所以不兼容官方下载程序,需要自己开发上位机程序进行烧录。
在云概念泛滥的时代,我选择了chrome app的形式编写了hairBoot的上位机程序,无论你的电脑是windows还是linux还是mac,只要装了chrome浏览器就能使用STM8 Launcher下载固件到stm8中~

        大家只要在chrome apps商店搜索STM8 Launcher,或者直接点击这里就能下载使用STM8 Launcher了~

        STM8 Launcher不仅是一个IAP下载工具,既然用到了串口,我也顺便在这基础上做了串口助手的功能

       当然上面这些还称不上“云”,仅是一些前端化工作而已。。
       我在一些论坛上经常看到坛友为安装IDE,“和谐”之,再搭建工程结构,引入库函数等费一番功夫,要是安装IDE,搭建工程这些事情能够自动完成就好了。
       所以,我在上面的基础上又集成了STM8S代码编辑编译功能 ~

       没错,STM8 Launcher自带一个简单的代码编辑器,具有简易的库函数/变量/关键字 补全提示,括号自动闭合,代码折叠等功能,以eclipse代码样式显示~
       然后代码编译功能当然无法用简单的js实现,同时也为了降低对安装IDE的电脑配置要求,我将编译功能放在了我的linux服务器上。在服务器上,我已经配置好了工程结构,引入了STM8S官方库函数V2.0和自编库函数(这个还有待各位同好一起完善)。你需要做的仅仅是编辑好代码,然后按下编译按钮,STM8 Launcher就会将代码发送到云端服务器,由云端服务器编译,如果编译通过就会返回下载使用的镜像,否则返回警告和错误信息。
       当然如果你已经安装了本地IDE,同样也可以使用STM8 Launcher下载程序,只需将code起始地址改为0x8200,也就是从第512字节开始。
        详细的STM8 Launcher使用帮助见这里
P1010219.JPG (257.71 KB, 下载次数: 1) 下载附件 2013-11-28 21:26 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
101条回答
leifeng
1楼-- · 2019-12-18 22:52
这个太历害了!下载试试
error_dan
2楼-- · 2019-12-19 01:06
 精彩回答 2  元偷偷看……
BCE312
3楼-- · 2019-12-19 01:53
我也是最近才看到STM8的价格的,诱惑啊,果断买了一些备用了,即使没用过。
zpwc
4楼-- · 2019-12-19 02:00
error_dan 发表于 2013-11-28 22:26
LZ你为何这么屌?

PS:linux下跑的stm8编译器是SDCC吗?

唉,在公司太无聊,找点乐子而已。。
linux下编译器的选择也花了我好久来选择,sdcc我看过貌似还很不完善就放弃了。。
本来想移植stm8到gcc下的,但是查看gcc源码后,发现后端移植工作量还是挺大的,而且更无聊,也放弃了。。
最后采取的是一种很绕的方式:linux下的php运行wine(模拟windows),wine运行mingw-make(makefile用),mingw-make运行iar来编译。。
error_dan
5楼-- · 2019-12-19 06:40
zpwc 发表于 2013-11-28 22:39
唉,在公司太无聊,找点乐子而已。。
linux下编译器的选择也花了我好久来选择,sdcc我看过貌似还很不完善 ...

随手试了一下,挺好玩的,咨询个问题,用你的“云IDE”编译出来的bin文件里面是没有hairBoot的对吧?还需要单独去下载~这样似乎略显麻烦干脆直接链接到bin前面去呗,另外我在你的github上面找到app.h,不然完全不知工程的结构呢,看来需要一个go to define和open file,要求略高?
aureole
6楼-- · 2019-12-19 12:20
不错不错



火钳刘明!!!!!!!!!!!!!!!!!!

一周热门 更多>