野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19984|回复: 3

请教片内FLASH地址问题

[复制链接]
发表于 2014-3-19 11:31:11 | 显示全部楼层 |阅读模式
请问我们的程序烧写到芯片的什么地方?
我看工程配置Target那里IROM1是从0x08000000开始0x80000(512K)大的区域。code是从0x08000000开始写吗?

#define FLASH_BASE            ((uint32_t)0x08000000) /*!< FLASH base address in the alias region */

在官方库例程里,FLASH的写地址是0x08008000~0x0800C000,这是固定的?还是人为划分这一块来用的?

那我烧写完程序之后,又往0x08008000这里写入数据,会不会破坏了烧进去的代码啊?

比如我用103VET   512K的flash,2K/page。  真的是从0x08000000开始每2K一页地存储CODE吗?  我是否在编译过后查看Program Size那里的code大小来安排我存储数据的地址呢?RO-data RW-data ZI-data 这三个东西需要考虑吗?
回复

使用道具 举报

发表于 2014-3-19 11:34:08 | 显示全部楼层
有可能官方划分了前面的内容给中断向量表的,你在线调试,读取那个flash的内容出来,如果是全0xFF表示没有用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-19 11:43:25 | 显示全部楼层
韦嘉淑 发表于 2014-3-19 11:34
有可能官方划分了前面的内容给中断向量表的,你在线调试,读取那个flash的内容出来,如果是全0xFF表示没有用 ...

按你的说法我看到0x08000000~0x08002143都有数据,0x2143=8515。然后我看程序编译完,code = 3316, RO-data = 336, RW-data = 128, ZI-data = 1028。这之间是怎么算的您知道吗?  如果我要用片内flash来存商量数据的话,是不是从后往前寸比较好呢,从最后一页开始存。
回复 支持 反对

使用道具 举报

发表于 2014-3-19 14:22:02 | 显示全部楼层
yinhao 发表于 2014-3-19 11:43
按你的说法我看到0x08000000~0x08002143都有数据,0x2143=8515。然后我看程序编译完,code = 3316, RO-da ...

肯定后面比较安心啊,你可以修改一下flash的地址范围,后面预留位置,然后就用作自己的代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-30 19:42 , Processed in 0.028567 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表