继续折腾5110

昨天打算在5110里面显示图像,尝试了直接使用显示图像的函数,提示重复定义的变量,检查后发现头文件没有进行防止重复定义的宏定义,加入宏定义后仍然提示出错。查找错误,得到的解决方法一是添加宏定义,不通过,然后另一种说法是变量不能在头文件中定义,只能声明,所以需要用extern 声明变量,然后出现Segment DATA16_I。。。。is too long for segment definition.的错误提示。本来以为仍然是未定义的错误,把定义更改到c文件,然后在头文件中声明,编译后出现各种各样的错误,最后仍然回到重复定义上,下午,饿,这段文字写到零点后了,查资料的时候发现原始代码,只需要将变量在使用的位置用extern来声明就可以了。晚上继续试验,终于再一次提示 too long for segment definition,查找后发现实际上该错误是因为ram不够,如果想要使用更多的静态变量,需要编进flash里面,需要在定义数组的时候加入const,声明的时候不需要,然后重新编译,这次终于通过,还有一个警告以后处理,下载后终于正确显示。

posted @ 2012-06-13 00:52  小背  阅读(174)  评论(0编辑  收藏  举报