文章目录
- 第一阶段-课程背景及简介
- 问题一 什么是物联网
- 问题二 嵌入式系统在物联网中的角色
- 问题三 不一样的嵌入式系统
- 课程介绍
- 课程内容提要(学什么)
- 课程特色
- 课程要求(怎么学)
- 课程目的(怎么用)
- 课程约定
- 浅谈ARM
- 什么是ARM
- ARM体系架构CPU的特点
- ARM体系架构CPU应用举例
- ARM体系架构及指令集的发展历程
- Cortex系列架构简介
- Cortex-M系列家族三兄弟的特性
- 众里寻他千百度-谈谈CPU的选型
- 课后作业:
- Lesson2:工欲善其事必先利其器
- AMDK-ARM简介
- MDK使用方法及其它一些工具介绍
- TIPS:V5编译器(compiler version 5)
第一阶段-课程背景及简介
问题一 什么是物联网
1.物联网的定义
利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。
2.物联网的组成
3.物联网应用举例智能家居
问题二 嵌入式系统在物联网中的角色
1物联网的数据源头
2物联的局域网络源头
问题三 不一样的嵌入式系统
1:应用上的不同
2:各自的不同特点
运行的CPU频率相对较低,
长时间运行功耗低
功能相对单一
成本降低
课程介绍
课程内容提要(学什么)
课程特色
1:讲解大量工程经验
2:不仅讲如何应用,还要讲应用的原理,理解更加深刻
3:学习门槛低,要求同学们有C语言基础即可学习
4:通过大课套小课的方式实现零基础学习。整个课程中穿插了一个专为零基础学员设计的小课程—《嵌入式开发必知会》
5:讲授+引导的方式教学,注重学习方法的培养
6:一个课程,同时学习Cortex-M0,M0+,M3,M4四个系列CPU的开发,通过比较学习,增加印象。
课程要求(怎么学)
四多
多听多看多思考多动手I
1.要求学员认真听课,认真完成课堂实验,课后实验和课后作业;
2.能够主动看课程推荐的书和文章,并主动去推荐的网站查阅资料;
3.要求学员多思考,主动思考我们的课后问题,有好的想法和意见也可以提出来一起讨论;
4.要求学员在课程后能够主动学习,主动做实验。
课程目的(怎么用)
1:理解Coex-M系列CPU的架构,工作原理,编程模型,便于以后理解和分析问题﹔
2:能够结合器件手册看懂电路原理图﹔
3∶能够了解MDK的编译原理,熟悉MDK的开发环境。能够熟练的使用MDK进行c语言代码的编写及调试﹔
4:能够熟练的对STM32F407内部控制器和外部接口进行编程。
5:了解常用的外设〈如LED灯,按键,蜂鸣器)﹐传感器和无线模块的工作原理及编程方法。能够熟练的使用这些外设,传感器及无线模块。
6∶了解商业项目的开发流程和开发规范,能够利用以上学习的技能和知识独立完成简单商业项目中的嵌入式系统开发部分。
课程约定
对课程和主题的约定
●:代表该课或者主题讲解或实验内容同时适用于MO,M3,M4三个系列CPU;
◎:代表该课或者主题讲解或实验内容适用于M3,M4两个个系列cPU;
○:代表该课或者主题讲解或实验内容只适用于M4一个系列的CPU;
对知识点的约定
★:代表工程经验或工程知识点﹔
☆:代表理论知识点;
△:代表只需要了解的小常识;
课后思考题
为什么Cortex-M系列CPU构建的嵌入式系统能够在物联网的感知层占据一个主导的地位?
Lesson1: ARM及Cortex-M架构CPU简述
浅谈ARM
什么是ARM
1 ARM是一家公司
1990年成立于英国剑桥Acom技术入殷苹果和vLSI资金入股靠出售芯片的IP核授衩来盈利
Tip1:什么是IP核
知识产权核是一段具有特定电路功能的硬件描述语言程序,实现某些特定的功能。
授权厂家举例
厂家名:典型产品
三星:2410 6410 S5PC210 Exynos4412 Exynos5250
高通:骁龙S1,s2 s3 s4 200 400 600 800系列
ST:STM32F0Xx STM32F1XX STM32F4XX
2 ARM是一种CPU的体系架构
Tip2:ARM早期命名规则简析
(1)ARM=Advanced RISC Machines
(2)ARM7TDMI-S
“t表示具有高密度16位的thumb指令机扩展功能;d表示具有支持片上调试功能DEBUG;m表示具有64位乘法指令;i表示增加了embededice观察点硬件. ”
ARM体系架构CPU的特点
采用RSC指令集
1.支持ARM32位指令集合Thumb指令集
Tip1:什么是CPU的指令集
存储在CPU内部 对CPU运算进行指导和优化的硬程序
Tip2:什么是RISC指令集
相对与CISC指令集来说,即精简指令集,所有指令周期一致,流水线技术。
减少微电路和成本。
2.体积小
3.功耗低
4.成本低
5.性能高
6.集成度高
7.种类繁多,应用广泛
ARM体系架构CPU应用举例
ARM体系架构及指令集的发展历程
1.起始
第一个版本1985年
ARM1第一个重产质本1986年ARM2
2.爆发式的后续发展(好于ARM9)
Tip1: ARM架构与指令集的关系
Cortex系列架构简介
ARM公司在经典处理器ARM11以后的产品改用Cortex命名
并分成A、R和M三类,旨在为各种不同的市场提供服务
Cortex系列架构采用ARMV7指令集
其中
“A”系列面向尖瑞的基于虚拟内存的操作系统和用户应用,安卓或数字电视等;
“R”系列针对实时系统,实时系统﹔
“M”系列针对低功耗低成本的微控制器CU应用,简单工业控制,工业传感器;
Cortex-M系列CPU树立了全球微控制器(MCU)的设计标雅。
1 特点
·低成本
·低功耗
·对代码需求更小代码可重用性好
·性能强大
·可选厂家和型号多
Tip1:8位 16位 32位的MCU
2 针对市场
成本和功耗敏感的MCU和终端应用
用更高的性能,更低的功耗和成本慢憬取代传统8位,16位MCU在市场中的地位。并在新兴的物联网市场占据主要地位
Cortex-M0+ 2012.3
Cortex-M7 2014.9
Cortex-M系列家族三兄弟的特性
众里寻他千百度-谈谈CPU的选型
如何进行CPU(或者MCU)的选型
第一步:弄清楚项目需求
第二步:根据项目需求从以下几个方面进行选型·
.可以进行供货的CPU厂家或者代理商
.CPU的工作温度范围 存储温度范围
.CPU的性能(频率架构)
.CPU的功耗
.CPU支持的接口
.CPU的价格
.CPU的上市时间及供货周期
.CPU体积
Tip1:芯片的环境温度级别
商业级 工业级 车规级 军工级
0-70 -40-85 -40-120 -40-150
Tip2:如何获取更多ARM的信息
https://www.arm.com/
课后作业:
1.给出以下一个案例及备选CPU请问案例中的几个终端和节点设备该如何进行选型?
备选CPU如下:
1STM32F050( Cortex-MO)
2 STM32F100 ( Cortex-M3)
3 STM32F407 (Cortex-M4)
4 S3C6410(ARM11)
5 Exynos5250
某煤矿公司为了提高矿下施工的安全性,需要在矿下配置安全预警及灾后数援辅助系统,该系统组成框图如下:
其中,传感器节点用于采样矿下各个位置的温度,湿度,人体接近等信息,并通过近距局域网把信息发送给数据集中节点·其特点是数里多要求成本低。
数据集中节点汇总各传感器节点的数据,并通过WE上传到信息处理服务器。要求有较强的无线传输能力。
音视频采集节点用于采集图像和声音等信息﹐通过WE)上传到信息处理服务器。要求有较强的无线传输能力和音视频处理能力。
地面手持监控终端用于显示井矿下的各项数据及声音和图像信息。
2.至MDK官网下载版本为50的的MDKI具并安装后熟悉开发环境
Lesson2:工欲善其事必先利其器
AMDK-ARM简介
1 MDK-ARM是什么
全称Keil_ Microcontroller Development Kit for ARM
RealView MDK-ARM开发套件源自德国Keil公司,是ARM公司目前推出的针对各种嵌入式处理器的可视化软件开发工具。支持ARM7,ARM9,ARM Cortex-M,ARM Cortex-R等多种架构处理器
不支持coretex-A。
2 MDK-ARM的功能
提供可视化源代码编辑环境
提供可视化的工程管理器
整合了C/C++的编译器,汇编器·链接工具,MAKE工具,通过可视化的界面可直接进行汇编,编译,连接以及生成目标文件
支持多种CPU (1000种以上》的启动代码,以及它们的编译和调试
提供软件模拟调试及仿真功能,能实现多种接口的软仿真
支持多种下载和调试工具,连接下载工具后可直接实现板级的调试
提供Flash编程及下载工具,连接下载器后可直接把程序下载入Flash Rom
提供丰富的数据手册,帮助文档
3 MDK-ARM新版本
2014年uVersion5发布
目前最新版本为:MDK-ARM uVision5.38
MDK-ARM5.38介绍
1 MDK5-ARM架构介绍MDK5-ARM架构图如下:
MDK-ARM Version 5
Tip1:什么是CMSIS
The Corex microcontroller software interface standard
由ARM制定允许软件公司和芯片公司酗循一个标准的结构来发布基于Cortex-M处理器的软件方案
2 MDK5-ARM的特点
·提供大量的软件组件,并可随时更新最新的组件,提高开发效率。
.增加了包管理功能,用户可定制需要的CPU支持包或者软件组件包
·提供大量的代码模板,方便工程师快速开发
在MDK5.0中的一些外设驱动采用CMSIS-Driver标准的驱动。软件兼容性好,提高代码复用的能力·优化了编译器,编译速度比版本4更快
。通过MDK5的开发环境,可方便的访问各类技术文档
MDK使用方法及其它一些工具介绍
MDK5.13工程的创建及代码的添加
先下载开发板对应的pak:https://www.keil.com/dd2/pack/#!#eula-container
注意:如果keil版本较老而pack版本较新,打开工程时可能会报错,可选择以往的旧版本。
TIPS:V5编译器(compiler version 5)
最新版本的Keil不预装V5编译器(compiler version 5),复制Compiler安装到Keil_v5/ARM这个文件夹下,再选择C99: