物联网|ARM|Keil安装|MDK|增加V5编译器|物联网开发系列课程之零基础玩转Cortex-M系列CPU-学习笔记(1)

news2024/11/25 13:23:05

文章目录

  • 第一阶段-课程背景及简介
    • 问题一 什么是物联网
    • 问题二 嵌入式系统在物联网中的角色
    • 问题三 不一样的嵌入式系统
  • 课程介绍
    • 课程内容提要(学什么)
    • 课程特色
    • 课程要求(怎么学)
    • 课程目的(怎么用)
    • 课程约定
  • 浅谈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:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/456667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

04-24 每日一题 1163. 按字典序排在最后的子串 学习笔记反思

不晓得脑袋的灵活性是不是和精力的充沛程度相关,看到红色的困难,感觉自信都没了 题目描述 给你一个字符串 s ,找出它的所有子串并按字典序排列,返回排在最后的那个子串 示例 1 :::success 输入:s “abab” 输出&…

【CocosCreator入门】CocosCreator组件 | Button(按钮)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中的Button组件可以通过设置按钮的状态和点击事件,实现在游戏中添加按钮交互的功能。 目录 一、组件介绍 二、组件属性 三、点击事件 Ⅰ、通过属性检查器添加回调 Ⅱ、通…

【AI话题】Chatbot UI下实现的对话模拟机

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 项目初衷:一、功能介绍:二、使用说明:1.注意事项: 三,未来功能:总结 项目初衷: …

让人悲观的国内ChatGPT的未来

最近关于ChatGPT的火爆已经不是简单的AI圈的事了,它已经席卷了所有的IT、媒体圈子,甚至是不同领域不同行业的人,只要你还对于变化与AI有一定的了解,那我相信你一定能知道ChatGPT是什么了。ChatGPT在某种程度上已经是相当于AGI通用…

时间序列的数据分析(七):数据平稳性

之前已经完成了六篇关于时间序列的博客,还没有阅读过的读者请先阅读: 时间序列的数据分析(一):主要成分 时间序列的数据分析(二):数据趋势的计算 时间序列的数据分析(三):经典时间序列分解 时间序列的数据分析(四):STL分解时间序列的数据分析(五):简单…

怎么使用gpt4-在哪里使用gpt

gpt-4怎么用 目前,GPT-4尚未发布或公开释放。因此,我们目前无法使用GPT-4。GPT-4是由OpenAI公司开发的人工智能语言模型,其预计能够比先前的版本GPT-3更加强大和智能化,但我们需要等待OpenAI官方发布有关GPT-4的更多信息。 如果…

搜索引擎找外贸客户

说起搜索引擎,我们每个人都不陌生,也许第一时间就能想到平日经常使用的“百度一下”和凭借强大算法及丰富功能占据近85%市场份额的谷歌搜索(Statista 2023年1月数据)这些耳熟能详的搜索引擎。对于外贸人而言搜索引擎也是非常实用的…

内卷的上海车展上,百度Apollo带来新型开放整零关系

/ 导读 / 汽车的智能化发展已然成为了当前市场最有热度的话题,更有希望引领新一代产业革命的浪潮。百度作为最早探索智能驾驶领域的企业之一,多年来始终打磨技术产品,已经形成了全栈的解决方案,从而帮助企业造好车。 在上海车展前…

谁不看谁是

报错Cannot create property type on string 是因为 你定义的相关变量是字符串 改成这样就行了 vue报错Cannot set properties of undefined (setting ‘xxx‘) 是因为没获取到值,需要在方法外层定义变量等于this,然后在方法内使用变量.name去查找值&a…

项目沟通管理5大技巧 第4个很重要

1、充分使用twitter管理沟通模型 项目沟通会议可以充分使用witter的管理沟通模型,提高会议沟通效率。使用此模型,主要是有三步: 第一步:倾听,项目经理需要保持中立的立场,不先表态,让团队成员畅…

nacos 1.4.2升级到nacos 2.1.1遇到的一些坑

文章目录 1 前言2 拉取nacos配置失败2.1 可能是端口号问题2.2 可能存在jar冲突2.3 可能nacos配置不对 1 前言 为了各组件更好的的兼容,最近系统进行了nacos升级, 由1.4.2升级为2.1.1,这里把遇到的一些坑做一下记录。 2 拉取nacos配置失败 在升级后&am…

Vue(事件处理、计算属性、监视属性)

一、事件处理 1. 语法 Vue模板 v-on:xxx"处理函数" xxx(作为绑定事件的简写)"处理函数" xxx指代的都是事件名 Vue实例 必须使用methods配置对象(配置多个函数方法) methods中配置函数,都是Vue…

哈希表题目:网格照明

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:网格照明 出处:1001. 网格照明 难度 6 级 题目描述 要求 在 n n \texttt{n} \times \texttt{n} nn 的二维网格 grid \texttt{grid}…

【C++技能树】原来比C方便这么多 --引用、内联函数、Auto、NULL与nullptr

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

【软考备战·希赛网每日一练】2023年4月24日

文章目录 一、今日成绩二、错题总结第一题第二题第三题第四题第五题 三、知识查缺 题目及解析来源:2023年04月24日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: 第二题 解析: DPI表示每英寸像素点的个数。 300DPI表示每英寸…

ESP32学习六-构建系统

一、简介 如果想要新建一个ESP32项目,需要包含很多其他的文件夹和文件,如果对ESP32的勾线系统原理不理解,就会产生出很多编译不通过的问题。这里就对ESP-IDF构建系统的实现原理做一个简单的总结。 测试环境:Ubuntu18.4 ESP-IDF&am…

Observability:添加免费和开放的 Elastic APM 作为 Elastic 可观察性部署的一部分 - 8.x

作者:David Hope 在最近的一篇博文中,我们向你展示了如何开始使用 Elastic 可观察性的免费开放层。 下面,我们将介绍你需要做些什么来扩展你的部署,这样你就可以开始免费从应用程序性能监控(APM)或跟踪集群…

我国直播电商行业市场增速下降 核心竞争力发生转变 新一轮洗牌变革步伐将加快

1、直播电商概念及其产业链图解 直播电商是属于网络直播的一个分支,属于一种泛娱乐类直播,电商店铺的店家或模特主播在直播间通过借助视频录制工具,将店铺所售的商品展示给用户,并为用户答疑解惑,提供实时的客服服务&…

【JavaEE初阶】多线程(二)线程状态以及多线程安全问题

摄影分享~~ 文章目录 线程的状态多线程带来的风险线程安全线程安全的原因解决线程不安全问题(加锁)synchronized关键字-监视器锁monitor locksynchronized的特性 java中的死锁问题死锁死锁的三个典型情况死锁的四个必要条件如何避免死锁? J…

家用洗地机怎么选?2023高性价比家用洗地机推荐

相信大家和我一样是妥妥的“懒人一族”了,不喜欢做家务、不喜欢碰脏水、不喜欢花费过多的时间在家务上,但是却想有一个整洁干净的家居环境。而作为家务清洁中面积最大、耗时耗力最多的就是扫地拖地了。传统的地面清洁方式,要先用扫把扫一遍&a…