RSS订阅 | 匿名投稿
您的位置:网站首页 > 相关知识 > 正文

STM32存储器 — 2STM32存储器知识的相关应用

作者:habao 来源: 日期:2015-9-8 11:16:25 人气: 标签:相关知识

  在我的另一篇笔记《stm32的存储器》中讲述了STM32的存储器结构,及个人理解。本篇文章将重点描述在对存储器有了比较深入了解之后的一些相关的操作案例;重点在于STM32启动设置和IAP使用,以及bit banding的理解,加上一个简单的IAP程序设计。

  注意的是:只有当从SRAM启动,只有一个单一的地址0x2000 0000可以访问;而其他两种启动方式除了从各自的地址访问,还可以从0x0000 0000地址访问。

  不同的启动方式,决定了程序在设计过程中的方法,因此必须确认好程序存放空间和系统启动模式。

  所以,通过设置BOOT0和BOOT1引脚,可以选择相应的启动模式。

  In Circuit Programming,在电编程。

  ICP能够通过JTAG、SWD或Boot Loader去下载用户程序,以达到更新整个Flash的目的;

  ICP提供一个快速的、有效的设计迭代,并消除不必要的包装处理或设备套接。

  这里对ICP不做过多的论述。

  这个固定好的,出厂就有的Boot Loader可以通过USART1进行用户程序的烧写、更新;

  当然,烧写软件(烧写流程)的设计需要按照其固定好的Boot Loader的烧写协议来进行。

  因此在特殊的要求烧写方式的场合,使用ISP是不太方便的,可以采用更为方便的IAP编程方法,以下会详细介绍。

  就是这样把P1口的第三个脚(BIT2)置0或置1了。

  而现在STM32的位段、位带别名区就为了实现这样的功能。只不过他是为需要操作的地址(1字节)的每一个位(共8位)起个别名,分别对应别名区的一个字(word)。也就是别名区的大小是Bit Band区的32倍。这样,对32MB的别名区地址的操作,就是对相应Bit Band区的位的操作。

  注意:别名字的位[31:1]在bit-band位上不起作用。写入0x01与写入0xFF的效果相同。写入0x00与写入0x0E的效果相同。

  如图是跟Bit Banding有关系的存储器结构:

读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
本文网址:
下一篇:没有资料
币安app官网下载