MICROCHIP-LOGO

Programación Flash MICROCHIP PIC24

MICROCHIP-PIC24-Flash-Programming-PRO

Información do produto

Programación Flash
As familias de dispositivos dsPIC33/PIC24 teñen unha memoria interna programable de programas Flash para a execución do código de usuario. Hai ata tres métodos para programar esta memoria:

  • Operación de instrucións da táboa
  • Programación en serie en circuito (ICSP)
  • Programación en aplicación (IAP)

As instrucións da táboa proporcionan o método de transferencia de datos entre o espazo de memoria do programa Flash e o espazo de memoria de datos dos dispositivos dsPIC33/PIC24. A instrución TBLRDL úsase para ler desde bits[15:0] do espazo da memoria do programa. A instrución TBLWTL úsase para escribir en bits[15:0] do espazo da memoria do programa Flash. TBLRDL e TBLWTL poden acceder á memoria do programa Flash no modo Word ou Byte.

Ademais do enderezo da memoria do programa Flash, a instrución da táboa tamén especifica un rexistro W (ou un punteiro de rexistro W a unha localización de memoria), que é a orixe dos datos da memoria do programa Flash que se escribirán ou o destino dun programa Flash. lectura de memoria.

Esta sección describe a técnica para programar a memoria do programa Flash. As familias de dispositivos dsPIC33/ PIC24 teñen unha memoria interna programable de programas Flash para a execución do código de usuario. Hai ata tres métodos para programar esta memoria:

  • Autoprogramación en tempo de execución (RTSP)
  • Programación Serial In-Circuit™ (ICSP™)
  • Programación en serie mejorada en circuito (EICSP)

