历史上的今天
今天是:2025年07月13日(星期日)
2019年07月13日 | AVRWARE++开发笔记2:开发环境的建立
2019-07-13 来源:eefocus
本文详述AVRWARE++开发环境的建立方法,其主要开发软件有两个:Atmel Stdio和PROGISP。
1、Atmel Studio 6的系统需求
安装集成开发环境Atmel Studio 6,必须满足最小的硬件和软件要求,才能确保编译器以及其它程序功能的正常,应该具有:
a、Pentium-IV或兼容处理器的微型计算机,主频2.0GHz,内存512MB;
b、Windows XP/Win7操作系统;
c、1G硬盘空间;
d、推荐使用16:9显示器,分辨率1280*800。
2、Atmel Studio 6的安装方法
a、从Atmel官方网站(http://www.atmel.com/)下载Atmel Studio 6。
b、下载完成后,双击安装文件,进入下图所示的欢迎画面。

c、Atmel Studio为Free软件,点击“Next”即可完成整个安装过程(注解:Atmel Studio是基于.net技术设计开发的,需要本机装有.net FrameWork)。
d、安装完成后,打开Atmel Studio可以见到如下的启动画面。
3、AVRWARE++工程模板
为了让用户更加快速的掌握AVRWARE++的编程方法,系统提供了相应的工程模板LC_blank。工程模板的具体使用步骤如下:
a、双击LC_blank可以打开工程模板,如下图所示:
b、在右边的树形结构中选择Solution Explorer,可以看到其层次结构,如下图所示。
c、AVRWARE++总共包括六层,分别为0_LogicLayer、1_AbstractionLayer、2_Protocollayer、3_ExternalModuleLayer、4_MiddleLayer以及5_InternalPeriphereLayer。用户主要是在0_LogicLayer和1_AbstractionLayer中完成自己的程序逻辑。
3、AVRWARE++各层结构
“AVRWARE++开发笔记1:综述”已对各层的功能进行了说明,本文将阐述各层的结构。
a、逻辑层(0_LogicLayer)
逻辑层由config.h和main.c两个文件组成,config.h完成对整个工程项目的设置功能,main.c用于实现用户逻辑。
b、硬件映射层(1_AbstractionLayer)
硬件映射层由HAL.c和HAL.h两个文件组成,HAL.h,在HAL.h中主要完成对单片机IO口的定义,以及如果在编写程序时需要用到全局函数时,在HAL.h中写对全局函数的声明,在HAL.c中完成函数的实现。

c、协议层(2_ProtocolLayer)
协议层现在对于AVRWARE++为空,但其与MSP430WARE++兼容,现支持modbus相关驱动代码,但因受AVR单片机自身资源限制,未予实现。
d、外部模块层(3_ExternalModuleLayer)
外部模块层现已支持多种外围芯片和模块,例如:AT45DB161、CH432T、DS18B20、FM24C64、HC165、HC595、数码管、SD2405、TLC5620,与MSP430WARE++兼容的外围芯片和模块还有:RSP1、AMG8831、CAT1023、SC020G、WLT2420SG等。
e、中间层(4_MiddleLayer)
中间层现在支持模拟IIC驱动程序。
f、内部外设层(5_InternalPeripheralLayer)
内部外设层已支持48-88-168-328的各种外设。
4、 程序的下载方法
我们可以使用AVR JTAG仿真器进行程序仿真(Atmel Studio全面支持),如果考虑到开发成本,也可以指购买下载器,进行下载验证。下载软件可以选择PROGISP,我们可以从http://download.csdn.net/detail/qingwufeiyang12346/9143549下载该软件。安装完成后,出现如下图所示的界面。其使用和下载程序的方法,将在后续文章中介绍。
史海拾趣
|
Freescale 2009 seminar之十Hands-on Workshop CodeWarrior™ CodeWarrior for the Controller Continuum ►What is Eclipse? ►CW MCU v10.0 Features ►Basic Eclipse Terms ►C/C++ Perspective ►Debug Perspective ►Demonstration ►Lab 1 –Create a new pro ...… 查看全部问答> |
|
请教高手93C46的8位、16位读写程序怎么区分 SB+OP1=10B,OP0+写允许=01100000B 比如93C46的写允许8位是 1001100000既 00000010,01100000(0X02,0X60)   ...… 查看全部问答> |
|
看了quanzxhttps://bbs.eeworld.com.cn/viewthread.php?tid=86872&extra=&page=3 的帖子。似乎超过36V就很危险了… 查看全部问答> |
|
我在WinCE下作GSM打电话程序,有CreateFile可以打开串口,但是在串口接收线程里用ReadFile读数据却不成功 但是CreateFiel打开串口确实成功了啊,用GetLastError得到的错误码是:〖6〗-句柄无效。为什么 下面是我的程序 BOOL fReadState = ReadFi ...… 查看全部问答> |
|
程序错在哪里啊,请高手指点一下,都写了一天了,还不知道错在哪里 //保存为1.h #ifndef lcd1602_h #define lcd1602_h sbit rs= P2^7; //定义接口 sbit rw= P2^6; sbit e = P2^5; #define shuju P0 #define unch unsigned char #define unin unsigned int void shortdelay(unin m); //延时 vo ...… 查看全部问答> |
|
祝贺STM32赢得《2008年度EDNChina创新奖》的最佳产品奖 感谢广大网友的厚爱,意法半导体的基于ARM Cortex-M3的微控制器STM32产品系列,被业内专家和EDN China资深编辑组成的专家委员会推选为《2008年度EDN China创新奖》的候选产品,并经过EDN China读者和网站会员投票成为“微 ...… 查看全部问答> |




