你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
zepanwucai-3660 提问时间:2013-11-28 20:53 /
    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使用帮助见这里

界面.jpg

        另外,使用过官方库的童鞋肯定都有这样的感受:ST的官方库虽然功能完备,但是对于适用小容量系列的轻型应用来说还是挺冗余的(参数多,分支判断多),即使有函数补全提示,但是具体参数意义/使用还是要查手册。所以STM8 Launcher又附带了一个github项目,即自建库函数及应用demo,这个目前还很不完善,只是上传了我以前使用的一些封装而已,也希望大家能一起帮忙完善。

地址在这里

        最后欢迎大家试用STM8 Launcher(顺便给STM8 Launcher点个五星..),有什么疑问或者bug都可以提交给我~

 

       有stm8s103/003最小系统板的只需刷入hairBoot,没有的话可以点此留言购买,这是以前项目打样剩下的(本来是作WPAN节点,不过当最小系统板用也很不错),还有几十片,我可以统一焊接发放。如果需要的数量多的话,我会根据反馈改版重新打样或者小批量生产。

       PS:求加精~

       PSS:貌似st论坛架构有点古老,chrome不支持,我翻出了IE才发了帖。。


P1010219.JPG
收藏 7 评论30 发布时间:2013-11-28 20:53

举报

30个回答
qingyu_lv 回答时间:2017-7-31 20:20:22
你好 我想问 如何重映射中断向量?
是不是再主 .c 文件中 放置
__root const long reintvec[]@".intvec"=
{ 0x82008080,0x8200b004,0x8200b008,0x8200b00c, //当应用程序地址不是0xB000时则要相应改掉除第一个
        0x8200b010,0x8200b014,0x8200b018,0x8200b01c, //0x82008080以外的数值
        0x8200b020,0x8200b024,0x8200b028,0x8200b02c,
        0x8200b030,0x8200b034,0x8200b038,0x8200b03c,
        0x8200b040,0x8200b044,0x8200b048,0x8200b04c,
        0x8200b050,0x8200b054,0x8200b058,0x8200b05c,
        0x8200b060,0x8200b064,0x8200b068,0x8200b06c,
        0x8200b070,0x8200b074,0x8200b078,0x8200b07c,
};

当然 所有b改为9
daiwei720793 回答时间:2016-6-6 17:24:34
你好,hairBoot 在Flash编程前没有看到对Flash擦除的指令,这样会不会对重发IAP烧录程序产生影响? 谢谢!
wdshuang09 回答时间:2016-10-23 10:35:25
不错,                     
a294303665 回答时间:2014-2-15 17:53:09

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

好东西
wisdom36 回答时间:2014-2-22 11:33:08

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

不错 
lanrongye 回答时间:2014-3-26 11:59:07

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

好东西 看下原创IDE
liuxinyong 回答时间:2014-4-30 16:35:07

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

 好啊,太好了
szwzhsz 回答时间:2014-5-3 11:45:57

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

good
大地飞歌 回答时间:2015-6-17 23:06:11
太好了,可以源码和STM8 Launcher怎么下载不下来
zhuoyemp4 回答时间:2015-6-18 08:46:07
大神级的人物
dearfar 回答时间:2016-5-26 14:39:23
这个好资料啊
利弊 回答时间:2016-5-30 09:42:44
nice!正在找呢!
精灵 回答时间:2016-6-14 11:04:31
我去,这可真是个好东西。
aozima 回答时间:2016-9-23 10:25:08
好利害,学习了。
果断星星,并fork.
fugal 回答时间:2016-9-23 10:37:07
好是好,还有个问题就是第一次写入含有迷你bootloader的代码是怎么实现的呢?
zbber 回答时间:2016-9-23 12:06:20
不错,真是太棒了!
123下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版