没有合适的资源?快使用搜索试试~ 我知道了~
首页RT-Thread嵌入式编程手册:全面指南
"RT-Thread嵌入式操作系统中文指导手册是一本专门针对在RT-Thread实时操作系统环境中进行编程的详尽指南。该手册由RT-Thread开发组于2018年1月6日更新,基于github.com上的最新提交内容生成,旨在帮助开发者理解和掌握RT-Thread的特性与使用方法。 手册首先介绍了RT-Thread的软件结构,强调了其在实时系统中的应用和开发、维护的重要性。实时系统的需求被详细阐述,包括对高效性和响应时间的要求。线程调度与管理是核心部分,讲解了线程调度器的工作原理,线程控制块的作用以及各种与线程相关的接口,如线程创建、删除、启动、睡眠、挂起等,并提到了如何设置调度器钩子和空闲线程的相关功能。 章节中还深入探讨了线程设计,包括程序的运行上下文和设计要点,以便开发者能够构建高效且稳定的多线程应用程序。此外,定时器管理也是关键部分,详细说明了定时器的创建、删除、初始化和超时函数的实现,这对于实现精确的时间控制至关重要。 手册通过实例和API说明,使得技术概念易于理解,并且针对每个章节都有明确的改动记录,便于追踪和参考。作者特别感谢了多位贡献者,他们在文档完善过程中提供了关键性的技术支持。 阅读此手册对于想要在嵌入式系统领域使用RT-Thread的工程师来说,无疑是一份不可或缺的参考资料,它不仅提供了理论知识,还为实际操作提供了实用的指导。"
资源详情
资源推荐
xiv 目录
15.9 线程高级编程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
15.9.1 线程属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
线程属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
线程属性初始化及去初始化 . . . . . . . . . . . . . . . . . . . . . . . . . 332
线程的分离状态 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
线程的调度策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
线程的调度参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
线程的堆栈大小 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
线程堆栈大小和地址 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
线程属性相关桩函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
线程属性示例代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
15.9.2 线程取消 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
发送取消请求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
设置取消状态 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
设置取消类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
设置取消点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
取消点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
线程取消示例代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
15.9.3 一次性初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
15.9.4 线程结束后清理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
15.9.5 其他线程相关函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
15.9.6 其他线程相关桩函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
15.9.7 互斥锁属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
15.9.8 互斥锁属性初始化及去初始化 . . . . . . . . . . . . . . . . . . . . . . . 343
互斥锁作用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
互斥锁类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
15.9.9 条件变量属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
条件变量属性相关桩函数 . . . . . . . . . . . . . . . . . . . . . . . . . . 345
15.9.10读写锁属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
读写锁属性相关桩函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
15.9.11屏障属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
15.9.12消息队列属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
16 图像用户界面引擎 349
16.1 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
16.2 引擎初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
16.3 绘图设备上下文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
16.4 绘图渲染 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
16.5 基本的GUI引擎应用例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
16.6 事件传递机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
16.7 控件和剪切域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
16.8 字体API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
16.9 图像API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
附录 A 电子书markdown入门 353
A.1 标题、段落、区块代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
A.2 修辞和强调 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
A.3 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
A.4 链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
A.5 图片 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
A.6 代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
A.7 API说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
A.8 注意事项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
附录 B 在github上为RT-Thread贡献代码 359
B.1 以下教程将指导您提交代码。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
B.2 1. fork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
B.3 2. 克隆(clone) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
B.4 3. 创建本地分支 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
B.5 4. 开发 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
B.6 5. 提交(commit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
B.7 6. 保持本地仓库最新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
B.8 8. 发起并完成 Pull Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
B.9 9. 提交代码的一些约定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
目录 RT-Thread编程指南
xvi RT-Thread 3.0.0
1.2节 开发、维护 RT-Thread编程指南
• 底层移植、驱动层,这层与硬件密切相关,由Drivers和CPU移植相构成。
• 硬实时内核,这层是RT-Thread的核心,包括了内核系统中对象的实现,例如多线程及
其调度,信号量,邮箱,消息队列,内存管理,定时器等实现。
• 组件层,这些是基于RT-Thread核心基础上的外围组件,例如文件系统,命令行shell
接口,lwIP轻型TCP/IP协议栈,GUI图形引擎等。
RT-Thread在设计及后续的发展方向上会力图保持RT-Thread自己本身的特色:
• 小巧的内核及周边组件;
• 清晰、简单、低耦合的系统结构;
• 面向对象,类UNIX的编程风格;
• 尽可能兼容POSIX可移植操作系统接口的方式;
1.2 开发、维护
RT-Thread的主要开发成员来自中国,大家主要利用业余时间进行RT-Thread的开发和
维护,同时也接受开发者,爱好者,以及专业嵌入式领域公司向RT-Thread捐赠代码。在上
海也有一家专业提供RT-Thread技术服务的服务公司:上海睿赛德电子科技有限公司 。
RT-Thread以一年为开发、发布周期。RT-Thread的每一个版本都会设定一个目标,而
后的一年开发周期以这个为目标进行开发、演化改进,同时按照每个季度一个测试版本的形
式进行推进。发布的版本包括两种:
• 一种是正式版本(或者说稳定版本,维护版本),例如2.0.x正式版本,它是2.0.0正式
版本的bug fix版本。在功能上并不添加新的功能,而着重于对已有bug的修正;
• 一种是测试版本(或者说开发版本),例如2.1.0 beta版本。它是以一年期设定目标而
演进,完善的版本,相对来说不那么稳定,但具备新的功能,对新的路线的探索;
每个开发版本会提前设定出开发目标,一般是通过邮件、论坛进行沟通后进行;同时每
年在中国也会有一到两次的开发者会议,会议上会讨论新版本的目标,或者大版本新的方
向。
在开发活动上,RT-Thread相类似的按照上面的软件体系结构划分成三个部分:
• 内核(kernel),这个是RT-Thread的核心,也是根本;
• 组件(component),基于核心之上,把一些功能模块划分成独立的一个个组件模
块,做到组件与组件之间的低耦合,组件内部的高内聚;
• 分支(porting),这个是RT-Thread支持的一个个芯片移植,外设驱动等;
这三部分每部分都有维护人,维护人应切实地保证相关部分的正常运行。当前的
RT-Thread开发版本放在github.com 上,欢迎每个开发者、爱好者向RT-Thread提交pull
request。每个组件、分支的维护人在收到pull request后,会决定是否合并到开发分支中。
开发者、爱好者提交的代码应该符合RT-Thread的编程规范,并尽少地影响到其他组件。
2 RT-Thread 3.0.0
剩余380页未读,继续阅读
雨田2017
- 粉丝: 83
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功