当前位置:首页 >> 解密信息 >> 技术文档

IC解密技巧关键

时间:2014-12-25 15:53:53

  在IC芯片解密技术中,巧妙运用AVR,将会对芯片解密过程中的结构与性能改善各方面大有帮助,宁波芯伟科技对此作了系统的关于IC解密技巧的关键。
    IC解密对芯片设计起到决定性作用,AVR的使用则是为了更好系统与性能的实现,AVR具有上手入门快,开发方便简单的特点,但要充分体会和发挥AVR的优点,还需要应用工程师本身的硬软件设计开发能力IC芯片解密的不断学习、实践提高。
    开发环境与工具:PC+下载线+实际的系统板
    PC上的开发软件:AVR Studio(Free)汇编+汇编调试+高级语言调试+软件仿真。ICC、CVAVR、BASCOM-AVR 高级语言程序开发+程序下载。其中一个购买正版全功能,作为主要的开发环境,其它使用DEMO版,作为辅助及参考。
    AVR ISP下载线: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等。
    在实际开发过程中,程序的调试可以从下几方面入手:
    现在的高级语言编译器(如C编译器)可以产生效率很高的机器代码,因此建议大家尽量使用高级语言编写系统程序。利用目标板上的LED、LCD或异步串口。
    提高硬件设计的合理性:
    尽量合理和充分使用AVR片内的资源,如EEPROM、A/D、内部的RC振荡源。
    尽量采用串口通信连接的外围器件,大容量的存储器、LCD控制器、打印机、不用8279(LED数码管+键盘)而使用7279等。除了必须外扩 RAM(如语音和图象),一般不提倡使用并行扩展(573+译码电路),减小硬件和连线以及PCB板上错误的出现概率,同时也提高了系统的可靠性。并行扩展向串行扩展是发展趋势。现在有大量的新的外围器件采用高速的串行接口,如A/D、D/A、RTC、存储器等。
    尽量使用以及在目标板上预留ISP程序下载接口,或使用IAP技术。
    注意和掌握AVR配置熔丝位的使用:
    现在的高级语言编译器(如C编译器)已可以产生代码效率很高的机器代码,因此建议大家能用高级语言实现的程序尽可能使用高级语言写,在对速度和时序要求特严的场合可以采用混合编程的方法来解决。
    更深入和全面的掌握各种串行通信协议的规程:
    嵌入式系统目前以大量的使用串行接口外围芯片和各种通信接口,如RS232、两线(I2C)、三线(SPI)、单总线、USB、CAN、TCP/IP 等。开发人员和程序员应了解低层协议,熟悉硬件怎样和如何实现低层协议,如何定义可靠的上层应用协议,以及低层协议驱动同上层应用协议之间的接口设计(中 间层软件的实现)等。
    硬件工程师的软件编写能力要提高,采用标准程序编写方式、完善的软件整体框架的设计、良好的数据结构和程序结构系统。(计算机软件专业的程序设计员对 硬件不熟悉、大部分是在操作系统支持下编写软件,对低层接口和协议的驱动层以及接口也不了解,往往也编写不出好的单片机系统程序。)
    通信接口的编写应尽量采用中断+缓冲区,分层+结构化设计,尽量不使用轮循方式(降低AVR的效率)。参见URAT(RS232)驱动+中间层软件示例。
    采用好的系统设计模式:
    尽量不使用传统的前后台(中断)系统设计模式,任务之间相互影响和干扰,无法定时操作。如设计一个采用动态扫描方式驱动的8位LED数码管显示+动态扫描的4*4矩阵键盘。
    采用TimeTip+状态机设计+CASE结构,实现多任务并行运行系统设计方法。或时间触发式的系统设计。 移植小型嵌入式操作系统,如UCOS-II。在网上有些免费的基于AVR的简洁的操作系统。
    提高C语言的编程能力和软件应用水平:
    熟悉和用好C中的数据结构体、指针应用、内存管理等较高级的应用。
    熟悉和了解你所使用的高级语言开发平台的特点。这些平台是针对某一类处理器的,包含许多特殊的不兼容的语句和扩展的结构、语句、函数等。尽管使用方便,但由于其不透明性和时间的不确定性,因此要合理使用。
    宁波芯伟科技经过十几年的芯片解密技术积累,巧妙运用AVR,成功破解众多难解的芯片问题。

解密技术
解密问题
芯片解密

微信扫描二维码咨询