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

dsPIC30F系列芯片自编程技术

时间:2012-09-05 09:24:25

  dsPIC30F系列芯片简介
  Microchip公司推出的dsPIC30F系列数字信号控制器(DSC)可以灵活地运行一个常驻FLASH的引导加载程序(Bootloader Program)实现对用户程序的在线自编程升级。可以使用任何可用的数据接口和相关协议读取代码,然后将代码写入(编程)到FLASH存储器中,从而实现电子设备在线自编程升级程序代码的目的。dsPIC30F系列数字信号控制器的Bootloader程序需要自行编写,并且可以通过SPI、UART等各种数据接口来接收PC机发送的数据。显然,采用了串口(RS232方式)与PC机进行通信最为方便。
  dsPIC30F系列芯片FLASH存储器的运行时自编程(RTSP)
  dsPIC30F系列数字信号控制器内部包含了用于执行用户代码的FLASH存储器。用户可以使用两种方法对此存储器编程:a运行时自编程(Run-Time Self Programming,RTSP);b在线串行编程(In-Circuit Serial Programming,ICSP)。其中RTSP方式是由用户软件执行的,允许用户代码修改闪存程序存储器的内容,是实现用户程序在线自编程升级的基础。
  dsPIC30F系列芯片对FLASH存储器的运行时自编程是通过表指令TBLWT、TBLRD和NVM寄存器实现的。FLASH存储器是由行和板构成的。每行由32条指令(96字节)组成。通常,每个板由128行组成(4K#24条指令)。RTSP可以让用户每次擦除一行(32条指令)以及一次编程32条指令。
  程序存储器的每个板包括能够保存32条编程数据指令的写锁存器。这些锁存器不是存储器映射的。
  用户访问写锁存器的惟一方法是使用写表指令。在实际编程操作前,必须先用写表指令将待写数据装入板写锁存器。待编程入板的数据通常是按以下顺序装入写锁存器的:指令0,指令1,依此类推。所有的32位写锁存器必须在编程操作期间写入,以确保覆盖保存在锁存器中的旧数据。
  RTSP编程的基本步骤是先建立一个表指针,然后执行一系列TBLWT指令以装入写锁存器。编程是通过将NVMCON寄存器的特殊位置1进行的。
  需要将32条TBLWTL和32条TBLWTH指令装入四条指令。如果需要对多个不连续的程序存储器区进行编程,应该为每个区域和下一个要写入的一组写锁存器修改表指针。

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

微信扫描二维码咨询