RTSP realízao o software da aplicación durante a execución, mentres que ICSP e EICSP realízanse desde un programador externo mediante unha conexión de datos en serie ao dispositivo. ICSP e EICSP permiten un tempo de programación moito máis rápido que RTSP. As técnicas RTSP descríbense na Sección 4.0 "Autoprogramación en tempo de execución (RTSP)". Os protocolos ICSP e EICSP están definidos nos documentos de especificación de programación dos respectivos dispositivos, que se poden descargar desde o Microchip. websitio (http://www.microchip.com). Cando se programa en linguaxe C, están dispoñibles varias funcións integradas que facilitan a programación en Flash. Consulte a “Guía do usuario do compilador MPLAB® XC16 C” (DS50002071) para obter detalles sobre as funcións integradas.

Instrucións de uso do produto

Para programar a memoria do programa Flash, siga estes pasos:

  1. Consulte a folla de datos do dispositivo para comprobar se a sección do manual de referencia familiar é compatible co dispositivo que está a usar.
  2. Descarga a folla de datos do dispositivo e as seccións do manual de referencia familiar do Microchip Worldwide Websitio en: http://www.microchip.com.
  3. Escolla un dos tres métodos para programar a memoria (Operación de instrucións de táboa, Programación en serie en circuito (ICSP), Programación na aplicación (IAP)).
  4. Se utiliza a operación de instrucións de táboa, use a instrución TBLRDL para ler desde os bits[15:0] do espazo da memoria do programa e a instrución TBLWTL para escribir nos bits[15:0] do espazo da memoria do programa Flash.
  5. Asegúrese de especificar un rexistro W (ou un punteiro de rexistro W a unha localización de memoria) como a orixe dos datos da memoria do programa Flash que se vai escribir ou o destino da lectura da memoria do programa Flash.

Para obter máis información e detalles sobre a programación da memoria do programa Flash, consulte o Manual de referencia da familia dsPIC33/PIC24.

OPERACIÓN DE INSTRUCIÓNS DA TÁBOA

As instrucións da táboa proporcionan o método de transferencia de datos entre o espazo de memoria do programa Flash e o espazo de memoria de datos dos dispositivos dsPIC33/PIC24. Esta sección ofrece un resumo das instrucións da táboa utilizadas durante a programación da memoria do programa Flash. Hai catro instrucións básicas da táboa:

  • TBLRDL: Lectura da táboa baixa
  • TBLRDH: Lectura da táboa alta
  • TBLWTL: Táboa Escritura Baixa
  • TBLWTH: Táboa Escritura Alta

A instrución TBLRDL úsase para ler desde bits[15:0] do espazo da memoria do programa. A instrución TBLWTL úsase para escribir en bits[15:0] do espazo da memoria do programa Flash. TBLRDL e TBLWTL poden acceder á memoria do programa Flash no modo Word ou Byte.

As instrucións TBLRDH e TBLWTH utilízanse para ler ou escribir en bits[23:16] do espazo da memoria do programa. TBLRDH e TBLWTH poden acceder á memoria do programa Flash en modo Word ou Byte. Dado que a memoria do programa Flash ten só 24 bits de ancho, as instrucións TBLRDH e TBLWTH poden abordar un byte superior da memoria do programa Flash que non existe. Este byte chámase "byte fantasma". Calquera lectura do byte fantasma devolverá 0x00. Unha escritura no byte fantasma non ten efecto. A memoria do programa Flash de 24 bits pódese considerar como dous espazos de 16 bits lado a lado, compartindo cada un o mesmo intervalo de enderezos. Polo tanto, as instrucións TBLRDL e TBLWTL acceden ao espazo de memoria do programa "baixo" (PM[15:0]). As instrucións TBLRDH e TBLWTH acceden ao espazo de memoria do programa "alto" (PM[31:16]). Calquera lectura ou escritura en PM[31:24] accederá ao byte pantasma (non implementado). Cando se usa algunha das instrucións da táboa no modo de bytes, o bit menos significativo (LSb) do enderezo da táboa empregarase como bit de selección de bytes. O LSb determina a que byte no espazo de memoria do programa alto ou baixo se accede.

A Figura 2-1 ilustra como se aborda a memoria do programa Flash mediante as instrucións da táboa. Un enderezo de memoria de programa de 24 bits fórmase usando bits[7:0] do rexistro TBLPAG e do enderezo efectivo (EA) dun rexistro W especificado na instrución da táboa. O contador de programas (PC) de 24 bits móstrase na Figura 2-1 como referencia. Os 23 bits superiores do EA úsanse para seleccionar a localización da memoria do programa Flash.

Para as instrucións da táboa do modo Byte, utilízase o LSb do rexistro W EA para seleccionar a que byte da palabra de memoria do programa Flash de 16 bits se dirixe; '1' selecciona bits[15:8] e '0' selecciona bits[7:0]. O LSb do rexistro W EA é ignorado para unha instrución de táboa no modo Word. Ademais do enderezo da memoria do programa Flash, a instrución da táboa tamén especifica un rexistro W (ou un punteiro de rexistro W a unha localización de memoria), que é a orixe dos datos da memoria do programa Flash que se escribirán ou o destino dun programa Flash. lectura de memoria. Para unha operación de escritura de táboa en modo Byte, ignóranse os bits[15:8] do rexistro de traballo de orixe.MICROCHIP-PIC24-Programación-Flash- (1)

Usando as instrucións de lectura da táboa
As lecturas da táboa requiren dous pasos:

  1. O punteiro de enderezos configúrase mediante o rexistro TBLPAG e un dos rexistros W.
  2. Pódese ler o contido da memoria do programa Flash na localización do enderezo.

 

  1. MODO LER PALABRA
    O código mostrado no Example 2-1 e ExampLe 2-2 mostra como ler unha palabra da memoria do programa Flash usando as instrucións da táboa no modo Word.MICROCHIP-PIC24-Programación-Flash- (2) MICROCHIP-PIC24-Programación-Flash- (3)
  2. MODO DE LER BYTE
    O código mostrado no ExampO ficheiro 2-3 mostra o operador posterior ao incremento na lectura do byte baixo, o que fai que o enderezo no rexistro de traballo aumente nun un. Isto establece EA[0] nun '1' para acceder ao byte medio na terceira instrución de escritura. O último incremento posterior devolve W0 a un enderezo par, apuntando á seguinte localización da memoria do programa Flash.MICROCHIP-PIC24-Programación-Flash- (4)
  3. PESTELLOS DE ESCRITURA DA MESA
    As instrucións de escritura de táboas non escriben directamente na memoria do programa non volátil. Pola contra, as instrucións de escritura da táboa cargan pestillos de escritura que almacenan os datos de escritura. Os rexistros de enderezos NVM deben cargarse co primeiro enderezo onde se deben escribir os datos bloqueados. Cando se cargaron todos os pestillos de escritura, a operación de programación da memoria real iníciase executando unha secuencia especial de instrucións. Durante a programación, o hardware transfire os datos dos pestillos de escritura á memoria Flash. Os pestillos de escritura comezan sempre no enderezo 0xFA0000 e esténdense a través de 0xFA0002 para a programación de palabras ou a través de 0xFA00FE para os dispositivos que teñen programación de filas.

Nota: O número de pestillos de escritura varía segundo o dispositivo. Consulte o capítulo "Memoria de programa flash" da folla de datos específica do dispositivo para coñecer o número de pestillos de escritura dispoñibles.

REGISTROS DE CONTROL

Utilízanse varios rexistros de funcións especiais (SFR) para programar as operacións de borrado e escritura da memoria do programa Flash: NVMCON, NVMKEY e os rexistros de enderezos NVM, NVMADR e NVMADRU.

Rexistro NVMCON
O rexistro NVMCON é o rexistro de control principal para as operacións de Flash e programar/borrar. Este rexistro selecciona se se realizará unha operación de borrado ou programa e pode iniciar o programa ou ciclo de borrado. O rexistro NVMCON móstrase no Rexistro 3-1. O byte inferior de NVMCON configura o tipo de operación NVM que se realizará.

Rexistro NVMKEY
O rexistro NVMKEY (consulte o Rexistro 3-4) é un rexistro de só escritura usado para evitar as escrituras accidentais de NVMCON que poden corromper a memoria Flash. Unha vez desbloqueado, as escrituras en NVMCON permítense durante un ciclo de instrucións no que se pode configurar o bit WR para invocar unha rutina de borrado ou programa. Dados os requisitos de tempo, é necesario desactivar as interrupcións.
Siga os seguintes pasos para iniciar unha secuencia de borrado ou programación:

  1. Desactivar as interrupcións.
  2. Escribe 0x55 en NVMKEY.
  3. Escriba 0xAA en NVMKEY.
  4. Inicie o ciclo de escritura de programación configurando o bit WR (NVMCON[15]).
  5. Executar dúas instrucións NOP.
  6. Restaurar interrupcións.

MICROCHIP-PIC24-Programación-Flash- (5)

DESACTIVACIÓN DE INTERRUPCIÓNS
A desactivación das interrupcións é necesaria para todas as operacións de Flash para garantir un resultado exitoso. Se se produce unha interrupción durante a secuencia de desbloqueo de NVMKEY, pode bloquear a escritura no bit WR. A secuencia de desbloqueo de NVMKEY debe executarse sen interrupcións, como se explica na Sección 3.2 "Rexistro NVMKEY".

As interrupcións pódense desactivar nun dos dous métodos, desactivando a activación de interrupcións globales (bit GIE) ou empregando a instrución DISI. Non se recomenda a instrución DISI xa que só desactiva as interrupcións de Prioridade 6 ou inferior; polo tanto, debe utilizarse o método Global Interrupt Enable.

As escrituras da CPU en GIE levan dous ciclos de instrucións antes de afectar o fluxo de código. Despois necesítanse dúas instrucións NOP ou poden substituírse por calquera outra instrución de traballo útil, como cargar NVMKEY; isto é aplicable tanto a operacións definidas como claras. Débese ter coidado ao volver habilitar as interrupcións para que a rutina dirixida a NVM non permita interrupcións cando unha función chamada anterior as desactivou por outros motivos. Para solucionar isto en Asemblea, pódese usar unha pila push e pop para manter o estado do bit GIE. En C, pódese usar unha variable na RAM para almacenar INTCON2 antes de borrar GIE. Use a seguinte secuencia para desactivar as interrupcións:

  1. Empurre INTCON2 na pila.
  2. Borrar o bit GIE.
  3. Dous NOP ou escribe a NVMKEY.
  4. Inicie o ciclo de programación configurando o bit WR (NVMCON[15]).
  5. Restaurar o estado GIE mediante POP de INTCON2.MICROCHIP-PIC24-Programación-Flash- (6)

Rexistros de enderezos NVM
Os dous rexistros de enderezos NVM, NVMADRU e NVMADR, cando se concatenan, forman o EA de 24 bits da fila ou palabra seleccionada para as operacións de programación. O rexistro NVMADRU úsase para albergar os oito bits superiores do EA, e o rexistro NVMADR úsase para albergar os 16 bits inferiores do EA. Algúns dispositivos poden referirse a estes mesmos rexistros como NVMADRL e NVMADRH. Os rexistros de enderezos NVM sempre deben apuntar a un límite de palabra de instrución dobre cando se realiza unha operación de programación de palabras de instrución dobre, un límite de fila cando se realiza unha operación de programación de fila ou un límite de páxina cando se realiza unha operación de borrado de páxina.

Rexistro 3-1: NVMCON: Rexistro de control de memoria flashMICROCHIP-PIC24-Programación-Flash- (7) MICROCHIP-PIC24-Programación-Flash- (8)

Nota

  1. Este bit só se pode restablecer (é dicir, borrar) nun restablecemento ao encendido (POR).
  2. Ao saír do modo inactivo, hai un atraso de acendido (TVREG) antes de que a memoria do programa Flash se poña en funcionamento. Consulte o capítulo "Características eléctricas" da ficha técnica específica do dispositivo para obter máis información.
  3. Todas as outras combinacións de NVMOP[3:0] non están implementadas.
  4. Esta función non está dispoñible en todos os dispositivos. Consulte o capítulo "Memoria do programa flash" na folla de datos específica do dispositivo para coñecer as operacións dispoñibles.
  5. A entrada nun modo de aforro de enerxía despois de executar unha instrución PWRSAV depende de que se completen todas as operacións NVM pendentes.
  6. Este bit só está dispoñible en dispositivos que admitan a programación de filas con memoria intermedia RAM. Consulte a folla de datos específica do dispositivo para coñecer a dispoñibilidade.

MICROCHIP-PIC24-Programación-Flash- (9)

Nota

  1. Este bit só se pode restablecer (é dicir, borrar) nun restablecemento ao encendido (POR).
  2. Ao saír do modo inactivo, hai un atraso de acendido (TVREG) antes de que a memoria do programa Flash se poña en funcionamento. Consulte o capítulo "Características eléctricas" da ficha técnica específica do dispositivo para obter máis información.
  3. Todas as outras combinacións de NVMOP[3:0] non están implementadas.
  4. Esta función non está dispoñible en todos os dispositivos. Consulte o capítulo "Memoria do programa flash" na folla de datos específica do dispositivo para coñecer as operacións dispoñibles.
  5. A entrada nun modo de aforro de enerxía despois de executar unha instrución PWRSAV depende de que se completen todas as operacións NVM pendentes.
  6. Este bit só está dispoñible en dispositivos que admitan a programación de filas con memoria intermedia RAM. Consulte a folla de datos específica do dispositivo para coñecer a dispoñibilidade.

Rexistro 3-2: NVMADRU: Rexistro de dirección superior de memoria non volátil

MICROCHIP-PIC24-Programación-Flash- (10)

Rexistro 3-3: NVMADR: Rexistro de enderezos de memoria non volátil

MICROCHIP-PIC24-Programación-Flash- (11)

Rexistro 3-4: NVMKEY: Rexistro de chave de memoria non volátil

MICROCHIP-PIC24-Programación-Flash- (12)

AUTOPROGRAMACIÓN EN TEMPO DE EXECUCIÓN (RTSP)

RTSP permite á aplicación do usuario modificar o contido da memoria do programa Flash. RTSP realízase mediante as instrucións TBLRD (lectura de táboas) e TBLWT (escritura de táboas), o rexistro TBLPAG e os rexistros de control NVM. Con RTSP, a aplicación do usuario pode borrar unha única páxina da memoria Flash e programar dúas palabras de instrución ou ata 128 palabras de instrución en certos dispositivos.

Operación RTSP
The dsPIC33/PIC24 Flash program memory array is organized into erase pages that can contain up to 1024 instructions. The double-word programming option is available in all devices in the dsPIC33/PIC24 families. In addition, certain devices have row programming capability, which allows the programming of up to 128 instruction words at a time. Programming and erase operations always occur on an even double programming word, row or page boundaries. Refer to the “Flash Program Memory” chapter of the specific device data sheet for the availability and sizes of a programming row, and the page size for erasing. The Flash program memory implements holding buffers, called write latches, that can contain up to 128 instructions of programming data depending on the device. Prior to the actual programming operation, the write data must be loaded into the write latches. The basic sequence for RTSP is to set up the Table Pointer, TBLPAG register, and then perform a series of TBLWT instructions to load the write latches. Programming is performed by setting the control bits in the NVMCON register. The number of TBLWTL and TBLWTH instructions needed to load the write latches is equal to the number of program words to be written.

Nota: Recoméndase gardar o rexistro TBLPAG antes da modificación e restauralo despois do seu uso.

PRECAUCIÓN
Nalgúns dispositivos, os bits de configuración gárdanse na última páxina do espazo de memoria do usuario Flash do programa nunha sección chamada "Bytes de configuración flash". Con estes dispositivos, ao realizar unha operación de borrado de páxina na última páxina da memoria do programa, borra os bytes de configuración Flash, o que permite a protección do código. Polo tanto, os usuarios non deben realizar operacións de borrado de páxinas na última páxina da memoria do programa. Isto non é unha preocupación cando os bits de configuración se almacenan no espazo de memoria de configuración nunha sección chamada "Rexistros de configuración do dispositivo". Consulte o Mapa de memoria do programa no capítulo "Organización da memoria" da folla de datos específica do dispositivo para determinar onde se atopan os bits de configuración.

Operacións de programación flash
A program or erase operation is necessary for programming or erasing the internal Flash program memory in RTSP mode. The program or erase operation is automatically timed by the device (refer to the specific device data sheet for timing information). Setting the WR bit (NVMCON[15]) starts the operation. The WR bit is automatically cleared when the operation is finished. The CPU stalls until the programming operation is finished. The CPU will not execute any instructions or respond to interrupts during this time. If any interrupts occur during the programming cycle, they will remain pending until the cycle completes. Some dsPIC33/PIC24 devices may provide auxiliary Flash program memory (refer to the “Memory Organization” chapter of the specific device data sheet for details), which allows instruction execution without CPU Stalls while user Flash program memory is being erased and/ or programmed. Conversely, auxiliary Flash program memory can be programmed without CPU Stalls, as long as code is executed from the user Flash program memory. The NVM interrupt can be used to indicate that the programming operation is complete.

Nota

  1. Se se produce un evento POR ou BOR mentres está en curso unha operación de borrado ou programación de RTSP, a operación RTSP abortarase inmediatamente. O usuario debe executar a operación RTSP de novo despois de que o dispositivo saia de Restablecer.
  2. Se se produce un evento de restablecemento EXTR, SWR, WDTO, TRAPR, CM ou IOPUWR mentres está en curso unha operación de borrado ou programación de RTSP, o dispositivo restablecerase só despois de que se complete a operación RTSP.

ALGORITMO DE PROGRAMACIÓN RTSP
Esta sección describe a programación RTSP, que consta de tres procesos principais.

Creación dunha imaxe RAM da páxina de datos a modificar
Siga estes dous pasos para crear unha imaxe RAM da páxina de datos a modificar:

  1. Le a páxina da memoria do programa Flash e gárdaa na memoria RAM de datos como unha "imaxe" de datos. A imaxe da RAM debe lerse a partir do límite dun enderezo de páxina.
  2. Modifique a imaxe de datos da RAM segundo sexa necesario.

Erasing Flash Program Memory
Despois de completar os pasos 1 e 2 anteriores, siga os catro pasos seguintes para borrar a páxina da memoria do programa Flash:

  1. Establece os bits NVMOP[3:0] (NVMCON[3:0]) para borrar a páxina da memoria do programa Flash lida desde o paso 1.
  2. Escriba o enderezo de inicio da páxina que se vai borrar nos rexistros NVMADRU e NMVADR.
  3. Con interrupcións desactivadas:
    • a) Escriba a secuencia de teclas no rexistro NVMKEY para habilitar a configuración do bit WR (NVMCON[15]).
    • b) Establece o bit WR; isto iniciará o ciclo de borrado.
    • c) Executar dúas instrucións NOP.
  4. O bit WR borrarase cando se completa o ciclo de borrado.

