设为首页收藏本站

嵌入式天空

 找回密码
 我要注册

扫一扫,访问微社区

查看: 1991|回复: 2

尚观STM32实验手册一(Free Edition)

[复制链接]

37

主题

74

帖子

1300

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1300
QQ
发表于 2017-6-27 12:20:41 | 显示全部楼层 |阅读模式
本帖最后由 zack 于 2017-6-27 12:29 编辑

123.jpg
尚观STM32实验手册(1)
作者:北京尚观科技·张伟
1.开发主机系统
           Windows(7.8.10)开发stm32的时候需要使用
2.项目
数据采集器(stm32)
3.使用的开发板型号
        STM32F407ZGTX
4.arm简介
arm公司在英国剑桥大学,后来被日本的软银收购了,arm公司本身不做芯片,只是研发arm处理器,研发完arm处理器把研发的专利卖给半导体厂商(例如:高通 苹果 飞思卡尔 三星)注:在arm出现之前就有单片机了(8位或者16位机)arm公司成立的时候就推出的是32位机的方案。
--------------------------------------------------------
例:算两个32位的数据的加法,16位机器需要算两次(高16位算一次 低16位算一次)
8位机器需要算4次,32位机器只需要算1次
--------------------------------------------------------
5.arm发展
因为在当时8位机器和16位机器已经足够处理需要解决的问题,所以arm公司刚开始推出的arm1、arm2......arm6基本用的都很少
版本
CPU
SOC(系统级芯片)
V4
arm7TDMI(单核)
S3C44B0(三星公司)
黑白屏的手机
arm920T(单核)
S3C2440(三星公司)
彩屏手机 和弦音
V5



V6
arm1176(单核)
S3C6410(三星公司)
早期的android手机
V6K
arm11MP(多核)


以上是arm的经典处理器,以下是arm的cortex系列处理器
V7(arm-cortex-a)
(针对于高端应用的
<手机 平板 安卓电视>)
a8(单核)
S5PV210
工控
Am335x
(TI<美国德州仪器>)
工控
a9(4核)
Exynos4412

Imax6Q(飞思卡尔)

Imax6D(飞思卡尔(2核))

a53(8核)
S5P6818

V7(arm-cortex-m)
主要用作单片机
m3
STM32F103
m3的主频是72M
m4
STM32F407
m4的主频是168M
m4比m3多一个dsp(数字信号处理)
V7(arm-cortex-r)(针对实时操作系统)
注 : 以上所说的芯片只是九牛一毛,所以大家以后出去工作肯定会用到一些其他的芯片或者其他系列
6.单片机和SOC区别
1>芯片内部区别
        单片机
CPU
内存RAM(程序在内存中运行)
硬盘ROM(存放烧写的程序)
控制器controller(gpio uart timer ...)
//本身就是一个完整的计算机系统
SOC(系统级芯片)
CPU
RAM(SOC在启动时使用的内存)
ROM(存放的半导体厂商固化好的固件<在启动时自动执行>)
控制器controller(比单片机的控制器要复杂<可控制的东西比单片机多>)
//用SOC做计算机系统需要
外接内存(DDR)
外接硬盘(Emmc)
2>开发方式区别
单片机Windows + keil(IDE)
用C语言写裸板程序(或者Ucos<当需要并发时>)
                        注 :Keil原先属于keil公司的,但是在2005年的时候被arm公司收购了,对于做单片机的开发支持应该会很好,所以我们选用keil。
SOC(Linux (ubuntu))<windows现在比较少,芯片很少会支支持windows>
运行操作系统
APP:微信 游戏 专用的app
GUI:Android(JAVA) QT(C++) GTK(C)
LIB :libthread libc libjpeg
文件系统:APP GUI LIB都是文件,存储在硬盘上(0 1)
文件系统把硬盘上的二进制数据解析成文件的形式
内核:Linux Android
Bootloader:相当于台式机的BIOS + GRUB
初始化/检测硬件和引导内核
Bootloader现在用的比较多的是uboot,支持很多芯片
硬件:SOC + LCD + KEYBOARD + sound + netcard + ...
--------------------------------------------
PC启动流程(对比SOC启动流程)
BIOS->GRUB->kernel->rootfs->init->脚本->app
--------------------------------------------
SOC的开发相对于单片机开发来说复杂得多,一旦带了操作系统层次就比较多了
7.STM32简介
可以在www.embsky.com上下载所需要的SDK
1>SDK分析
下载并且解压完的SDK中
     DataSheet
ARM-CORTEX-Mm3和m4的核心
ESP8266WIFI
LCD液晶显示
RFID射频识别
STM32STM32单片机手册
传感器各种各样传感器手册
其他没法归类的手册
    ST官方固件
                stm32f4_dsp_stdperiph_libST官方固件
    开发板原理图
                stm32f407zgt6_01v01开发板原理图
    开发工具
                ...一系列会用到的工具
2>STM32开发方式
Windows + keil
        有两种方式
第一种方式:代码全部自己写,直接操作寄存器
第二种方式:调用ST官方的固件库
3>通过<ST_MCU最新选型手册>我们可以得出[P15]
rom1024kb
ram192kb
封装形式144
定时器12个16bits定时器和2个32bits定时器
看门狗2个
RTC24bit
ADC(模数)24个12bit通道
DAC(数模)2个12bit通道
GPIO114
SPI(串行外设接口)3个
I2S2个
I2C3个
usart和uart4+2
USB2个
CAN2个
SDIO(SD卡接口)1个
工作电压1.7-3.6(V)
工作电流2.5(UA)
工作温度-40  ~ +105(摄氏度)
4>通过<STM32F405OE_...>我们可以得出[P18]
我们的单片机用到的核心是ARM Cortex-M4(工作频率是168MHZ)
CPU要和其他的设备连接到一起用的是三总线(数据 地址 控制)
CPU和其他的设备都连接到了AHB总线(三总线)上
<连接到AHB总线上的设备>
SRAM
Flash(rom)
MAC控制器(在单片机外部接一个PHY芯片,就可以上网了)
USB控制器
DMA控制器
从AHB总线上又桥接出了另外的总线
AHB1(168MHz)(高速总线)
GPIO(单片机的一些引脚)
                ...
AHB2(168MHz)
Camera interface摄像头接口
                ...
AHB3
从AHB1总线上又桥接出了另外的总线
APB1(外设总线)
定时器
串口
看门狗
...
APB2
SDIO
PWM定时器
SPI
...
也就是说 AHB AHB1 AHB2 AHB3 APB1 APB2都是三总线
        设备如果连到AHB总线上那么工作频率可以达到168MHz,连接到APB总线
        设备一般来说达不到这么高的工作频率
以后再做开发的时候,应该先搞清楚设备连接在哪个总线上的,才能知道设备工作的频率,方便以后操作
回复

使用道具 举报

0

主题

10

帖子

106

积分

新手上路

Rank: 1

积分
106
发表于 2017-8-1 13:51:24 | 显示全部楼层
最近在学习 stm32  想看看这个视频或者资料
回复 支持 反对

使用道具 举报

0

主题

6

帖子

44

积分

新手上路

Rank: 1

积分
44
发表于 2018-4-30 17:34:00 | 显示全部楼层
````````````````````````````
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EBMSKY Inc. ( 冀ICP备17022971号-1  

GMT+8, 2019-5-19 23:08 , Processed in 0.096204 second(s), 40 queries .

Powered by Discuz! X3.2

© 2014-2018 Comsenz Inc. 【嵌入式天空】设计

快速回复 返回顶部 返回列表