打印

请教STM32读取内部FLASH

[复制链接]
11545|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
key10|  楼主 | 2009-12-17 17:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,对于STM32我是一个新手,要向大家请教。
有个项目要使用STM32,程序中有些数据要放在内部的FLASH中,这些数据在程序中要进行使用。
网上看了些帖子,烧FLASH的例子较多,那该如何取那些存在FLASH中的数据呢?
对这个应用,有使用STM32固件库的例子吗?
沙发
香水城| | 2009-12-17 17:16 | 只看该作者
该如何取那些存在FLASH中的数据呢? 就好像定义了一些常量一样,直接读出即可,:lol

使用特权

评论回复
板凳
vigia| | 2009-12-17 17:17 | 只看该作者
读FLASH?

和读RAM没有任何区别。

使用特权

评论回复
地板
key10|  楼主 | 2009-12-17 17:40 | 只看该作者
问题是这样的。比如在0x08000c00-0x08000fff中存储1K字节的数据,这些数据根据不同的需要是要通过串口来写入这个地址空间,也就没法定义为常量了。烧FLASH的例子很多,现在我不知道在程序里该怎么写,能取到这些数据。IDE是使用IAR EWARM。

使用特权

评论回复
5
香水城| | 2009-12-17 17:56 | 只看该作者
在那个位置随便定义一个常量数组,反正数组会被重新写入。

使用特权

评论回复
6
lxyppc| | 2009-12-17 19:03 | 只看该作者
问题是这样的。比如在0x08000c00-0x08000fff中存储1K字节的数据,这些数据根据不同的需要是要通过串口来写入这个地址空间,也就没法定义为常量了。烧FLASH的例子很多,现在我不知道在程序里该怎么写,能取到这些数据 ...
key10 发表于 2009-12-17 17:40


const unsigned char*  pBuffer = (const unsigned char*)0x08000c00;
for(u32 i=0;i<1024;i++){
  // Some operation for pBuffer[ i ]
}

使用特权

评论回复
7
yqylove| | 2010-3-27 15:24 | 只看该作者
“该如何取那些存在FLASH中的数据呢? 就好像定义了一些常量一样,直接读出即可
”是否需加什么关键字?能举个例子吗?比如将int a[100] 定义到内部flash中 的定义和读取

使用特权

评论回复
8
yqylove| | 2010-3-27 15:32 | 只看该作者
“在那个位置随便定义一个常量数组,反正数组会被重新写入。”
我需要定义的变量是用来存大量图形字模的,不想占用ram空间,所以不想定义成常量数组,加const。能否举个将变量定义到flash中和读取该种变量的例子,谢谢

使用特权

评论回复
9
mcuisp| | 2010-3-27 20:15 | 只看该作者
用指针取咯

使用特权

评论回复
10
lxyppc| | 2010-3-27 22:23 | 只看该作者
“在那个位置随便定义一个常量数组,反正数组会被重新写入。”
我需要定义的变量是用来存大量图形字模的,不想占用ram空间,所以不想定义成常量数组,加const。能否举个将变量定义到flash中和读取该种变量的例子,谢 ...
yqylove 发表于 2010-3-27 15:32

const unsigned char  imageBuffer[1024] = {0,0,1,1,2,2,3,3,...};
for(u32 i=0;i<1024;i++){
    Display(imageBuffer);
}

使用特权

评论回复
11
pkat| | 2010-3-28 20:57 | 只看该作者
想问读取FLASH和读RAM的区别,也就是3楼的疑问

使用特权

评论回复
12
xjwbh| | 2010-4-10 10:35 | 只看该作者
定义成const就应该在flash中了,不会占用ram.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

1

粉丝