STM32的结构和启动模式
一、STM32F10x功能模块
- 32位的Cortex-M3微处理器;
- 可嵌套的向量中断控制器(NVIC)和60个可屏蔽中断且有16个可编程优先级;
- 内嵌内存:
- FLASH:最大512K字节
- STAM:最大64K字节
- 扩展内存接口(FSMC):
- 支持NAND、SRAM、NOR、PC Card和其他内存设备;
- 2个DMA,共有12个通道;
- SDIO:
- 支持SD、SDIO、MMC和CE-ATA卡;
- 硬件CRC;
- 带有电压调节器且具有多种低功耗模式:
- 电压范围:2V~3.6V;
- 4中带自动唤醒的低功耗模式;
- 具有上电/掉电复位和可编程电压检测功能;
- 带84个字节寄存器的备份区域;
- 使用带时钟安全系统的时钟控制模块进行频率管理和监控,频率最高可达72MHz;
- 丰富的外设和IO口:
- 内嵌带有电池备用性能的低功耗的RTC;
- 双看门狗结构;
- 9个定时器:包括高级控制定时器和SysTick;
- 12个通讯接口;
- 最多有112个IO(144脚封装),16个外部中断/事件;
- 多达3个12位1Msps的ADC,最多可用21个通道,以及一个内嵌误差位±1.5°且与测量温度成限行比例的温度传感器;
- 1个2通道的12位DAC。

二、内存映射和启动模式
- 4G字节的内存寻址空间
- RAM:最多16K字节
- FLASH:最多128K字节

- CODE(0x0000 0000):代码区
- Flash:自动映射到0地址
- SystemMemory:下载程序代码的区
- Option Bytes:芯片信息
- Peripherals(0x4000 0000):芯片外设
- Cortex-M3 internal peripherals(0xE000 0000):内核里的外设
三、启动模式
- 启动模式:更具启动设置,可将用户Flash、系统Flash、内部SRAM映射到从0x0000 0000起始地区域

- 系统内存:内部包含内存自举程序,用于通过USART1对用户Flash进行编程。
把跳线选择到SRAM启动,然后再keil中的Options for Target>>Target>>IROM1:0x2000 0000;0x3000;IRAM1:0x20003000;0x2000。
然后需要一个加载程序ram.ini:
- FUNC void Setup(void){
- PC = 0x20000000;
- }
- Setup(): //setup for Download
- LOAD obj\Blinky.axf INCREMENTAL //Download
- g,main
设置完后可以在SRAM中跑。
STM32的结构和启动模式的更多相关文章
- STM32启动模式
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash.2)SRAM = 芯片内置的RAM区,就是内存啦.3)系统存储器 = 芯片内部一块特定的区域,芯片 ...
- Duanxx的STM32学习: 启动模式,BOOT0和BOOT1具体解释
在画STM32的电路图的时候,关于STM32的启动方式纠结了一下,现有的參考设计都是在STM32的启动选择引脚BOOT0和BOOT1上使用了跳帽,用以人工选择STM32的启动方式,可是在实际应用中这样 ...
- STM32启动模式及API(转)
源:STM32启动模式及API 我们玩ARM9,一般都是在内存里调试程序,速度飞快.STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序 ...
- 【转】STM32三种启动模式
@2018-12-16 [小记] STM32 启动区域 STM32三种启动模式 借助上述文章理解官方文档<一种从用户代码调用系统存储器中 Bootloader 的方法 >
- STM32三种启动模式 boot0 boot1
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存=芯片内置的Flash.2)SRAM=芯片内置的RAM区,就是内存啦.3)系统存储器=芯片内部一块特定的区域,芯片出厂时在这个 ...
- Android Activity 启动模式和任务栈
在了解了基本的Activity的生命周期后,我们能够很好的在一个Activity上面做相关的业务.但是这是不够的,因为Android通过任务栈来保存整个APP的Activity,合理的调度任务栈才能够 ...
- Android启动模式launchMode
在Android里,有4种Activity的启动模式并分别介绍下: standard singleTop singleTask singleInstance AndroidManifest.xml配置 ...
- Activity启动模式 及 Intent Flags 与 栈 的关联分析
http://blog.csdn.net/vipzjyno1/article/details/25463457 Android启动模式Flags栈Task 目录(?)[+] 什么是栈 栈 ...
- Android的启动模式(上)
1. 基本介绍 大家平时只要懂一点Android知识的话,都一定会知道,一个应用的组成,往往包含了许多的activity组件,每个activity都应该围绕用户的特定动作进行跳转设计.比如说,一个电话 ...
随机推荐
- 英语单词Uninterrupted
Uninterrupted 来源——不间断电源供应 UPS(Uninterrupted Power Supply) 翻译 adj. 不间断的:连续的 GRE 词根 un- + interrupt ...
- python学习笔记(五)文件操作和集合
文件基本操作: 现有文件file.txt f=open('file.txt','r')#以只读方式打开一个文件,获取文件的句柄,如果是读的话,r可以不写,默认就是只读:文件不存在时,会报错 first ...
- 转载 ldd3环境配置
ldd3(<linux设备驱动程序>)里面使用的正是Linux2.6.10内核,如果内核不同,使用课本里的代码会出现各种问题,所以搭建与课本一样内核版本的环境,用来学习. 尝试过使用ubu ...
- 【LeetCode 60】第k个排列
题目链接 [题解] 逆康托展开. 考虑康托展开的过程. K = ∑v[i]*(n-i)! 其中v[i]表示在a[i+1..n]中比a[i]小的数字的个数 (也即未出现的数字中它排名第几(从0开始)) ...
- paper 155:face/head pose estimation
参考来源:http://www.cnblogs.com/lanye/p/5312620.html 人脸姿态估计:pitch,yaw,roll三种角度,分别代表上下翻转,左右翻转,平面内旋转的角度. ...
- Golang操作MySQL的正确姿势
封装原因: 查看了很多网上提供的ORM类型的数据库操作,觉得比较麻烦,需要提前配置很多的表结构体,然后才能使用,对于数据表很多的项目就配置起来就比较麻烦,所以对golang的mysql包进行了外层包装 ...
- 数据挖掘之DecisionTreeClassifier决策树
用决策树DecisionTreeClassifier的数据挖掘算法来通过三个参数,Pclass,Sex,Age,三个参数来求取乘客的获救率. 分为三大步: 一,创建决策树DecisionTreeCla ...
- xcode安装pod
参考了: https://blog.csdn.net/AugustDY/article/details/92078639 输入 ruby -v ,查看当前电脑的ruby版本,如果已经安装了ruby环境 ...
- ubuntu 设置固定IP
vim /etc/network/interface address 要固定的IP地址 netmask 子网掩码 A类地址 默认255.0.0.0 B类地址默 255.255.0.0 ...
- QTP调用.net Framework类库实例
1. 日期时间格式处理 set oDate = DotNetFactory.CreateInstance("System.DateTime").Parse("2-18-2 ...