Programación da páxina de memoria flash
A seguinte parte do proceso é programar a páxina da memoria Flash. A páxina da memoria flash prográmase utilizando os datos da imaxe creada no paso 1. Os datos transfírense aos pestillos de escritura en incrementos de palabras ou filas de instrucións dobres. Todos os dispositivos teñen capacidade de programación de palabras de instrución dobre. (Consulte o capítulo "Memoria de programa flash" na folla de datos específica do dispositivo para determinar se e que tipo de programación de fila está dispoñible.) Despois de cargar os pestillos de escritura, iníciase a operación de programación, que transfire os datos do escriba pestillos na memoria Flash. Isto repítese ata que se programa toda a páxina. Repita os seguintes tres pasos, comezando pola primeira palabra de instrución da páxina Flash e aumentando en pasos de palabras dobres de programa ou filas de instrucións, ata que se programa toda a páxina:

  1. Carga os pestillos de escritura:
    • a) Establece o rexistro TBLPAG para que apunte á localización dos pestillos de escritura.
    • b) Cargue o número desexado de pestillos usando pares de instrucións TBLWTL e TBLWTH:
    • Para a programación de palabras dobres, son necesarios dous pares de instrucións TBLWTL e TBLWTH
    • Para a programación de filas, necesítanse un par de instrucións TBLWTL e TBLWTH para cada elemento de fila de palabras de instrución
  2. Iniciar a operación de programación:
    • a) Configure os bits NVMOP[3:0] (NVMCON[3:0]) para programar palabras de instrución dobres ou unha fila de instrucións, segundo corresponda.
      b) Escriba o primeiro enderezo da palabra de instrución dobre ou da fila de instrucións que se vai programar nos rexistros NVMADRU e NVMADR.
      c) Con interrupcións desactivadas:
      • Escriba a secuencia de teclas no rexistro NVMKEY para habilitar a configuración do bit WR (NVMCON[15])
      • Establecer o bit WR; isto iniciará o ciclo de borrado
      • Executar dúas instrucións NOP
  3. O bit WR borrarase cando se completa o ciclo de programación.

