"); //-->
AVR studio(AVR GCC)下编译ATmega128 bootloader若干问题说明
1. 首先需要在 Memory Settings中Add: Flash .text=0xF000(使用4K).
因为GCC不像ICC那样可以自动设置,所以此步必须写入.
2. 许多人(我也是)都是按照马老师那本书上的例程来做的内部flash的操作函数, 但是我试过多遍之后发现在GCC下这个不能使用,需要使用"avr/boot.h"下声明的几个库函数, 具体如下:
boot_spm_busy_wait 等待flash操作完成
boot_page_erase 擦除一个flash页
boot_page_fill 写入数据到flash buffer
flash_page_prog 将buffer数据写入flash
有个这几个函数就可以对flash进行写入操作了. 具体为何要这样作我还不太清楚, 希望大家可以指教.
3. 程序下载完毕后如要启动, 需要调用如下函数:
boot_rww_enable
否则无法正常启动APP程序.
4. GCC对数据的处理也不太与ICC一样, 比如再读校验和的时候在ICC下进行如下操作:
CheckSum = getch() << 8; // 读校验和
CheckSum|= getch();
则可以正确执行, 8位16位之间的自动转换也正常, 但是在GCC下取有错误, 不得已写成了如下格式:
CheckSum = ((uint16)getch()&0xFF) << 8; // 读校验和
CheckSum|= ((uint16)getch()&0xFF);
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
基于嵌入式操作系统μcos-II实现焊缝轨迹智能跟踪系统
分压式电流负反馈偏置电路图
尼得科仪器发售AC伺服“S-FLAG DYNAMIC MOTION TM”MB系列电机
Intersil公司2010年路演武汉站讲座6--无线基础设施应用解决方案
555构成的室内湿度控制电路图
芯向未来,2025英飞凌消费、计算与通讯创新大会成功举办
新浪上的一则消息
Intersil公司2010年路演武汉站讲座1--通信电源解决方案
基于新型FPGA实现高速数字下变频
基于状态机和流水线技术的3DES加密算法及其FPGA设计
Intersil公司2010年路演武汉站讲座7--车载信息娱乐系统
铠侠参展CFMS 2025:布局下一代先进存储,持续助力高能AI
Intersil公司2010年路演武汉站讲座4--用于仪器及工业应用的高性能模拟信号链产品
DeepSeek技术路线如何改写AI烧钱游戏规则
单端输出差动放大器电路图
英特尔新官上任三把火!CEO计划重组代工、AI业务并裁员 重回“世界级代工厂”
[求助]!!!!
意法半导体推出创新型卫星导航接收器,推动汽车及工业应用领域精准定位技术普及化
USB求助
这是任务初始化么?
固定偏置放大电路图
请教一个问题,很急,谢谢!!
Intersil公司2010年路演武汉站讲座5--离线式LED照明驱动方案
TDK推出edgeRX:工业机器健康监测的未来
基于TI MSPM0G3507多功能GPS测速仪系统开发设计
双端对称输入差动放大器电路图
中国铁塔继续深化\"一体两翼\"发展战略
美媒:从巴西到南非,物美价廉中国车一路狂飙
基于嵌入式技术的视频监控系统的设计
基于数字移相的高精度脉宽测量系统及其FPGA实现