登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』RT-Thread内核实现与应用开发实战指南 基于STM32

書城自編碼: 3291832
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作 者: 刘火良 杨森
國際書號(ISBN): 9787111613664
出版社: 机械工业出版社
出版日期: 2018-12-01


書度/開本: 16开 釘裝: 平装

售價:NT$ 644

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
改变世界的哲学家们
《 改变世界的哲学家们 》

售價:NT$ 493.0
将军
《 将军 》

售價:NT$ 269.0
墓志的生成及其在唐代的衍变研究
《 墓志的生成及其在唐代的衍变研究 》

售價:NT$ 549.0
理解中国经济:在大变局中读懂新机遇
《 理解中国经济:在大变局中读懂新机遇 》

售價:NT$ 252.0
饥饿与国家:苏丹的饥荒、奴隶制和权力(1883~1956)
《 饥饿与国家:苏丹的饥荒、奴隶制和权力(1883~1956) 》

售價:NT$ 386.0
管好你的钱:人人都要懂的财富传承(一本书带你了解财富传承的7种方式)
《 管好你的钱:人人都要懂的财富传承(一本书带你了解财富传承的7种方式) 》

售價:NT$ 381.0
新质生产力:中国创新发展的着力点与内在逻辑
《 新质生产力:中国创新发展的着力点与内在逻辑 》

售價:NT$ 442.0
“漫画强国科技”系列(全4册)
《 “漫画强国科技”系列(全4册) 》

售價:NT$ 784.0

建議一齊購買:

+

NT$ 573
《 高级C/C++编译技术 》
+

NT$ 929
《 STM32库开发实战指南:基于STM32F4 》
+

NT$ 713
《 STM32库开发实战指南(第2版):基于STM32F103 》
+

