STM8
cpuwolf
Wrote a complete Unix-like operating system which included preemptive multitasking, a non-trivial filesystem, interrupt-driven I/O, and signals
. 从事ARM嵌入式开发多年,bootload,kernel,driver都有较深的理解。
展开
-
人生第一块PCB
我要感谢互联网云时代的到来,让我这种电路小白,也有机会利用云平台国产立创EDA画自己人生第一块PCB板,之前都是用洞洞板自己焊接,结果飞线飞的我都找不到北。这次的PCB尝试,只是把飞线整理在电路板上,并没有复杂的电路,更多是考验,我测量手头元件的能力,游标卡尺起了很大作用...原创 2021-08-04 05:36:05 · 414 阅读 · 0 评论 -
找回失去的青春--玩单片机STM8
把失去的青春补回来!你以为我要说离开IT业?常被人说成“IT刁丝”,“IT民工”,我不以为然。不仅如此,我为做IT而骄傲。看看我们身边的产品,无不与IT有着密切的关系。你说你平时不用电脑。OK,你平时可以不用手机么?你知道手机是“IT刁丝”搞出来的么?再退一步,你说你也不用手机。OK,超市你去不?收银员用的收银机是“IT刁丝”搞出来的。你说你是搞金融的,不是碰IT,错,金融业的后台服务器,同样原创 2013-10-24 13:32:40 · 6327 阅读 · 3 评论 -
STM8的福利--Atomthreads实时操作系统
Atomthreads是开源的实时操作系统。诞生之初就是给STM8s设计的,而且作者还在不断更新,我看最近的主要修改是加入更多MCU的支持。算法上没有变化。所以我取了1.3的版本,足够用了。我使用的是STM8S105K4的最小系统。有16K flash可以使用。这个大小放下原生的atomthreads是够的。这个实时系统包含了操作系统所有最基本的接口mutex,semaphore,timer,原创 2013-10-24 20:47:00 · 18708 阅读 · 18 评论 -
Atomthreads关于STM8S低功耗的思考
atomthreads像众多操作系统一样,在没有任务调度是会调用idle,atomthreads中atomIdleThread()是以线程的形式存在,也就是最低优先级线程。作者默认没有填写这个函数。针对STM8我们最自然想到的是在其中加一个wfi,STM8进入wfi模式几乎不会影响任何外设的运行。以STM8S105K4为例,其进入该模式的典型电流是1.8mA。这个电流,用一节2000mA手机供电,原创 2013-10-25 10:43:31 · 10896 阅读 · 5 评论 -
STM8的wait for interrupt
如果我用disable interrupt和enable interrupt包裹wait forinterrupt(WFI)。你说WFI还能被唤醒么?有思考过么?昨晚拿STM8L151K4的开发板,实际测试下来。这样的用法是完全没问题的。由此我猜测芯片内部,core应该会专门有一根信号线唤醒sleep状态的core,这根信号不受interrupt disable影响。这个实验对控制睡眠唤醒原创 2013-10-29 09:47:45 · 3945 阅读 · 0 评论 -
二元一次方程在呼吸灯上的应用
我一直想用一个简单的表达式把呼吸灯效果表达出来。搜索了一下,大家都是千篇一律。我看稍微有点想法的也是说用sin(x)函数实现,还有人说有matlab。我只是想说,对于一个2MHz的单片机,你们的要求太高了。我只是追求用最简单,而且运算量不大的C代码实现。抛物线函数足够了,开口向下的,还要过原点(0,0),因为起始灯是熄灭的。二元一次方程最适合。参数a,b,c的c=0,因为过了原点。原创 2013-10-31 12:49:33 · 5809 阅读 · 3 评论 -
上课不听讲下课来补习系列之-玩转单片机STM8(二)
现在学习STM8,由于ST已经提供标准驱动库函数,对C语言能力要求已经很弱了,只要上过大学C语言课程,都可以进行编程。但是我建议大家把C语言学深点。它的核心就是指针,玩转指针,就玩懂了C语言。它的其他功能和其他语言没有任何差别。只是逻辑控制而已。能把C的指针真正弄懂,你还不得不学习一下机器语言,万变不离其宗。见多识广,千万不要怀疑自己大脑的记忆能力,也不要认为多学会学混,我的经验是,学得越多,原创 2013-11-08 14:20:18 · 2168 阅读 · 0 评论 -
STM8L最小系统板移植Atomthreads成功
终于花了一天时间把atomthreads1.3移植到了STM8L151K4。由于之前有了移植STM8S的经验,这次整个过程清晰了很多。并且我也安装了STVP+COSMIC编译环境,因此这回也更加注重代码在不同编译器的兼容性。原版Atomthreads1.3的port目录下有点乱,所有编译器的相关文件都放在同一个目录下,我同样对目录结果进行了调整。让代码看起来更易读。同时,原作包括的意法半导体的原创 2013-10-28 10:40:32 · 9248 阅读 · 23 评论