历史上的今天
今天是:2025年01月18日(星期六)
2020年01月18日 | STM8L最小系统板移植Atomthreads成功
2020-01-18 来源:eefocus
终于花了一天时间把atomthreads1.3移植到了STM8L151K4。由于之前有了移植STM8S的经验,这次整个过程清晰了很多。并且我也安装了STVP+COSMIC编译环境,因此这回也更加注重代码在不同编译器的兼容性。
原版Atomthreads1.3的port目录下有点乱,所有编译器的相关文件都放在同一个目录下,我同样对目录结果进行了调整。让代码看起来更易读。同时,原作包括的意法半导体的外设库,一方面太陈旧,一方面也只有一小部分驱动程序,使用起来不方便,还有更重要的是,这个库对STM8L不适用。因此我把最新的ST驱动库整个放了进来。
原作者之所以只拿了一小部分驱动,无非是考虑可能最后编译的二进制文件太大。其实这点不用担心,好的编译器是有能力去除无用代码的,比如IAR就可以做到。只是看你用不用它的功能了。
目前1.0已经release,欢迎试用。
http://code.google.com/p/atomthreads-stm8/
https://github.com/cpuwolf/atomthreads/tree/stm8l_1.3
随后我又对代码进行了实际的功耗测试,我使用的STM8L最小系统上只有一个负载,一个贴片板载LED。代码主线程循环做一件事,每隔1秒钟去toggle一下LED。对于1.0版本的软件,只能做到整个系统电流在1.2mA~1.8mA之间。
最新的代码的情况已经可以做到0.6mA~1.8mA之间,但是代码还没release。优化空间还是有的,我思路已经有了,就等着去实现。
测试视频
http://www.tudou.com/programs/view/QlF6TybCLWI/
下一篇:玩转单片机STM8(一)
史海拾趣
|
之前一直在用 s3c2410+vivi+kernel2.4+ch7005 ch7005的驱动是在vivi下,通过i2c往某地址写入特定的值来实现vga输出的,这些值和地址在ch7005的datasheet上都有详细说明 在我这板子我是这样做的: #define VGA_ADDR 0xEA __Wr24C080(VGA_ADDR, 0 ...… 查看全部问答> |
|
请问大家谁用过CH451,我只想驱动数码管,遇到个问题,显示数字编码的数据只有8位,但是资料里穿数据要12位,不知道是什么意思。还有一点要向片内写命令,不知道为什么要写命令!谢谢!… 查看全部问答> |
|
TMS28035的ad管脚 不管有没有模拟量输入,都输出高电平(2V)电压? TMS28035的AD管脚 不管有没有模拟量输入,都输出高电平(2V)电压?这种情况的后果是当外部有模拟量输入时,TMS28035不能正常工作,唯有掉电,再上电 重新下载程序才能正常工作。请各位大虾指教?具体点谢谢。… 查看全部问答> |
|
各位朋友好 : 最近在做LED灯串亮度调节,LED灯串最高电压150V,电流最大有1A左右,现在考虑用PWM调节亮度,在开关管选型上比较纠结是用开关三极管13003还是用场效应管好? 另外电路设计方面需要考虑哪些因素,需不需要加一些保护措施?… 查看全部问答> |




