0基础学习STM32Day1

【1】单片机是什么?(MCU SOC)

--单片机集成电路芯片 微型计算机系统 片上系统

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统

--51:空调控制器、屏幕

51单片机 - STC89C51 / AT89C52 - 8位处理器

32单片机 - STM32 / 复旦微 - 32位处理器

处理器位数 - 单次运算最大处理的数据长度 - 运算能力、数据处理速度

应用领域:

智能家居 - ...

工业自动化 - 机械臂、加工中心、货物分拣... (新松机器人)

仪器仪表 - 自动抄表、智慧电表/水表 (积成电子)

智慧农业 - 智慧大棚、灌溉、喷药、果蔬溯源

零售销售 - 真伪识别、商品扫描

通信网络 - 路由器、交换机、服务器 (浪潮)

安全防护 - 摄像头(家用、军工) (神戎电子、中维世纪、宇视科技)

...9

【2】课程:

1)基础储备

--预科:工具使用 基本储备

--C语言:整个课程基础 (汇编基础演变 读写容易,可移植)

--Liunx及C高级:shell命令 C高级知识

--数据结构:算法 --实际应用时可以更简单方便

上层软件

---IO、网络编程、网络高级、C++、QT

2)底层开发

--STM32

接触硬件的课程

不是简简单单的应用API

-- ARM Linux驱动(移植 驱动开发)

【3】语言:

机器码(不算语言):读写难(不可移植)

C:本门课使用 .c

C++:C基础上升级的--QT开发 C++开发

python\GO:爬虫类的、客户端、爬虫,数据分析,数据挖掘

c#:后端 上位机

PHP\JS:前端 网站 网页

易语言:

汇编:.s 可读写(不能移植)

CPU能够识别的唯一的语言是机器码,一个CPU能够识别哪些机器码是由处理器的硬件(运算器种类)决定的不同的机器码代表不同的运算,同样不同的CPU的机器码是不通用的即不可以移植,汇编是用一个标识符来代表一个机器码,所以不同的CPU汇编也不一样,即汇编语言不可以移植。

C语言编译的时候我们可以使用不同的编译器将C编译成不同的汇编和机器码,所以C可以不依赖CPU架构

【4】IO逻辑:

计算机系统中的高低电平逻辑1和0,数据在计算机中的存储、传输、运算都是以二进制形式进行的。

计算机传输数据的方式只能使用电信号的方式表示二进制数据

单片机: 高低电平 高电平 1 低电平0

0001 0010 0011

电压:电压差 电势差

模拟信号:模拟信号是连续的,拟信号可以是任意数值状态;波形连续的信号(电压、温度、压力...)

数字信号:数字信号是离散(不连续)的,数字信号只有“0”和“1”两种状态离散的不连续的信号(开关)

【5】计算机的组成

--输入设备、输出设备、存储器、运算器、控制器

1)输入设备:将其他信号转换为计算机可以识别的信号(电信号) 。,鼠标、键盘、扫描仪、数位板、摄像头、手柄、麦克风

2)输出设备:将电信号(0、1)转为人或其他设备能理解的信号。音响 显示器 单音节 屏幕

3)存储器:用来存放程序数据的部件,也是计算器能够实现存储程序硬盘、U盘、内存、光盘、软盘、SD卡、磁带、游戏卡带

程序:指令的有序集合 //汇编指令

4)运算器:算术运算,逻辑运算

5)控制器:如从存储器中取出指令,控制计算机各部分协调运行

控制器和运算器整合在CPU中--单片机组成:

pc去读加法指令(取指),然后放到指令寄存器中,然后再放到译码器中去译码,译完码后给运算器去执行

不同的cpu运算器不同汇编指令也不同。

指令的解析

一条指令(机器码)的执行通常分为三个阶段:

1)取指:

控制器将PC寄存器中的值发送给内存,内存将对应地址中的指令(机器码)传送回CPU的指令寄存器IR中

2)译码:

