一、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:

  1. FUNC void Setup(void){
  2. PC = 0x20000000;
  3. }
  4. Setup(): //setup for Download
  5. LOAD obj\Blinky.axf INCREMENTAL //Download
  6. g,main

设置完后可以在SRAM中跑。

STM32的结构和启动模式的更多相关文章

  1. STM32启动模式

    STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash.2)SRAM = 芯片内置的RAM区,就是内存啦.3)系统存储器 = 芯片内部一块特定的区域,芯片 ...

  2. Duanxx的STM32学习: 启动模式,BOOT0和BOOT1具体解释

    在画STM32的电路图的时候,关于STM32的启动方式纠结了一下,现有的參考设计都是在STM32的启动选择引脚BOOT0和BOOT1上使用了跳帽,用以人工选择STM32的启动方式,可是在实际应用中这样 ...

  3. STM32启动模式及API(转)

    源:STM32启动模式及API 我们玩ARM9,一般都是在内存里调试程序,速度飞快.STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序 ...

  4. 【转】STM32三种启动模式

    @2018-12-16 [小记] STM32 启动区域 STM32三种启动模式 借助上述文章理解官方文档<一种从用户代码调用系统存储器中 Bootloader 的方法 >

  5. STM32三种启动模式 boot0 boot1

    STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存=芯片内置的Flash.2)SRAM=芯片内置的RAM区,就是内存啦.3)系统存储器=芯片内部一块特定的区域,芯片出厂时在这个 ...

  6. Android Activity 启动模式和任务栈

    在了解了基本的Activity的生命周期后,我们能够很好的在一个Activity上面做相关的业务.但是这是不够的,因为Android通过任务栈来保存整个APP的Activity,合理的调度任务栈才能够 ...

  7. Android启动模式launchMode

    在Android里,有4种Activity的启动模式并分别介绍下: standard singleTop singleTask singleInstance AndroidManifest.xml配置 ...

  8. Activity启动模式 及 Intent Flags 与 栈 的关联分析

     http://blog.csdn.net/vipzjyno1/article/details/25463457    Android启动模式Flags栈Task   目录(?)[+] 什么是栈 栈 ...

  9. Android的启动模式(上)

    1. 基本介绍 大家平时只要懂一点Android知识的话,都一定会知道,一个应用的组成,往往包含了许多的activity组件,每个activity都应该围绕用户的特定动作进行跳转设计.比如说,一个电话 ...

随机推荐

  1. 各大漏洞平台及SRC的区别和如何批量刷漏洞

    批量刷漏洞: 01刷指纹->02刷原始漏洞->03刷CMS->04刷指定政府.教育->05刷众测平台->06刷SRC->07刷国内外.活动 搜索引擎: 百度.goo ...

  2. delphi 解决RichViewEdit乱码问题

    ⑴ 设置RichViewEdit下面的几个属性: ① RTFReaderProperties → ParaStyleMode → rvrsAddIfNeeded ② RTFReaderProperti ...

  3. element-ui中的loading的实际应用

    实际开发中,要如何指定loading在我们想要的区域加遮罩呢? 前提: 你已经引入element-ui,如下: import ElementUI from 'element-ui' import { ...

  4. django搭建一个小型的服务器运维网站-重启服务器的进程

    目录 项目介绍和源码: 拿来即用的bootstrap模板: 服务器SSH服务配置与python中paramiko的使用: 用户登陆与session; 最简单的实践之修改服务器时间: 查看和修改服务器配 ...

  5. nginx中如何设置gzip(总结)

    nginx中如何设置gzip(总结) 一.总结 一句话总结: 真正用的时候,花一小点时间把gzip的各个字段的意思都看一下,会节约大量时间 直接gzip on:在nginx的配置中就可以开启gzip压 ...

  6. 慕课-tooltip提示框总结

    在慕课上学Waynej老师的tooltip浮动提示框,老师每次讲课都会强调搬砖的流程,这点在上了老师的几节课后宝宝终于体会到了: 分析→设计→编码→优化 分析:分析该功能到底是怎样的,其实就是需求分析 ...

  7. Python 多进程异常处理

    前言 最近项目用到了Python作为网站的前端,使用的框架是基于线程池的Cherrypy,但是前端依然有一些比较‘重’的模块.由于python的多线程无法很好的利用多核的性质,所以觉得把这些比较‘重’ ...

  8. Mac-如何安装apk到android手机

    将电脑上的apk安装到手机,Windows系统可以使用usb连接Android手机,然后打开编辑手机中的文件,直接粘贴apk到手机上安装apk.对于Mac来说就没有那么简单啦.那么Mac如何将apk安 ...

  9. Django ajax小例

    urls.py: url(r'^ajaxstudents/$', views.ajaxstudents), url(r'^getstudentsinfo/$', views.getstudentsin ...

  10. Scala中下划线的总结

    1. 方法转化为函数 2. 集合中的每一个元素 3. 获取元组Tuple中的元素 4. 模式匹配 5. 队列 6. 导包引入的时候 7. 初始化变量 引用自:https://blog.csdn.net ...