深圳市维动智芯科技有限公司,提供各系列单片机破解,程序二次开发,逆向C语言等技术服务,欢迎来电咨询。
AVR单片机具有上手入门快,开拓便利简略的特点,但要充沛领会和发扬AVR的长处,还需求使用工程师自身的硬软件设计开拓才能IC解密的不时进修、理论进步。
  “外行看繁华,熟行看门道”,关于有必然根底的嵌入式和单片机系统设计开拓的工程师,无妨先简略测验一下AVR。
  开拓情况与东西:PC+下载线+实践的系统板PC上的开拓软件:
  AVR Studio(Free)汇编+汇编调试+高级言语调试+软件仿真ICC、CVAVR、BASCOM-AVR 高级言语顺序开拓+顺序下载。个中一个购置正版全功用,作为首要的开拓情况,其它运用DEMO版,作为辅佐及参考。
  AVR ISP下载线:
  ler_541.do\" target=\"_blank\">STK200 and STK200+ and STK300 ISP programmer。经过PC的打印机口,采用ISP技能将系统运转代码(HEX、BIN)和数据写入AVR芯片的Flash和EEProm中,编程AVR的装备熔丝位和加密位。支撑决大大都的AVR芯片、以及ATMEL的51兼容芯片89S8252、89S52等。在ICC、CVAVR、BASCOM-AVR、BASCOM-8051中都内含对该下载线的支撑顺序。免费专用的下载顺序:SLISP、PonyProg2000等。
  尽量不运用仿真器的建议:
  在开拓和调试系统顺序、IC芯片解密时,有很多人完全依靠于IC芯片解密,一旦分开了仿真器时就觉得无从下手。其实,因为AVR的Flash存贮器可便利的运用ISP技能在线的屡次擦写,因而建议尽量不运用(依靠)仿真器来开拓和调试顺序。
  在实践开拓进程中,顺序的调试可以从下几方面动手:
  目前的高级言语编译器(如C编译器)可以发生效率很高的机械代码,因而建议人人尽量运用高级言语编写系统顺序。
  运用Atmel公司供应AVR Studio软件模仿仿真情况,以及其他的软件模仿仿真情况(BASCOM-AVR)。
  尽能够运用高级言语编写系统顺序。
  应用目的板上的LED、LCD或异步串口。见附件“没有仿真器的状况下若何开拓AVR”的引见。
  进步硬件设计的合理性:
  尽量合理和充沛运用AVR片内的资本,如EEPROM、A/D、内部的RC振荡源。
  尽量采用串口通讯衔接的外围器件,大容量的存储器、LCD节制器、打印机、不必8279(LED数码管+键盘)而运用7279等。除了必需外扩RAM(如语音和图象),普通不倡导运用并行扩展(573+译码电路),减小硬件和连线以及PCB板上错误的呈现概率,还也进步了系统的牢靠性。并行扩展向串行扩展是开展趋向。目前有很多的新的外围器件采用高速的串行接口,如A/D、D/A、RTC、存储器等。
  尽量运用以及在目的板上预留ISP顺序下载接口,或运用IAP技能。
  长处:ISP接口与I/O的兼容性比JETAG好。
  缺陷:不克不及在线调试留意和把握AVR装备熔丝位的运用:
  尽量合理采用高级言语设计编写系统顺序。有很多人以为运用汇编写顺序比拟精简,而用高级言语开拓会糜费良多顺序空间,其实这是一种曲解。对一个有经历的,并且十分熟习某种单片机的汇编高手而言,他是能写出比高级言语更精简的代码。而对汇编不是很熟的开拓者、或忽然改换了一种新的单片机,您能包管必然可以写出比高级言语更精练的代码吗?
  目前的高级言语编译器(如C编译器)已可以发生代码效率很高的机械代码,因而建议人人能用高级言语完成的顺序尽能够运用高级言语写,在对速度和时序要求特严的场所可以采用夹杂编程的办法来处理。
  更深化和具体的把握各类串行通讯和谈的规程嵌入式系统当前以很多的运用串行接口外围芯片和各类通讯接口,如RS232、两线(I2C)、三线(SPI)、单总线、USB、CAN、TCP/IP等。开拓人员和顺序员应调查低层和谈,熟习硬件如何和若何完成低层和谈,若何界说牢靠的上层使用和谈,以及低层和谈驱动同上层使用和谈之间的接口设计(中心层软件的完成)等。
  硬件工程师的软件编写才能要进步,采用规范顺序编写方法、完美的软件全体框架的设计、优越的数据构造和顺序构造系统。(核算机软件专业的顺序设计员对硬件不熟习、大局部是在操作系统支撑下编写软件,对低层接口和和谈的驱动层以及接口也不调查,往往也编写不出好的单片机系统顺序。)通讯接口的编写应尽量.采用中缀+缓冲区,.分层+构造化设计,.尽量不运用轮循方法(降低AVR的效率)。拜见URAT(RS232)驱动+中心层软件示例。
  采用好的系统设计形式:
  尽量不运用传统的前后台(中缀)系统设计形式,义务之间互相影响和搅扰,无法准时操作。如设计一个采用动态扫描方法驱动的8位LED数码管显示+动态扫描的4*4矩阵键盘。
  采用TimeTip+形态机设计+CASE构造,完成多义务并交运行系统设计办法。或工夫触发式的系统设计。(见:《工夫触发嵌入式系统设计形式》中国电力出书社 2004.6)移植小型嵌入式操作系统,如UCOS-II。在网上有些免费的基于AVR的简练的操作系统。
  进步C言语的编程才能和软件使用程度:
  熟习和用好C中的数据构造体、指针使用、内存治理等较高级的使用。
  熟习和调查你所运用的高级言语开拓平台的特点。这些平台是针对某一类处置器的,包括很多非凡的不兼容的语句和扩展的构造、语句、函数等。虽然运用便利,但因为其不通明性和工夫的不确定性,因而要合理运用。如C中的getchar()、putchar()等。
  AVR有多个开拓平台,每个都有其特点和缺乏。可以综合运用这些平台,互相互补,可以进步开拓效率。如经过ICC、CVAVR的顺序生成器CodeWizard进修和调查AVR的硬件设置,简化核算,疾速的生成顺序根本模块,如“一个URAT(RS232)低层驱动+中心层软件示例”