指令译码器对IR中的指令进行识别,即将指令(机器码)翻译成具体的运算操作(+/-/*...)

3)执行:

运算器执行对应的指令并将结果写入寄存器 执行完一条指令后CPU内对应的硬件会将PC的值自动增加使PC指向内存中的下一条指令

【6】编译步骤

--预处理

将不能参与编译的内容(比如宏定义,注释)处理掉,主要进行宏定义替换头文件展开,(带#号的都没法编译),带分号的全部编译

--编译

--汇编

【7】STM32G0架构

● 二个主模块 :

– Cortex-M0 内核及先进高性能总线 (AHB bus)

– 通用 DMA ( GP-DMA -- general-purpose DMA)

STM32F103 M3内核

STM32G0/STM32F0 M0内核

● 四个从模块 :

– 内部 FLASH flash是存储芯片的一种,通过特定的程序可以修改里面的数据。 FLASH在电子以及半导体领域内往往表示Flash Memory的意思,即平时所说的“闪存”,全名叫Flash

– 内部SRAM SRAM——“Static RAM(静态随机存储器)”的简称,所谓“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持

– 专门用于连接 GPIO 口的 AHB2

– AHB 到 APB 的桥 , 所有的外设都挂在 APB 总线上

【8】ARM架构

处理器架构 - CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示

ARM与STM32之间的联系 stm32是基于ARM内核的一种控制器,是包含与被包含的关系。 ARM(STM32)

ARM是内核不是芯片 不生产芯片只是提供技术

四大主流架构:

ARM - 主流微控制器

Intel - 大型设备PC\服务器

MIPS - 通信设备、游戏机

RISC-V - 开源项目

面试题:什么是ARM?

一家公司:英国ARM - 日本 软银 芯片IP供应商 - 设计

一种处理器:ARM处理器架构

早期经典处理器 ARM7 ARM9 ARM11

ARM - cortex系列 - A 高性能处理器

- R 实时性处理器

- M 消费级

一种技术:采用精简指令集RISC的处理器解决方案

【9】内部架构(Cortex-M0架构)

Cortex-M0 微处理器主要包括处理器内核嵌套向量中断控制器(NVIC)调试子系统内部总线系统构成。

Cortex-M0 微处理器通过精简的高性能总线(AHB-LITE)与外部进行通信。

Thumb 指令集,高效、高代码密度;

冯诺依曼架构

  冯·诺依曼体系结构冯·诺依曼理论的要点是:计算机的数制采用二进制;计算机应该按照程序顺序执行

哈佛架构

哈佛结构的计算机由CPU、程序存储器数据存储器组成,程序存储器和数据存储器采用不同的总线,从而提供了较大的存储器带宽,使数据的移动和交换更加方便,尤其提供了较高的数字信号处理性能。

【10】Cortex-M0特性:

高性能,使用ARMv6-M的体系架构

中断数量可配置(1~32 个),4 级中断优先级;

门电路少,低功耗,处理器可在休眠状态下掉电以降低功耗;

与 Cortex-M1 处理器兼容,向上兼容 Cortex-M3 和 Cortex-M4 处理器;

支持多种嵌入式操作系统,也被多种开发组件支持,包括 MDK(ARM Keil 微控制器开发套件)、RVDS(ARM RealView 开发组件)、IAR C 编译器等。

【11】Cortex-M0的两种工作模式和两种工作状态

线程模式(Thread Mode):

芯片复位后,即进入线程模式,执行用户程序

复位就是通过程序把输入的值变为通电时候的初始状态

处理模式(Handler Mode)。

当处理器发生了异常或者中断,则进入处理模式进行处理、处理完成后返回线程模式

Thumb状态:正常运行时处理器的状态

调试状态:调试程序时处理器的状态

【12】Cortex-M0相关寄存器

寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成

特殊功能寄存器:

xPSR:组合程序状态寄存器,该寄存器由三个程序状态寄存器组成

应用PSR(APSR):包含前一条指令执行后的条件标志

N负数标志 Z零标志 C进位借位标志 V溢出标志

中断PSR(IPSR):包含当前ISR的异常编号

执行PSR(EPSR):包含Thumb状态位

地址映射:

ARM(推荐)

芯片 厂商实际用的

如何访问寄存器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值