Repita todo o proceso segundo sexa necesario para programar a cantidade desexada de memoria do programa Flash.

Nota

  1. O usuario debe lembrar que a cantidade mínima de memoria do programa Flash que se pode borrar mediante RTSP é unha páxina borrada por siga. Polo tanto, é importante que unha imaxe destas localizacións se almacene na memoria RAM de propósito xeral antes de iniciar un ciclo de borrado.
  2. Unha fila ou palabra na memoria do programa Flash non se debe programar máis de dúas veces antes de ser borrada.
  3. Nos dispositivos con bytes de configuración almacenados na última páxina de Flash, ao realizar unha operación de borrado de páxina na última páxina da memoria do programa borra os bytes de configuración, o que permite a protección do código. Nestes dispositivos, non se debe borrar a última páxina da memoria Flash.

ERASING ONE PAGE OF FLASH
A secuencia de códigos mostrada no Exampo le 4-1 pódese usar para borrar unha páxina da memoria do programa Flash. O rexistro NVMCON está configurado para borrar unha páxina da memoria do programa. Os rexistros NVMADR e NMVADRU cárganse co enderezo de inicio da páxina que se vai borrar. A memoria do programa debe borrarse nun límite de enderezo de páxina "par". Consulte o capítulo "Memoria do programa Flash" da folla de datos específica do dispositivo para determinar o tamaño da páxina Flash.
A operación de borrado iníciase escribindo un desbloqueo especial, ou secuencia de teclas, no rexistro NVMKEY antes de configurar o bit WR (NVMCON[15]). A secuencia de desbloqueo debe executarse na orde exacta, como se mostra no Example 4-1, sen interrupción; polo tanto, as interrupcións deben estar desactivadas.
Dúas instrucións NOP deben inserirse no código despois do ciclo de borrado. En certos dispositivos, os bits de configuración almacénanse na última páxina do programa Flash. Con estes dispositivos, realizar unha operación de borrado de páxina na última páxina da memoria do programa borra os bytes de configuración de Flash, habilitando como resultado a protección do código. Os usuarios non deben realizar operacións de borrado de páxinas na última páxina da memoria do programa.MICROCHIP-PIC24-Programación-Flash- (13)MICROCHIP-PIC24-Programación-Flash- (14)

