OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9346|回复: 4

stm8s 定义的const数组初始化后,存放的区域是ROM还是RAM?

[复制链接]

1

主题

6

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2015-6-19
在线时间
0 小时
发表于 2015-6-19 11:29:52 | 显示全部楼层 |阅读模式
5金钱
我自己的不带字库的涉及到一个取模存储的问题。
const uint8_t table16x16c[][32]={

{0x00,0x00,0x1F,0x11,0x11,0x11,0x11,0xFF,0x11,0x11,0x11,0x11,0x1F,0x00,0x00,0x00,
 0x00,0x00,0xF8,0x10,0x10,0x10,0x10,0xFE,0x11,0x11,0x11,0x11,0xF9,0x01,0x0F,0x00},/*"电",0*/

这是其中的一部分。这是存储到Flash里面了吗?
现在程序多了,就开始在IAR下出现空间不足的问题。我的是STM8S103K3t6,flash是8K的。似乎这样是没有存在flash内,存在了rom里面。因为我在后续程序的编写时,例如增加if语句,也会出现空间不足。。。
求帮助!

站长~嘿嘿

新建 RTF 文档.rtf

69.35 KB, 下载次数: 157

最佳答案

查看完整内容[请看2#楼]

const肯定是存放在ROM中,字库大了,flash肯定不足的,
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

65

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2014-10-31
在线时间
8 小时
发表于 2015-6-19 11:29:53 | 显示全部楼层
const肯定是存放在ROM中,字库大了,flash肯定不足的,
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2015-6-19
在线时间
0 小时
 楼主| 发表于 2015-6-19 11:31:34 | 显示全部楼层
上面的取模存储,是在12864上显示的,显示是没问题的。就是在后续的程序编写的时候,出现了空间不足的现象~求助,难道的rom不足?
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2015-6-19
在线时间
0 小时
 楼主| 发表于 2015-6-19 20:50:53 | 显示全部楼层
好吧 看来只能使用外扩的E2PROM了。下午看了下bin文件,确实我写的程序太多了,已经将STM8S的flash占用完了,所以才会出现那种问题。
回复

使用道具 举报

1

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2016-10-9
在线时间
31 小时
发表于 2017-2-24 16:06:30 | 显示全部楼层
mark 一下,我用以前的MCU, 用const定义的变量只是说是这个变量是常量,不代表存在rom内,要在const前面加rom才可以。
rom const unsigned char table[];
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 05:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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