>> STM32F10XX系统架构

>>  程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。

>>  数据字节以小端格式存放在存储器中。一个字里的最低地址字节被认为是该字的最低有效字节,而最高

地址字节是最高有效字节。

>>  STM32F10xxx内置64K字节的静态SRAM。它可以以字节、半字(16位)或全字(32位)访问。
    SRAM的起始地址是0x2000 0000。

>>  闪存模块
 ------------------
  小容量  |  32K
  中容量  |  128K
  大容量  |  512K
  互联型  |  256K
 
   0x0800 0000 -  0x0800 7FFF 主存储块 32K,32页(0-31), 1K/页(小容量产品16K-32K)
   0x0800 0000 -  0x0801 FFFF 主存储块 128K,128页(0-127), 1K/页(中容量产品64K-128K)
   0x0800 0000 -  0x0807 FFFF 主存储块 512K,256页(0-255), 2K/页(大容量产品256K-512K)
   0x0800 0000 -  0x0803 FFFF 主存储块 256K,127页(0-127), 2K/页(互联容量产品F105X或者F10XX)

>> 系统存储器
 系统存储器 0x1FFF F000 - 0x1FFF F7FF 2K  (小、中、大容量)
                系统存储器 0x1FFF B000 - 0x1FFF F7FF 18K (互联型)
>> 在启动延迟之后, CPU从地址0x0000 0000获取堆栈顶的地址,并从启动存储器的0x0000 0004指示的

地址开始执行代码。
      从主闪存存储器或者系统存储器启动,都可以从0x00000000地址处重映射启动,但是SRAM只能在

0x20000000开始处启动,还必须注意重映射向量表到SRAM中。

>> 等待周期体现了系统时钟(SYSCLK)频率与闪存访问时间的关系:
 0等待周期,当 0 < SYSCLK < 24MHz
 1等待周期,当 24MHz < SYSCLK ≤ 48MHz
 2等待周期,当 48MHz < SYSCLK ≤ 72MHz

>> 闪存编程一次可以写入16位(半字)。
      闪存擦除操作可以按页面擦除或完全擦除(全擦除)。全擦除不影响信息块。

>>          启动模式选择引脚
 BOOT1 BOOT0 说明      
   X             0  主闪存存储器 主闪存存储器被选为启动区域
   0             1  系统存储器 系统存储器被选为启动区域
   1             1  内置SRAM 内置SRAM被选为启动区域

STM32F10XX存储器细节的更多相关文章

  1. 有趣的keil MDK细节(转)

    源:有趣的keil MDK细节 1.MDK中的char类型的取值范围是? 在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0-255.它们可以显式地声明为signed ch ...

  2. Stratix内嵌存储器测试报告

         Stratix和Stratix GX系列器件内嵌TriMatrix存储块包括512-bit M512块.4-Kbit M4K块及512-Kbit M-RAM块.TriMatrix存储结构可对 ...

  3. 【CSAPP笔记】11. 存储器层次结构

    在没有专门研究存储器系统之前,我们依赖的存储器模型是一个很简单的概念,也就是把它看成一个线性数组,CPU 能在一个常数时间内访问任何一个存储器位置.虽然在研究别的问题时,这是一个有效的模型,但是它不能 ...

  4. spi-mem: 为SPI存储器生态带来一些一致性

    在本文中,我们将介绍关于spi-mem Linux内核框架的工作,该框架将允许在SPI NOR设备和常规SPI设备以及SPI NAND设备上复用SPI控制器驱动程序. 从SPI到双线.四线.八线SPI ...

  5. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  6. vue2.0实践的一些细节

    最近用vue2.0做了个活动.做完了回头发现,好像并没有太多的技术难点,而自己好像又做了比较久...只能说效率有待提升啊...简单总结了一些比较细节的点. 1.对于一些已知肯定会有数据的模块,先用一个 ...

  7. 深入理解JS 执行细节

    javascript从定义到执行,JS引擎在实现层做了很多初始化工作,因此在学习JS引擎工作机制之前,我们需要引入几个相关的概念:执行环境栈.全局对象.执行环境.变量对象.活动对象.作用域和作用域链等 ...

  8. javaScript中的小细节-script标签中的预解析

    首先介绍预解析,虽然预解析字面意思很好理解,但是却是出坑出的最多的地方,也是bug经常会有的地方,利用好预解析的特性可以解决很多问题,并且提高代码的质量及数量,浏览器在解析代码前会把变量的声明和函数( ...

  9. 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

    1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...

随机推荐

  1. 201521123017 《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 1.2 解释E remove(int index)源代码 1.3 结合1. ...

  2. 我的Emacs配置文件

    (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you co ...

  3. 201521145048《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

  4. 201521123096《Java程序设计》第十三周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...

  5. 201521123089 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 1.协议:网络中为了进行数据交换而建立的原则,标准或约定. 2.域名:Internet上某一台计算机的名称 ...

  6. Python2.7笔记——常用技术点汇总

    目录 · 概况 · 安装 · 基础 · 基础语法 · 数据类型 · 变量 · 常量 · 字符编码 · 字符串格式化 · list · tuple · dict · set · if语句 · for语句 ...

  7. delphi xe 3的EhLib 9.0 Build 9.0.033 Full Source安装

    1.打开项目文件 2.全选 3.编译和buil 4.添加路径

  8. Python-老男孩-02_装饰器_面向对象_封装_继承_异常_接口_数据库

    装饰器其实也是一个函数,它的参数是一个函数 ; 其它函数与装饰器之间建立联系是通过 @装饰器函数名, 感觉有点像Spring的面向切面编程 装饰器函数,如何处理原函数的参数.?  装饰器 原函数返回值 ...

  9. mysql水平分表和垂直分表的优缺点

    表分割有两种方式: 1.水平分割:根据一列或多列数据的值把数据行放到两个独立的表中. 水平分割通常在下面的情况下使用. •表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数 ...

  10. 谈一谈synchronized关键词

    1.使用 java中的每一个对象都可以作为synchronized的锁进行代码同步,常见的形式 同步代码块锁是synchronized括号内的对象 普通成员方法上,锁是当前的对象,synchroniz ...