CARGANDO PESTELLOS DE ESCRITURA
Os pestillos de escritura utilízanse como mecanismo de almacenamento entre a aplicación de usuario Table Writes e a secuencia de programación real. Durante a operación de programación, o dispositivo transferirá os datos dos pestillos de escritura á memoria Flash. Para os dispositivos que admiten a programación de filas, ExampO 4-3 mostra a secuencia de instrucións que se poden usar para cargar 128 pestillos de escritura (128 palabras de instrución). Precísanse instrucións 128 TBLWTL e 128 TBLWTH para cargar os pestillos de escritura para programar unha fila de memoria do programa Flash. Consulte o capítulo "Memoria de programa flash" da folla de datos específica do dispositivo para determinar o número de pestillos de programación dispoñibles no seu dispositivo. Para os dispositivos que non admiten a programación de filas, ExampA figura 4-4 mostra a secuencia de instrucións que se poden usar para cargar dous pestillos de escritura (dúas palabras de instrución). Precísanse dúas instrucións TBLWTL e dúas TBLWTH para cargar os pestillos de escritura.

Nota

  1. O código para Load_Write_Latch_Row móstrase no Example 4-3 e o código para Load_Write_Latch_Word móstrase no Example 4-4. O código en ambos examples refírese no examples.
  2. Consulte a folla de datos específica do dispositivo para coñecer o número de pestillos.MICROCHIP-PIC24-Programación-Flash- (15)

PROGRAMACIÓN ÚNICA FILA EXAMPLE
O rexistro NVMCON está configurado para programar unha fila da memoria do programa Flash. A operación do programa iníciase escribindo un desbloqueo especial, ou secuencia de teclas, no rexistro NVMKEY antes de establecer o bit WR (NVMCON[15]). A secuencia de desbloqueo debe executarse sen interrupcións e na orde exacta, como se mostra no Example 4-5. Polo tanto, as interrupcións deben desactivarse antes de escribir a secuencia.

Nota: Non todos os dispositivos teñen capacidade de programación de filas. Consulte o capítulo "Memoria do programa flash" da folla de datos específica do dispositivo para determinar se esta opción está dispoñible.

Dúas instrucións NOP deben ser inseridas no código despois do ciclo de programación.MICROCHIP-PIC24-Programación-Flash- (16) MICROCHIP-PIC24-Programación-Flash- (17)

PROGRAMACIÓN DE FILAS UTILIZANDO O BUFER RAM
Os dispositivos dsPIC33 seleccionados permiten que a programación de filas se realice directamente desde un espazo de memoria intermedia na memoria RAM de datos, en lugar de pasar polos pestillos de retención para transferir datos con instrucións TBLWT. A localización do búfer RAM está determinada polos rexistros NVMRCADR, que se cargan co enderezo RAM de datos que contén a primeira palabra dos datos do programa que se vai escribir.

Antes de realizar a operación do programa, débese cargar o espazo do búfer na RAM coa fila de datos a programar. A RAM pódese cargar nun formato comprimido (empaquetado) ou sen comprimir. O almacenamento comprimido usa unha palabra de datos para almacenar os bytes máis significativos (MSB) de dúas palabras de datos de programa adxacentes. O formato sen comprimir usa dúas palabras de datos para cada palabra de datos do programa, sendo o byte superior de cada outra palabra 00h. O formato comprimido usa preto de 3/4 do espazo na memoria RAM de datos en comparación co formato sen comprimir. O formato sen comprimir, por outra banda, imita a estrutura da palabra de datos do programa de 24 bits, completa co byte fantasma superior. O formato de datos é seleccionado polo bit RPDF (NVMCON[9]). Estes dous formatos móstranse na Figura 4-1.

Unha vez cargado o búfer RAM, os punteiros de enderezos de Flash, NVMADR e NVMADRU, cárganse co enderezo de inicio de 24 bits da fila de Flash que se vai escribir. Do mesmo xeito que coa programación dos pestillos de escritura, o proceso iníciase escribindo a secuencia de desbloqueo de NVM, seguido de establecer o bit WR. Unha vez iniciado, o dispositivo carga automaticamente os pestillos correctos e aumenta os rexistros de enderezos NVM ata que todos os bytes sexan programados. Example 4-7 mostra un exampo do proceso. Se NVMSRCADR está configurado nun valor tal que se produce unha condición de erro de subexplotación de datos, o bit URERR (NVMCON[8]) establecerase para indicar a condición.
Os dispositivos que implementan a programación de filas do buffer RAM tamén implementan un ou dous pestillos de escritura. Estes cárganse mediante as instrucións TBLWT e utilízanse para realizar operacións de programación de palabras.MICROCHIP-PIC24-Programación-Flash- (18)

PROGRAMACIÓN DE PALABRAS
O rexistro NVMCON está configurado para programar dúas palabras de instrución da memoria do programa Flash. A operación do programa iníciase escribindo un desbloqueo especial, ou secuencia de teclas, no rexistro NVMKEY antes de establecer o bit WR (NVMCON[15]). A secuencia de desbloqueo debe executarse na orde exacta, como se mostra no Example 4-8, sen interrupción. Polo tanto, as interrupcións deben desactivarse antes de escribir a secuencia.
Dúas instrucións NOP deben ser inseridas no código despois do ciclo de programación.MICROCHIP-PIC24-Programación-Flash- (19) MICROCHIP-PIC24-Programación-Flash- (20)

Escritura nos rexistros de configuración do dispositivo
En certos dispositivos, os bits de configuración gárdanse no espazo da memoria de configuración nunha sección chamada "Rexistros de configuración do dispositivo". Noutros dispositivos, os bits de configuración gárdanse na última páxina do espazo de memoria do usuario Flash do programa nunha sección chamada "Bytes de configuración flash". Con estes dispositivos, ao realizar unha operación de borrado de páxina na última páxina da memoria do programa, borra os bytes de configuración Flash, o que permite a protección do código. Polo tanto, os usuarios non deben realizar operacións de borrado de páxinas na última páxina da memoria do programa. Consulte o Mapa de memoria do programa no capítulo "Organización da memoria" da folla de datos específica do dispositivo para determinar onde se atopan os bits de configuración.

Cando os bits de configuración se almacenan no espazo da memoria de configuración, pódese usar RTSP para escribir nos rexistros de configuración do dispositivo e RTSP permite que cada rexistro de configuración se reescriba individualmente sen realizar primeiro un ciclo de borrado. Débese ter coidado ao escribir os rexistros de configuración xa que controlan os parámetros de funcionamento críticos do dispositivo, como a fonte do reloxo do sistema, a habilitación de PLL e WDT.

