5769|6

83

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

如何将150K一维数组的空间放falsh? [复制链接]

一般在linker file中有这样的制定

<flash.xcl>
// Code memory in FLASH
-DROMSTART=0x8000000
-DROMEND=0x807FFFF

// Data in RAM
-DRAMSTART=0x20000000
-DRAMEND=0x2000FFFF

我的应用需要150K一维数组的空间,是不是可以将Data放在flash里面?
我试了很多方式,就是没有办法将150K一维数组的空间放falsh,而RAM
又太小,不知道各位高手有什么高招?
此帖出自stm32/stm8论坛

最新回复

                                 const u8 是没问题的,我在IAR4.42上就是这么用的。   详情 回复 发表于 2008-10-20 09:11
点赞 关注
 

回复
举报

55

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

看看IAR手册吧!

                                 把变量分配到固定地址即可!
此帖出自stm32/stm8论坛
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

数组的放在STM32F的falsh

2楼的方法试过了,还是不行!
3楼的是否可以说具体一点?
此帖出自stm32/stm8论坛
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 

IAR C编译器支持Segment关键字

IAR的链接器是支持Segment的。你可以在分散链接文件中加入一个自定义segment段,将其定位在ROM的某个区域,然后在变量定义申明的时候将其归类到自定义的这个segment中即可。具体可以看IAR的C/C++编译器参考向导,搜索“Placing code and data”可以找到你需要的。


The following illustrates how to use the -Z command to place the segment MYSEGMENTA followed by the segment MYSEGMENTB in CONST memory (that is, ROM) in the memory range 0x008000-0x0FFFFF.

-Z(CONST)MYSEGMENTA,MYSEGMENTB=008000-0FFFFF
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 

re看不懂..

7FFFF = 512K > 150K

link文件对每个段的大小没有限制..常数是放入DATA_C段. 只要总的不超过就没问题

你放150k的常数表..那直接放就好了啊..

const DATATPYE Table[] = {...};

难道不行么
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 

问题已经搞定了,谢谢各位

问题已经搞定了,直接定义数组类型为uc8或u8 const,千万不要写成const u8,否则编译总是有问题,具体说明如下:

typedef signed long  const sc32;  /* Read Only */
typedef signed short const sc16;  /* Read Only */
typedef signed char  const sc8;   /* Read Only */

typedef unsigned long  const uc32;  /* Read Only */
typedef unsigned short const uc16;  /* Read Only */
typedef unsigned char  const uc8;   /* Read Only */
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

7
 

呵呵....

                                 const u8 是没问题的,我在IAR4.42上就是这么用的。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表