没有为初始化对象创建copydown?

时间:2013-03-07 03:27:49

标签: c embedded codewarrior 68hc12

我正在使用codewarrior来编译HC12,我有两个120元素数组:score和dur。我以典型的方式初始化它们:unsigned int score [120] = {...};但是,当我尝试编译它时,我收到一个链接器错误,上面写着“L1981:没有为初始化对象创建copydown”得分“。初始化数据丢失了。”我无法弄清楚这意味着什么,或者我怎么能做到这一点,所以它创造了一个copydown。请注意,当我将它们放入main()时,这个程序编译并似乎设置了值,但我需要它们是全局变量,因为它们是由中断访问的。

1 个答案:

答案 0 :(得分:1)

有两个可能的原因:

  • 要么你设法在堆栈上声明这个变量(坏主意),要么在一个太小而不能包含它的内存段中。考虑通过更改.prm文件,将这些大变量放在专用的RAM段中。
  • 或者您已经使用“最小”启动代码创建了Codewarrior项目。如果这样做,则选择非标准设置,其中删除具有静态存储持续时间的对象的初始化阶段。