NT$ 782
《 FreeRTOS内核实现与应用开发实战指南:基于STM32 》
內容簡介:
本书基于野火STM32全系列开发板介绍RT-Thread内核实现与应用开发,全书分为两部分:*部分教你如何从0到1把RT-Thread内核写出来,从底层的汇编开始讲解线程如何定义、如何切换,还讲解了阻塞延时如何实现、如何支持多优先级、如何实现定时器以及时间片等RT-Thread的核心知识点;第二部分则讲解RT-Thread内核组件的应用以及如何使用RT-Thread进行多线程编程。
本书内容翔实,案例丰富,配有大量示例代码,适合作为嵌入式领域科技工作者的参考书,也适合相关专业学生学习参考。
目錄
推荐序
前言
引言
第一部分 从0到1教你写RT-Thread内核
第1章 新建RT-Thread工程——软件仿真2
1.1 新建本地工程文件夹2
1.2 使用KEIL新建工程3
1.2.1 New Project3
1.2.2 Select Device for Target3
1.2.3 Manage Run-Time Environment4
1.3 在KEIL工程中新建文件组5
1.4 在KEIL工程中添加文件6
1.5 调试配置7
1.5.1 设置软件仿真7
1.5.2 修改时钟大小8
1.5.3 添加头文件路径9
第2章 裸机系统与多线程系统10
2.1 裸机系统10
2.1.1 轮询系统10
2.1.2 前后台系统11
2.2 多线程系统12
第3章 线程的定义与线程切换的实现15
3.1 什么是线程16
3.2 创建线程17
3.2.1 定义线程栈17
3.2.2 定义线程函数19
3.2.3 定义线程控制块20
3.2.4 实现线程创建函数20
3.3 实现就绪列表30
3.3.1 定义就绪列表30
3.3.2 将线程插入就绪列表30
3.4 实现调度器31
3.4.1 调度器初始化32
3.4.2 启动调度器33
3.4.3 第一次线程切换34
3.4.4 系统调度41
3.5 main函数44
3.6 实验现象47
第4章 临界段的保护50
4.1 什么是临界段50
4.2 Cortex-M内核快速关中断指令50
4.3 关中断51
4.4 开中断51
4.5 临界段代码的应用52
4.6 实验现象56
第5章 对象容器57
5.1 什么是对象57
5.1.1 对象枚举的定义57
5.1.2 对象数据类型的定义57
5.1.3 在线程控制块中添加对象成员58
5.2 什么是容器59
5.3 容器的接口实现63
5.3.1 获取指定类型的对象信息64
5.3.2 对象初始化64
5.3.3 调用对象初始化函数67
5.4 实验现象67
第6章 空闲线程与阻塞延时68
6.1 实现空闲线程68
6.1.1 定义空闲线程的栈68
6.1.2 定义空闲线程的线程控制块69
6.1.3 定义空闲线程函数69
6.1.4 空闲线程初始化69
6.2 实现阻塞延时70
6.3 SysTick_Handler中断服务函数73
6.4 main函数77
6.5 实验现象80
第7章 多优先级82
7.1 就绪列表82
7.1.1 线程就绪优先级组82
7.1.2 线程优先级表86
7.2 修改代码以支持多优先级88
7.2.1 修改线程控制块88
7.2.2 修改调度器初始化函数rt_system_scheduler_init90
7.2.3 修改线程初始化函数rt_thread_init91
7.2.4 添加线程启动函数rt_thread_startup92
7.2.5 修改空闲线程初始化函数rt_thread_idle_init93
7.2.6 修改启动系统调度器函数rt_system_scheduler_start94
7.2.7 修改系统调度函数rt_schedule95
7.2.8 修改阻塞延时函数rt_thread_delay98
7.2.9 修改时基更新函数rt_tick_increase98
7.3 main函数99
7.4 实验现象102
第8章 定时器103
8.1 实现定时器103
8.1.1 系统定时器列表103
8.1.2 系统定时器列表初始化104
8.1.3 定义定时器结构体104
8.1.4 在线程控制块中内置定时器105
8.1.5 定时器初始化函数106
8.1.6 定时器删除函数108
8.1.7 定时器停止函数108
8.1.8 定时器控制函数109
8.1.9 定时器启动函数110
8.1.10 定时器扫描函数115
8.2 修改代码以支持定时器118
8.2.1 修改线程初始化函数118
8.2.2 修改线程延时函数119
8.2.3 修改系统时基更新函数121
8.2.4 修改main.c文件122
8.3 实验现象126
第9章 时间片127
9.1 实现时间片127
9.1.1 在线程控制块中添加时间片相关成员127
9.1.2 修改线程初始化函数128
9.1.3 修改空闲线程初始化函数129
9.1.4 修改系统时基更新函数129
9.2 修改main.c文件131
9.3 实验现象135
第二部分 RT-Thread 内核应用开发
第10章 移植RT-Thread到STM32138
10.1 获取STM32的裸机工程模板138
10.2 下载RT-Thread Nano源码138
10.3 安装RT-Thread Package139
10.4 向裸机工程中添加RT-Thread源码140
10.4.1 复制RT-Thread Package到裸机工程根目录140
10.4.2 复制rtconfig.h文件到User文件夹141
10.4.3 复制board.c文件到User文件夹141
10.4.4 rt-thread文件夹内容简介141
10.4.5 添加RT-Thread源码到工程组文件夹143
10.5 rtconfig.h文件145
10.5.1 rtconfig.h文件内容讲解145
10.5.2 rtconfig.h文件修改152
10.6 board.c文件156
10.6.1 board.c文件内容讲解156
10.6.2 board.c文件修改160
10.7 添加core_delay.c和core_delay.h文件167
10.8 修改main.c171
10.9 下载验证172
第11章 线程173
11.1 硬件初始化173
11.2 创建单线程——SRAM静态内存175
11.2.1 定义线程函数175
11.2.2 定义线程栈176
11.2.3 定义线程控制块176
11.2.4 初始化线程176
11.2.5 启动线程177
11.2.6 main.c文件内容177
11.3 下载验证SRAM静态内存单线程179
11.4 创建单线程——SRAM动态内存179
11.4.1 动态内存空间堆的来源
內容試閱
如何学习本书
本书是首本系统讲解RT-Thread的中文书籍,共分为两个部分。第一部分重点讲解RT-Thread的原理实现,从0开始,不断迭代,教你把RT-Thread的内核写出来,让你彻底学会线程是如何定义的、系统是如何调度的(包括底层的汇编代码讲解)、多优先级是如何实现的等操作系统的最深层次的知识。当你拿到本书开始学习的时候,你一定会惊讶,原来RTOS的学习并没有那么复杂,反而是那么有趣;原来自己也可以写RTOS,成就感立马爆棚。
当彻底掌握第一部分的知识之后,再学习其他RTOS,可以说十分轻松。纵观现在市面上流行的几种RTOS,它们的内核实现差异不大,只需要深入研究其中一种即可,没有必要对每一种RTOS都深入地研究源码,但如果时间允许,看一看也并无坏处。第二部分重点讲解RT-Thread的移植、内核中每个组件的应用,比起第一部分,这部分内容掌握起来应该比较容易。
全书内容循序渐进,不断迭代,尤其在第一部分,前一章是后一章的基础,必须从头开始阅读,不能进行跳跃式的阅读。在学习时务必做到两点:一是不能一味地看书,要把代码和书本结合起来学习,一边看书,一边调试代码。如何调试代码呢?即单步执行每一条程序,看程序的执行流程和执行的效果与自己所想的是否一致。二是在每学完一章之后,必须将配套的例程重写一遍(切记不要复制,即使是一个分号,但可以照书录入),做到举一反三,确保真正理解。在自己写的时候难免错误百出,要珍惜这些错误,好好调试,这是你提高编程能力的最好机会。记住,程序不是一气呵成写出来的,而是一步一步调试出来的。
本书的编写风格
本书第一部分主要以RT-Thread Nano 3.0.3官方源码为蓝本,抽丝剥茧,不断迭代,教你如何从0开始把RT-Thread内核写出来。书中涉及的数据类型、变量名称、函数名称、文件名称、文件存放的位置都完全按照RT-Thread官方的方式来实现。学完这本书之后,你可以无缝地切换到原版的RT-Thread中使用。要注意的是,在实现的过程中,某些函数中会去掉一些形参和冗余的代码,只保留核心的功能,但这并不会影响我们学习。
本书第二部分主要介绍RT-Thread的移植和内核组件的使用,不会再去深入讲解源码,而是着重讲解如何应用,如果对第一部分不感兴趣,也可以跳过第一部分,直接进入第二部分的学习。
本书还有姊妹篇——《FreeRTOS内核实现与应用开发实战指南:基于STM32》,两本书的编写风格、内容框架和章节命名与排序基本一致,语言阐述类似,且涉及RTOS抽象层的理论部分也相同,不同之处在于RTOS的实现原理、内核源码的讲解和上层API的使用,这些内容才是重点部分,是读者学习的核心。例如,虽然两本书的第一部分的章节名称基本类似,但内容不同,因为针对的RTOS不一样。其中,关于新建RT-Thread工程和裸机系统与多线程(任务)系统的描述属于RTOS抽象层的理论部分,不具体针对某个RTOS,所以基本一样。第二部分中,对于什么是线程(任务)、阻塞延时和信号量的应用等RTOS抽象层的理论讲解也基本类似,但是具体涉及这两个RTOS的原理实现和代码讲解时则完全不同。
如果读者已经学习了其中一本书,再学习另外一本的话,那么涉及RTOS抽象层的理论部分可跳过,只需要把精力放在RTOS内核的实现和源码API的应用方面。因为现有的RTOS在理论层基本都是相通的,但在具体的代码实现上各有特点,所以可以用这两本书进行互补学习,掌握了其中一本书的知识,再学习另外一本书定会得心应手,事半功倍。
本书的参考资料和配套硬件
关于本书的参考资料和配套硬件的信息,请参考本书附录部分。
本书的技术论坛
如果在学习过程中遇到问题,可以到野火电子论坛www.firebbs.cn发帖交流,开源共享,共同进步。
鉴于水平有限,书中难免有错漏之处,热心的读者也可把勘误发送到论坛上以便改进。祝你学习愉快,RT-Thread的世界,野火与你同行。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.