发表于:2008-12-26 16:09:34
楼主
问题:ADUC7XXX系列的开发方法和开发工具是怎样的?
答案:ADuC7XXX的开发方法是非常简便的。ADUC7XXX系列提供了三种评估板套件,以帮助用户熟悉ADuC7XXX的开发方法和开发环境。以ADUC7020和ADUC7026为例,一种是EVAL-ADuC7020MKZ,这是一种迷你套件,它包括一块迷你评估板,电源线和串行下载线;另一种是EVAL-ADUC7026QSZ,它包括一块评估板,9V电源,串行下载线,和相应的软件光盘;还有一种是EVAL-ADUC7026QSPZ,它与前一种的区别是包括了一个硬件仿真器,可以支持硬件在线调试。评估版套件中的光盘包含了开发中用到的所有的软件,数据手册,应用笔记,评估板原理图、例子代码等信息。如果没有购买评估板的用户想要得到此光盘,可以联系800-810-1742或者发email至china.support@analog.com索取。下面根据光盘中提供的各种开发软件对开发方法做一介绍。
IAR
IAR Embeded Workbench是一套开发工具,用于对汇编、C或C++编写的嵌入式应用程序进行编译和调试,它是一套高度精密且使用方便的嵌入式应用编程开发工具。该集成开发环境包含了IAR的C/C++编译器、汇编器、链接器、文件管理器、文本编辑器、工程管理器和C-SPY调试器。通过其内置的针对不同芯片的代码优化器,IAR Embedded Workbench可以为ARM芯片生成非常高效和可靠的代码。(光盘中所提供的版本有32K代码量的限制)
Keil
它是一个集成开发环境。它支持编辑、编译、软件仿真。目前最新版本的Keil支持UART口直接硬件在线调试,而不需仿真器。用户可在Keil的网站www.keil.com下载最新版本的Keil uVision3来实现对ADUC7XXX系列单片机的编程。(光盘中所提供的版本有16K代码量的限制)
ARMWSD
它是下载程序的工具。当用IAR或Keil编译生成*.hex文件后,可以用此软件把程序从PC上下载到芯片中。PC与芯片之间的连接是通过串口实现的。在三种评估板套件中,都包含了串口下载线。如果没有购买评估板套件,您也可以自己在市场上买一根串口线。但是需要在您的电路板上加入一颗RS232电平转换芯片。
PLATOOL
它是用来配置ADuC702X和ADUC712X系列产品内部可编程逻辑阵列PLA的软件。它可以根据实际的逻辑连接生成C或汇编语言代码,也可以根据每个element的寄存器值来产生相应的逻辑电路。如需更加详细的软件使用方法,请参看光盘中的文档ADuC702xGetStartedv1.0.pdf。
注意:光盘中提供的IAR和KEIL软件是试用版的,有代码大小的限制。如要获取完整版,请联系IAR与ARM公司购买。
ADuC702X系列评估板选型表
Support Product Parts Covered Emulator Board Cables/power supply Description
Mini Kit ($30) ADuC7020 All 40-Pin parts No Mini board Serial cable Prototyping system for $30
QuickStart Kits
($75) ADuC7020
ADuC7024
ADuC7026 All 40-Pin
All 64-Pin
All 80-Pin No Evaluation board Serial cable & power supply Evaluation/
Upgrade system for $75
QuickStart Plus Kit
($249) ADuC7026 All Parts
(7019-27) Yes Evaluation board Serial cable & power supply Full Development System for
$249
--------------------------------------------------------------------------------
问题:为什么无法下载程序至ADuC7XXX?
答案:无法下载程序至ADUC7XXX系列的原因有很多,可以从以下几个方面来确定
检查电源是否满足要求。
串口通信双向是否正常,RS232电平转换芯片的逻辑电平是否和ADuC7XXX兼容。即如果ADuC7XXX的供电是3.3V,则使用的RS232芯片也得用3.3V的芯片。
PC机通信端口配置是否正确,如果不清楚实际的通信端口,可以在计算机的设备管理器里找到,如图1所示。对于一般的串口连接,通信端口应该是COM1,如果是利用USB转串口的方式,通信端口可能是COM3或COM4。一旦确定了通信端口,就可以到ARMWSD的Configure对话框中设置端口,并要将波特率设为9600,如图2所示。
图1
图2
BM(P0.0)是否通过1kOhm电阻下拉到地,/RST是否通过1kOhm电阻上拉到DVDD,如图3所示。
图3
如果代码量大于64K,检查ARMWSD的版本是否支持这么大代码量的下载,这主要是针对FLASH大于64K的ADUC7032、ADUC7033、ADUC7128、ADUC7129而言的,建议您使用最新版的ARMWSD软件,新版本的ARMWSD性能会更好。
ADUC702X系列单片机有两个UART串口,分别是P1.0(SIN) & P1.1(SOUT),P0.7(SIN) & P2.0(SOUT),上电后我们只能用P1.0和P1.1来下载程序,请检查您的端口连接是否正确。
进入下载模式的操作是否正确,操作步骤如下图所示。
--------------------------------------------------------------------------------
问题:在使用Keil或IAR编译时,程序是否会有大小的限制?
答案:使用ADI公司提供的软件光盘,其中Keil会有16K代码量的限制,IAR会有32K代码量的限制。如需完全版,请联系ARM和IAR公司。
--------------------------------------------------------------------------------
问题:什么是IAP,它有什么用途,ADUC7XXX系列单片机是否支持IAP?
答案:IAP(In Appplication Program),即在应用中编程。顾名思义,就是在系统运行的过程中动态编程,对程序执行代码的动态修改。
IAP技术应用于嵌入式系统的数据存储和在线升级。例如在程序运行工程中产生4k字节数据表,为了避免占用SRAM空间,用户可以使用IAP技术将此表写入片内Flash。又如用户在开发完一个系统后要增加新的软件功能,可以使用IAP技术在线升级程序,避免重新拆装设备。
ADUC7XXX系列单片机不但支持在系统编程(ISP),而且支持在应用编程(IAP)。ADUC7XXX系列单片机在出厂时,由ADI厂家在片内固化了一段Boot代码。Boot装载程序控制芯片复位后的初始化操作,并提供对Flash编程的方法。Boot程序可以对芯片进行擦除、编程。
在系统编程是通过Boot装载程序和UART对片内Flash存储器进行擦除/编程的方法,其实现结构如图4所示。
图4 在系统编程结构
在应用编程是用户的应用代码对片内Flash存储器进行擦除/编程的方法,其实现结构如图5所示。但如果要实现IAP功能,还需要用户在Flash存储中再设计一段Boot-loader程序,起始地址为0x00080000,结束地址可根据IAP功能的代码量要求确定。
图5 在应用编程结构
-------------------------------------------------------------