O procedemento para programar un dispositivo Rexistro de configuración é semellante ao procedemento para programar a memoria do programa Flash, agás que só se requiren instrucións TBLWTL. Isto débese a que os oito bits superiores de cada rexistro de configuración do dispositivo non se utilizan. Ademais, o bit 23 do enderezo de escritura de táboa debe estar configurado para acceder aos rexistros de configuración. Consulte "Configuración do dispositivo" (DS70000618) no "Manual de referencia da familia dsPIC33/PIC24" e o capítulo "Características especiais" na folla de datos específica do dispositivo para obter unha descrición completa dos rexistros de configuración do dispositivo.

Nota

  1. A escritura no dispositivo Os rexistros de configuración non están dispoñibles en todos os dispositivos. Consulte o capítulo "Funcións especiais" na folla de datos específica do dispositivo para determinar os modos dispoñibles segundo a definición de bits NVMOP[3:0] específico do dispositivo.
  2. Mentres se realiza RTSP nos rexistros de configuración do dispositivo, o dispositivo debe estar funcionando usando o oscilador FRC interno (sen PLL). Se o dispositivo funciona desde unha fonte de reloxo diferente, debe realizarse un cambio de reloxo ao oscilador FRC interno (NOSC[2:0] = 000) antes de realizar a operación RTSP nos rexistros de configuración do dispositivo.
  3. Se os bits de selección do modo de oscilador primario (POSCMD[1:0]) no rexistro de configuración do oscilador (FOSC) están sendo reprogramados a un novo valor, o usuario debe asegurarse de que os bits do modo de conmutación do reloxo (FCKSM[1:0]) o rexistro FOSC ten un valor programado inicial de '0', antes de realizar esta operación RTSP.

ALGORITMO DE ESCRITURA DE REXISTRO DE CONFIGURACIÓN
O procedemento xeral é o seguinte:

  1. Escriba o novo valor de configuración no pestillo de escritura de táboa mediante unha instrución TBLWTL.
  2. Configure NVMCON para unha escritura de rexistro de configuración (NVMCON = 0x4000).
  3. Escriba o enderezo do rexistro de configuración que se vai programar nos rexistros NVMADRU e NVMADR.
  4. Desactiva as interrupcións, se está activada.
  5. Escriba a secuencia de teclas no rexistro NVMKEY.
  6. Inicie a secuencia de escritura configurando o bit WR (NVMCON[15]).
  7. Volve habilitar as interrupcións, se é necesario.

ExampO ficheiro 4-10 mostra a secuencia de códigos que se pode usar para modificar un rexistro de configuración do dispositivo.MICROCHIP-PIC24-Programación-Flash- (21)

MAPA DE REXISTRO

Na Táboa 5-1 ofrécese un resumo dos rexistros asociados á Programación Flash.MICROCHIP-PIC24-Programación-Flash- (22)

NOTAS DE APLICACIÓN RELACIONADAS

Esta sección enumera as notas de aplicación relacionadas con esta sección do manual. É posible que estas notas de aplicación non estean escritas especificamente para as familias de produtos dsPIC33/PIC24, pero os conceptos son pertinentes e pódense usar con modificacións e posibles limitacións. As notas de aplicación actuais relacionadas coa programación Flash son:

Nota: Visita o Microchip websitio (www.microchip.com) para notas de aplicación adicionais e código exampficheiros para as familias de dispositivos dsPIC33/PIC24.

HISTORIA DE REVISIÓNS

Revisión A (agosto de 2009)
Esta é a versión inicial deste documento.

Revisión B (febreiro de 2011)
Esta revisión inclúe as seguintes actualizacións:

  • Examples:
    • Eliminado Example 5-3 e Example 5-4
    • Actualizado Example 4-1, Example 4-5 e Example 4-10
    • Calquera referencia a #WR actualizouse ao número 15 en Example 4-1, Example 4-5 e Example 4-8
    • Actualizouse o seguinte en Example 4-3:
  • Actualizouse o título "Programación de palabras" a "Cargando pestillos de escritura para a programación de filas"
  • Calquera referencia a #ram_image actualizouse a #0xFA
    • Engadido Example 4-4
    • Actualizouse o título en Example 4-8
  • Notas:
    • Engadíronse dúas notas na Sección 4.2 "Operacións de programación flash"
    • Actualizouse a nota na Sección 4.5.2 "Carga de pestillos de escritura"
    • Engadíronse tres notas na Sección 4.6 "Escritura nos rexistros de configuración do dispositivo"
    • Engadiuse a nota 1 na táboa 5-1
  • Rexistros:
    • Actualizáronse os valores de bits para NVMOP[3:0]: Operación NVM Seleccione os bits no rexistro de Control de memoria flash (NVMCON) (consulte o Rexistro 3-1)
  • Seccións:
    • Elimináronse as seccións 5.2.1.4 "Modo de escritura de palabras" e 5.2.1.5 "Modo de escritura de bytes"
    • Sección actualizada 3.0 "Rexistros de control"
    • Actualizouse o seguinte na Sección 4.5.5 "Programación de palabras":
  • Cambiouse o título da sección "Programación dunha palabra de memoria flash" a "Programación de palabras"
  • Actualizouse o primeiro parágrafo
  • Cambiou os termos "unha palabra" por "un par de palabras" no segundo parágrafo
    • Engadiuse un novo Paso 1 á Sección 4.6.1 "Algoritmo de escritura de rexistro de configuración"
  • Táboas:
    • Táboa 5-1 actualizada
  • Actualizáronse algunhas referencias á memoria do programa á memoria do programa Flash
  • Ao longo do documento incorporáronse outras actualizacións menores, como as de idioma e de formato

