ralfak 发表于 2010-1-29 16:24:48

把AVR231移植到了AVR-GCC上

花了3天时间,移植到了gcc上,没用gcc自带的boot函数和eeprom函数,修改spm.S以及crc.S,去掉了部分编译到程序空间的数组,自己对照看。
允许CRC 128位加密
-Os编译结果
Size after:
AVR Memory Usage
----------------
Device: atmega128

Program:    2890 bytes (2.2% Full)
(.text + .data + .bootloader)

Data:       1102 bytes (26.9% Full)
(.data + .bss + .noinit)

mega128需要
在spm.S里面
#define        __MEMSPM__
#define        __RAMPZ__
其他是否需要这两个选项请参考AVR231

串口波特率在usart0.c里面修改

打包上传修改过的代码
支持EEPROM
附上修改过的bootloader以及测试代码(此代码生成一个testapp.hex testapp.eep),分别为相应的程序文件和eeprom文件
还有pctools里面的工具,以及我自己做的脚本代码
bootloader代码
这是移植的bootloader代码ourdev_530513.rar(文件大小:93K) (原文件名:gcc-boot.rar)
注意不同器件编译时需手动指定链接位置
测试的代码
点击此处下载 ourdev_530515.rar(文件大小:6K) (原文件名:testapp.rar)
用到的工具以及脚本,工具用AVR231的工具即可,脚本参考AVR231写的
点击此处下载 ourdev_530517.rar(文件大小:189K) (原文件名:pctools.rar)
整个代码挺有意思的
有疑问给我发信ralfak@163.com

我用到了PB0的4个灯来显示状态,以及PD7作为按键信号
晶振采用的7.3728M
如不同条件请自行修改代码和makefile
winavr-20090313

一往无前 发表于 2016-10-21 20:35:03

我用的IAR,现在遇到一个问题,就是无法升级,CRC校验通不过,不知道你有没有遇到过这个问题
页: [1]
查看完整版本: 把AVR231移植到了AVR-GCC上