lngdzph 发表于 2013-5-7 22:43:28

发一个内存占用极小的菜单在AVR上的移植

   这个菜单是由本站网友liandao完成的。
我用的是oled,接口是avr的硬件IIC,大家如果用的其他显示屏,只需要把显示部分的底层修改一下就行。说明在liandao写得PDF文档里有。
      


希望用的上的朋友能帮顶一下,嘿嘿。

   


PS:我在移植过程中发现gcc-avr对**p这种形式的指针支持不好,我改成了这种(*p) 形式,
如有转载还请注明出处

xwkm 发表于 2013-5-8 12:48:53

谢谢楼主分享。gcc新版已经修复。

lngdzph 发表于 2013-5-8 12:50:05

xwkm 发表于 2013-5-8 12:48 static/image/common/back.gif
谢谢楼主分享。gcc新版已经修复。

你用的是linux版的还是windows版??

xwkm 发表于 2013-5-8 12:50:43

lngdzph 发表于 2013-5-8 12:50 static/image/common/back.gif
你用的是linux版的还是windows版??

linux版本、

lngdzph 发表于 2013-5-8 13:07:08

xwkm 发表于 2013-5-8 12:50 static/image/common/back.gif
linux版本、

嗯,不知道winavr为啥这么久还不更新,
上回同样一个程序,在linux下编译只占几十字节内存,用winavr却占了300+字节。


还有在linux下面为啥不支持prog_uchar了,打开那个Doxygen那个宏定义还是会出错,
您知道是什么原因吗??

xwkm 发表于 2013-5-8 13:09:43

lngdzph 发表于 2013-5-8 13:07 static/image/common/back.gif
嗯,不知道winavr为啥这么久还不更新,
上回同样一个程序,在linux下编译只占几十字节内存,用winavr却占 ...

PROGMEM unsigned char x;
这个没有问题的。如果你觉得不方便的话自己定义一下就好了。

xwkm 发表于 2013-5-8 13:10:23

要做AVR-GCC的话,你可以直接用MinGW交叉一次。做个最新版的出来。

lngdzph 发表于 2013-5-8 13:14:35

xwkm 发表于 2013-5-8 13:10 static/image/common/back.gif
要做AVR-GCC的话,你可以直接用MinGW交叉一次。做个最新版的出来。

这个没搞过,不值从何下手。。

zjsx133 发表于 2013-5-8 13:19:10

记号一下,   

xwkm 发表于 2013-5-8 13:20:05

lngdzph 发表于 2013-5-8 13:14 static/image/common/back.gif
这个没搞过,不值从何下手。。

装个mingw包。开bash。
到gnu.org上下最新版本(不过我建议4.5版本的就好了)的GCC和2.20版本的binutils。
顺带下载下mpfr、gmp之类的数学包。解开gcc。在gcc的目录里解开mpfr和gmp。
解开binutils以后cd到目录里。
输入
./configure --target=avr
make
make install
然后cd到gcc目录里。
同上。
avr-gcc就这样搞定的。
页: [1]
查看完整版本: 发一个内存占用极小的菜单在AVR上的移植