新書推薦:

《
宝石之书
》
售價:NT$
806.0

《
汉画像的象征世界
》
售價:NT$
439.0

《
非暴力沟通·人性化医护(比起药物,连结人心的沟通更具治愈生命的力量)
》
售價:NT$
265.0

《
AI时代的文学教育 北大教授陈平原主编 关注AI对文学教育的影响
》
售價:NT$
551.0

《
中国高速列车—关键技术篇
》
售價:NT$
1173.0

《
成为作家(畅销全球90余年,新手写作必读指南)
》
售價:NT$
301.0

《
帝国的生意 商业、政治与英国东印度公司的诞生(一部展现公司与国家交织共生的扩张史)
》
售價:NT$
500.0

《
十日终焉7:极道
》
售價:NT$
245.0
|
編輯推薦: |
本书的主要特色为以新工科为背景,以产出为导向,将代表性工作任务经过教学化处理,确定知识体系、学习内容和学习模式,从而提高学生工程实践能力和创新能力,同时配备对应的微课视频和教学资源,方便学生课外学习。
|
內容簡介: |
STM32系列芯片主要针对高性能、低成本、低功耗的嵌入式应用,由意法半导体公司设计,芯片CPU包含ARM?Cortex-M0、M0 、M3、M4、以及M7内核。
目前同时讲解STM32微控制器以及uC/OS-III的书籍不多,一般主要是讲解STM32微控制器的应用编程,即STM32芯片和各个外围设备的驱动与应用编程,这样的教材较多。
uC/OS-III官方有出版两本教材,也是基于STM32微控制器来讲解的,分别讲解应用编程,以及RTOS内核。另外深圳有几家培训机构也有两本教材,分别讲解STM32微控制器的外设应用开发,以及uC/OS-III的操作系统代码解析,我们前期的课程有基于这几本教材来讲解。
结合教学团队的经验,使用自编教材,自编教材有一章节会介绍uC/OS-III,其他章节会介绍MOS,一个自己研发的操作系统,借鉴了uC/OS-III和Linux内核。
另外,本教材的后续版本,或者在线资料,可能会拓展部分Linux内核以及华为LiteOS内核的教学内容,它们是鸿蒙操作系统的内核。
|
關於作者: |
程涛,硕士研究生,上海交通大学。具有十多年的嵌入式系统软件研发经验,先后在多家企事业单位从事项目研发工作。前华为操作系统高级工程师,现为上海建桥学院计算机系专职教师。研发方向为嵌入式系统软件、操作系统、编译器与编程语言、3D图形学编程。
|
目錄:
|
动手写嵌入式操作系统—基于STM32微控制器
Mini-OS on STM32
简介
前言
1 嵌入式操作系统概述
2 μC/OS-III实时操作系统
3 CPU编程模型与多任务定义
4 Project目录与IDE工程构建
5 任务控制块与上下文切换
6 操作系统的时钟节拍
7 Delay函数与Sleep函数
8 时间戳计数器
9 同步原语
10 任务的状态
11 优先级调度算法与实现
12 时间片调度算法与实现
13 任务管理的实现
14 内核对象
15 实验部分
附录A Glossary
附录B MOS
参考文献
|
內容試閱:
|
前言
计算机科学与技术的发展可谓是日新月异,第一个较成熟的编程语言Fortran到现在过去了一个甲子,而第一个较成熟的操作系统Unix到现在也过去了半个世纪。系统软件的背后,芯片设计及其工艺技术的发展也如火如荼的进行着,清华大学都成立了芯片学院,IBM也已经在实验2nm工艺的芯片。CPU指令集架构从Intel X86到AMD64,逐渐发展出Stanford的MIPS、IBM公司的PPC、ARM公司的Cortex架构,以及如今备受瞩目的RISC-V指令集,这是一段从CISC指令集到RISC指令集的演进史,也是计算机技术发展的重要里程碑。
如今软硬件的协同开发,更多的体现在嵌入式系统领域,如Android、Apple iOS、Embedded Linux、Smart Phone SoC、以及AI Chip等,它们都在工业界产生了巨大影响,深深的改变了人们的生活,即所谓的万物智能互联时代。而本书的主题就是讲述嵌入式操作系统,让读者从技术层面获取嵌入式开发的一些软硬件知识,能够自己实现一个简易版的迷你操作系统。我们使用了深圳野火电子公司的开发板:STM32F4系列的微控制器芯片,ARM公司的Cortex-M4处理器内核,这是一个在高校计算机教学中广泛使用的微控制器实验平台。
本书实现的这个mini-OS(MOS)主要参考了μC/OS-III和Linux的源代码,但是会进一步改良设计,增加可读性,使课程的教学难度适宜,软件层次上也会更清晰。本书从介绍嵌入式操作系统开始,逐步讲解μC/OS-III、ARM Cortex-M4 CPU编程模型、操作系统进程与线程概念、CPU用于支持OS操作的底层汇编指令、以及mini-OS的代码实现:包括任务定义、任务调度、时间片调度、优先级调度的实现、任务管理、以及内核对象,最后是实验部分:包括函数参数、上下文切换、调度算法、软件定时器、多任务程序设计、以及文件系统操作等。
读者可以查看书籍目录,各章的目标,或小结部分,总体上先了解本书的?要内容。参考惯例,写作说明和约定如下:
图表的约束(使用5号字体)
代码会使用Consolas字体
代码风格基本和Linux内核保持一致
部分内容会使用英文,如果直译不太好理解
部分内容会使用粗体来突出显示
每章的问答题会以在线资源给出
学完本书,希望读者可以掌握嵌入式开发的基础知识,常用数据结构,操作系统的基本原理,以及CPU用于支持操作系统的底层汇编指令,从而达到软硬件协同开发,真正对计算机系统有一个较好的理解,为学习计算机高级课程,以及进入智能物联(AIoT)行业,打下坚实的理论和实践基础。
作者给大学高年级学生讲授了嵌入式操作系统课程,本书部分内容源于课程讲义,教法上抓基础、重应用,同时根据学生的反馈,会有针对性的添加或删除部分知识点。
最后,期望本书能达到抛砖引玉的效果,入门嵌入式软件的读者看完本书,能够进一步学习嵌入式Linux,能够深入理解计算机系统的构造,能够探索其它计算机领域知识。
|
|