[AVR单片机]cannot initialize RAM area求解!

2019-07-16 04:32发布

最近在学TFT,想显示一张图片,
主程序中包含了一个头文件<picture.h>,内容如下:
#pragma data:code
const unsigned char s[14400] = {  0X00,0X12,0X50,0X00,0X3C,0X00,0X01,0X39 。。(后面还有很多)。。};

主程序如下:
#include <iom16v.h>
#include <macros.h>
#include <define.h>
#include <picture.h>
#include <color.h>
#include <ascii.h>
#include <delay.h>
#include <tftinit.h>
#include <write.h>
void main()
{
         lcd_initial();
         window_write_v(0,0,239,319,s);
         
}

window_write_v()函数如下:
void window_write_v(unsigned int x0, unsigned int y0, unsigned int x1, unsigned int y1,const unsigned char *s)
{
        unsigned int k;
        window_set(x0,y0,x1,y1);                                //定义显示窗体320x240 x=0-240,y=0-320
       
        CS0;    //打开片选
        RS0;    //选择数据
        write_bus(0x00, 0x22);
        RS1;
          for (k=0;k<14400;)
          {
              write_GRAM_dot(s[k], s[k+1], s[k+2]);
                  k = k + 3;
          }
        CS1;
}
编译后出现下面错误:
360软件小助手截图20120923152338.jpg
按照百度上找到的一个方法将const改成flash,结果还是一样。。。

有高手知道怎么解决么?真心求解!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
贾斯汀
1楼-- · 2019-07-16 07:35
自己解决了,数组太大,atmel16A的flash不够存放
lovezjf234
2楼-- · 2019-07-16 12:13
你的flash容量不够,找一片flash大的单片机进行试一下

一周热门 更多>