跟随菜农脚步,发布TinyThread 1.1版本,支持 M051 系列
TinyThread是一个多线程库,为Cortex-M0系统提供实时多线程支持。目前这版支持 NUC100 和 M051 系列芯片,
Keil 和 IAR 编译器都能使用。
需要代码不妨移步这里下载,遵循 MIT 协议,开源不谈钱。
http://code.google.com/p/tinythread/
1. TinyThread特性
多线程
时间片轮转算法
抢占式多任务
Mutex能够克服优先级翻转
线程特性
定义线程数,无限制
活动线程数,无限制
用户优先级,无限制
线程堆栈检测,支持
上下文切换时间,
不支持线程sleep函数和堆栈检测时,< 300 CPU周期
支持线程sleep函数和堆栈检测时,< 400 CPU周期
时间
延迟,通过tt_sleep()支持
微秒级延迟,通过tt_usleep()支持
线程交互
信号量(Semaphore),无个数限制
锁(Mutex),无个数限制
递归锁(Recursive Mutex),无个数限制
条件变量(Condition),无个数限制
邮箱(Message),无个数限制
线程/中断交互
信号量/锁/递归锁/条件变量,均可用在中断里。
(有限制的支持,请参考Doc\TinyThread.doc)
2. 内存使用状况
一个任务需要的RAM
堆栈大小 + 68 Bytes(最大)
堆栈大小 + 28 Bytes(最小)
一个信号量需要的RAM, 8 Bytes
一个锁需要的RAM, 8 Bytes
一个递归锁需要的RAM, 16 Bytes
一个条件变量需要的RAM, 12 Bytes
一个邮箱消息使用RAM:40字节 + 自定义消息缓存
3. 文档资料
Doc\TinyThread.doc 沙发 此贴必火 膜拜菜农与楼主。 此贴必顶。。。 哈,那太感谢大家了
貌似还有点工作要做:
中断通知线程的event机制。TinyThread的信号量、锁、条件变量等,设计成“中断友好”,
中断里使用这些机制代替event没有问题的。
文档也有列出可以在中断安全使用的函数。。那event要不要加呢。。?
timer定时函数,在考虑增加。 支持,牛x 回复【5楼】xorX
支持,牛x
----------------------------------------------------------------------- mark mark! 顶。。。 首先祝贺晓辉!!!,同时渴望NUC1xxM051Seriescfg.h能助先生一把或有所启迪~~
能将工程源码发到俺的邮箱里吗?谢谢!!!
俺已给您发去全部的nuc1xx/m05x的C++工程包,群内已提供下载,上次给你的M05x基本没做好,现在基本通过,但还需进一步的测试。
您提的string类的问题俺还没试,不过先谢谢了。
菜地公告:《菜农Cortex-M0技术交流群》在线开讲群裸教程
从明天起,俺大概从晚上9点以后开讲,群内全部网上在线同步C++裸奔~~~
/*-------------------------------------------------------------------------------------------
文 件 名 :NUC1xxM051Seriescfg.h(暂时只供群内测试之中,可以同时兼容两种系列的M0)
创 建 人 :Cortex-M0菜鸟
个 人 邮箱 :HotPower@163.com,HotPower@126.com
即 时 聊天 :QQ(手机在线):1270688699QQ群(菜农Cortext-M0技术交流):12047788
个 人 网站 : www.hotpower.org,www.hotpower.net,www.hotpage.net.cn(合作及导航)
创 建 日期 :2010.10.18 18:18
最近修改日期 :2010.12.13 14:58
创 建地 点 : 西安大雁塔村队部
版 本 号 : V1.09 (红杏NUC1xx与M051Series兼容版)
本版本只在《菜农Cortext-M0技术交流》群内局部发布。
修 改原 因 : 本版本可在NUC1xx或M05x直接应用,规范并使寄存器模式也能控制到所有位
为了便于NUC1xx或M05x系列同时升级,菜农不在发布分离的版本。
说 明 : 菜农掌握本版本的解释权利。
由于本头文件为开源,出现问题恕不承担一切责任。
备 注 : 本头文件风格归属于菜农的《红杏出墙》系列,堪称“红杏级别”
NUC1xx:
将本文件拷贝到...\CMSIS\CM0\DeviceSupport\Nuvoton\M051Series内。
M051Seriesc:
将本文件拷贝到...\CMSIS\CM0\DeviceSupport\Nuvoton\NUC1xx内。
---------------------------------------------------------------------------------------------*/ 不知俺用C++及COM接口_技术及回调函数能否构成一个农村版的OS~~~~~~~~
菜地公告:即日起创建《菜农cortex-m0技术交流群》及学习小组 支持! mark 学习了。 菜农群内发布《红杏NUC1xxM051Seriescfg正式PK库函数版》 mark 拜个山头…… 哈哈,群里全面展开c++裸奔,若陈先生忙碌,俺将直接将红杏嵌入到tinythread之中,将会提高空间和速度到优化效率 mark 哟西,菜农归来! 回复【18楼】hotpower菜农
哈哈,群里全面展开c++裸奔,若陈先生忙碌,俺将直接将红杏嵌入到tinythread之中,将会提高空间和速度到优化效率
-----------------------------------------------------------------------
希望见到菜农大侠的优化结果,最好放几张艳照,给大家对比观摩一下,哈哈 mark! OS犹如雨后春笋啊 哈哈~~~俺把15楼变主题~~~
艳照,俺喜欢~~~
页:
[1]