Revisión C (xuño de 2011)
Esta revisión inclúe as seguintes actualizacións:

  • Examples:
    • Actualizado Example 4-1
    • Actualizado Example 4-8
  • Notas:
    • Engadida unha nota na Sección 4.1 "Funcionamento RTSP"
    • Engadiuse a Nota 3 na Sección 4.2 "Operacións de programación flash"
    • Engadiuse a Nota 3 na Sección 4.2.1 "Algoritmo de programación RTSP"
    • Added a note in Section 4.5.1 “Erasing One Page of Flash”
    • Engadiuse a Nota 2 na Sección 4.5.2 "Carga de pestillos de escritura"
  • Rexistros:
    • Actualizouse a descrición dos bits para os bits 15-0 no rexistro de enderezos de memoria non volátil (consulte o rexistro 3-3)
  • Seccións:
    • Sección 4.1 actualizada "Funcionamento RTSP"
    • Sección actualizada 4.5.5 "Programación de palabras"
  • Ao longo do documento incorporáronse outras actualizacións menores, como as de idioma e de formato

Revisión D (decembro de 2011)
Esta revisión inclúe as seguintes actualizacións:

  • Sección actualizada 2.1.3 "Pestillos de escritura de táboas"
  • Sección actualizada 3.2 "Rexistro NVMKEY"
  • Actualizáronse as notas en NVMCON: rexistro de control de memoria flash (consulte o rexistro 3-1)
  • Realizáronse amplas actualizacións ao longo da Sección 4.0 "Autoprogramación en tempo de execución (RTSP)"
  • Ao longo do documento incorporáronse outras actualizacións menores, como as de idioma e de formato

Revisión E (outubro de 2018)
Esta revisión inclúe as seguintes actualizacións:

  • Engadido Example 2-2, Example 4-2, Example 4-6 e Example 4-9
  • Engadida a Sección 4.5.4 "Programación de filas usando o búfer RAM"
  • Sección actualizada 1.0 "Introdución", Sección 3.3 "Rexistros de enderezos NVM", Sección 4.0 "Autoprogramación en tempo de execución (RTSP)" e Sección 4.5.3 "Programación dunha fila Ex.ample ”
  • Rexistro actualizado 3-1
  • Actualizado Example 4-7
  • Táboa 5-1 actualizada

Revisión F (novembro de 2021)
Engadida a Sección 3.2.1 "Desactivación das interrupcións".
Actualizado Example 3-1, Example 4-1, Example 4-2, Example 4-5, Example 4-6, Example 4-7, Example 4-8, Example 4-9 e Example 4-10.
Updated Section 3.2 “NVMKEY Register”, Section 4.5.1 “Erasing One Page of Flash”, Section 4.5.3 “Single Row Programming Example” e Sección 4.6.1 “Algoritmo de escritura de rexistro de configuración”.

Teña en conta os seguintes detalles da función de protección de código nos produtos Microchip:

  • Os produtos de microchip cumpren as especificacións contidas na súa ficha de datos de microchip.
  • Microchip considera que a súa familia de produtos é segura cando se usa da forma prevista, dentro das especificacións de funcionamento e en condicións normais.
  • Microchip valora e protexe agresivamente os seus dereitos de propiedade intelectual. Os intentos de incumprir as funcións de protección do código do produto Microchip están estrictamente prohibidos e poden infrinxir a Digital Millennium Copyright Act.
  • Nin Microchip nin ningún outro fabricante de semicondutores poden garantir a seguridade do seu código. A protección do código non significa que esteamos garantindo que o produto sexa "irrompible". A protección do código está en constante evolución. Microchip comprométese a mellorar continuamente as funcións de protección do código dos nosos produtos

Esta publicación e a información que aparece aquí só poden usarse con produtos Microchip, incluso para deseñar, probar e integrar produtos Microchip coa súa aplicación. O uso desta información de calquera outra forma viola estes termos. A información relativa ás aplicacións do dispositivo ofrécese só para a súa comodidade e pode ser substituída por actualizacións. É a súa responsabilidade asegurarse de que a súa aplicación cumpre coas súas especificacións. Póñase en contacto coa súa oficina local de vendas de Microchip para obter asistencia adicional ou obtén soporte adicional en https://www.microchip.com/en-us/support/design-help/client-supportservices.

ESTA INFORMACIÓN ESTÁ PROPORCIONADA POR MICROCHIP "TAL CUAL". MICROCHIP NON OFRECE REPRESENTACIÓNS OU GARANTÍAS DE NINGÚN TIPO, XA EXPRESA OU IMPLÍCITA, ESCRITA OU ORAL, LEGAL OU DE OUTRO MODO, RELACIONADA COA INFORMACIÓN, INCLUÍENDO PERO NON LIMITADO A NINGÚN TIPO DE GARANTÍAS IMPLÍCITAS DE NON INFRACCIÓN, COMERCIABILIDADE E GARANTÍA DE COMERCIABILIDADE, GARANTÍA DE COMERCIABILIDADE E GARANTÍA DE COMERCIABILIDADE COMIDA A O SEU ESTADO, CALIDADE OU RENDEMENTO. EN NINGÚN CASO MICROCHIP SERÁ RESPONSABLE DE NINGÚN TIPO DE PERDA, DANO, CUSTO OU GASTO INDIRECTO, ESPECIAL, PUNITIVO, INCIDENTAL OU CONSECUENCIAL DE NINGÚN TIPO RELACIONADO COA INFORMACIÓN OU ​​O SEU USO, AÍNDA QUE SE SEXA O CAUSADO QUE SEXA O SEU ADVERTENCIA. A POSIBILIDADE OU OS DANOS SON PREVISIBLES. NA MÁXIMA MEDIDA PERMITIDA POLA LEI, A RESPONSABILIDADE TOTAL DE MICROCHIP SOBRE TODAS LAS RECLAMACIONS DE CALQUERA FORMA RELACIONADAS COA INFORMACIÓN OU ​​O SEU USO NON SUPERARÁ O IMPORTE DAS TAXAS, SE HOXE, QUE TIÑAS PAGADA DIRECTAMENTE A MICROCHIP POLA INFORMACIÓN.

O uso de dispositivos Microchip en aplicacións de soporte vital e/ou de seguridade corre totalmente a risco do comprador, e o comprador comprométese a defender, indemnizar e eximir a Microchip de calquera e todos os danos, reclamacións, demandas ou gastos derivados de tal uso. Non se transmite ningunha licenza, implícita ou doutra forma, baixo ningún dereito de propiedade intelectual de Microchip a menos que se indique o contrario.

Para obter información sobre os sistemas de xestión da calidade de Microchip, visite www.microchip.com/quality.

Marcas comerciais

O nome e o logotipo do Microchip, o logotipo do Microchip, Adaptec, AnyRate, AVR, o logotipo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheckSty, LinkMDs, maXlu maXTouch, MediaLB, megaAVR, Microsemi, logotipo de Microsemi, MOST, MOST logotipo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron e XMEGA son marcas rexistradas de Microchip Technology Incorporated nos EUA e noutros países. AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logo ProASIC Plus, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath e ZL son marcas rexistradas de Microchip Technology Incorporated nos EUA

Supresión de teclas adxacentes, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Programación en serie en circuito, ICSP, INICnet, Paralelo intelixente, Conectividade entre chips, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REALICE , Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect e ZENA son marcas comerciais de Microchip Technology Incorporated nos EUA e noutros países.

SQTP é unha marca de servizo de Microchip Technology Incorporated nos EUA
O logotipo de Adaptec, Frequency on Demand, Silicon Storage Technology, Symmcom e Trusted Time son marcas rexistradas de Microchip Technology Inc. noutros países.
GestIC é unha marca rexistrada de Microchip Technology Germany II GmbH & Co. KG, unha subsidiaria de Microchip Technology Inc., noutros países.
Todas as outras marcas rexistradas aquí mencionadas son propiedade das súas respectivas compañías.
© 2009-2021, Microchip Technology Incorporated e as súas filiais.
Todos os dereitos reservados.
ISBN: 978-1-5224-9314-3

Vendas e servizo no mundo

AMÉRICAS

ASIA/PACÍFICO

  • Australia - Sidney
    Tel: 61-2-9868-6733
  • China - Pequín
    Tel: 86-10-8569-7000
  • China - Chengdu
    Tel: 86-28-8665-5511
  • China - Chongqing
    Tel: 86-23-8980-9588
  • China - Dongguan
    Tel: 86-769-8702-9880
  • China - Guangzhou
    Tel: 86-20-8755-8029
  • China - Hangzhou
    Tel: 86-571-8792-8115
  • China - Hong Kong RAE
    Tel: 852-2943-5100
  • China - Nanjing
    Tel: 86-25-8473-2460
  • China - Qingdao
    Tel: 86-532-8502-7355
  • China - Shanghai
    Tel: 86-21-3326-8000
  • China - Shenyang
    Tel: 86-24-2334-2829
  • China - Shenzhen
    Tel: 86-755-8864-2200
  • China - Suzhou
    Tel: 86-186-6233-1526
  • China - Wuhan
    Tel: 86-27-5980-5300
  • China - Xian
    Tel: 86-29-8833-7252
  • China - Xiamen
    Tel: 86-592-2388138
  • China - Zhuhai
    Tel: 86-756-3210040
  • India - Bangalore
    Tel: 91-80-3090-4444
  • India - Nova Deli
    Tel: 91-11-4160-8631
  • India - Pune
    Tel: 91-20-4121-0141
  • Xapón - Osaka
    Tel: 81-6-6152-7160
  • Xapón - Tokio
    Tel: 81-3-6880- 3770
  • Corea - Daegu
    Tel: 82-53-744-4301
  • Corea - Seúl
    Tel: 82-2-554-7200
  • Malaisia ​​– Kuala Lumpur
    Tel: 60-3-7651-7906
  • Malaisia ​​- Penang
    Tel: 60-4-227-8870
  • Filipinas - Manila
    Tel: 63-2-634-9065
  • Singapur
    Tel: 65-6334-8870
  • Taiwán – Hsin Chu
    Tel: 886-3-577-8366
  • Taiwán – Kaohsiung
    Tel: 886-7-213-7830
  • Taiwán – Taipei
    Tel: 886-2-2508-8600
  • Tailandia - Bangkok
    Tel: 66-2-694-1351
  • Vietnam - Ho Chi Minh
    Tel: 84-28-5448-2100

EUROPA

  • Austria - Wels
    Tel: 43-7242-2244-39
    Fax: 43-7242-2244-393
  • Dinamarca - Copenhague
    Tel: 45-4485-5910
    Fax: 45-4485-2829
  • Finlandia – Espoo
    Teléfono: 358-9-4520-820
  • Francia - París
    Tel: 33-1-69-53-63-20
    Fax: 33-1-69-30-90-79
  • Alemaña - Garching
    Tel: 49-8931-9700
  • Alemaña - Haan
    Tel: 49-2129-3766400
  • Alemaña - Heilbronn
    Tel: 49-7131-72400
  • Alemaña - Karlsruhe
    Tel: 49-721-625370
  • Alemaña - Múnic
    Tel: 49-89-627-144-0
    Fax: 49-89-627-144-44
  • Alemaña - Rosenheim
    Tel: 49-8031-354-560
  • Italia - Milán
    Tel: 39-0331-742611
    Fax: 39-0331-466781
  • Italia - Padua
    Tel: 39-049-7625286
  • Países Baixos - Drunen
    Tel: 31-416-690399
    Fax: 31-416-690340
  • Noruega - Trondheim
    Tel: 47-7288-4388
  • Polonia - Varsovia
    Tel: 48-22-3325737
  • Romanía - Bucarest
    Tel: 40-21-407-87-50
  • España – Madrid
    Tel: 34-91-708-08-90
    Fax: 34-91-708-08-91
  • Suecia - Gothenberg
    Tel: 46-31-704-60-40
  • Suecia - Estocolmo
    Tel: 46-8-5090-4654
  • Reino Unido - Wokingham
    Tel: 44-118-921-5800
    Fax: 44-118-921-5820

Nota:

Esta sección do manual de referencia familiar pretende servir como complemento ás fichas de datos do dispositivo. Dependendo da variante do dispositivo, é posible que esta sección do manual non se aplique a todos os dispositivos dsPIC33/PIC24. Consulte a nota ao comezo do capítulo "Memoria do programa flash" na folla de datos do dispositivo actual para comprobar se este documento é compatible co dispositivo que está a usar.
As follas de datos do dispositivo e as seccións do manual de referencia familiar están dispoñibles para descargar desde Microchip Worldwide Websitio en: http://www.microchip.com.

Documentos/Recursos

Programación Flash MICROCHIP PIC24 [pdfGuía do usuario
PIC24 Programación Flash, PIC24, Programación Flash, Programación
Programación Flash MICROCHIP PIC24 [pdfGuía do usuario
PIC24 Programación Flash, PIC24, Programación Flash

Referencias

Deixa un comentario

O teu enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *