domingo, 19 de febrero de 2017

PRACTICA # 8 FLASH MEMORY P5Q (RSPI) MICRON

OBJETIVO:
       Haremos uso del módulo RSPI con el que cuenta el MCU R5F563NB de la tarjeta de evaluación YRDKRX63N para controlar, leer y escribir la memoria serial micrón NP5Q128A13ES de 128 Mb. Para esta práctica grabaremos 8 datos y los leeremos posteriormente.
  • Se implementará la API P5Q para el manejo de funciones de lectura y escritura.
  • Se utilizará el RSPI0 para el control de la interfaz SPI.

DESARROLLO:
  • Del YRDKRX63N schematic identificamos los pines RSPI0 y la memoria micrón.


PASOS:
  • Creación de un proyecto:
1.- Abrir el software e2studio
2.- New/ C Project / Renesas RXC ToolChain


3.- Seleccionar el target R5F563NB, debug hardware Segger jLink, después next


4.- Seleccionar C/C++ Source file y por ultimo Finish.


5.- La estructura de archivos del proyecto con las librerías agregadas queda de la siguiente forma:


6.- La inicialización y control de la interfaz RSPI0 se encuentra en el archivo yrdkrx62n_rspi_api.c

7.- La función principal main para el ejemplo del uso de la memoria SPI se establece como sigue:

#define SIZEDATA 8
ParameterType fp;
ReturnType verf;
uAddrType udAddr = 0;
NMX_uint16 udNrOfElementsInArray = SIZEDATA;
NMX_uint32 udNrOfElementsToRead = SIZEDATA;
unsigned char pArray[SIZEDATA]={0,1,2,3,4,5,6,7}, ucpElements[SIZEDATA];
void SR_P5Q_MEMORY(void);

void main(void)
{
            set_ipl( 0 );       // enable interrupts
            SR_Oscilador();     // configura oscilador a 96 Mhz
            SR_INIT_PORTS();    // inicia puertos entrada-salida
            SR_TIMER_0();       // Inicializa el Timer 0 en cascada para 16 bits
            SR_P5Q_MEMORY();    // Inicializa la memoria de Mitron NP5Q de 128 Mb

            /* 128Mb = 16,772,216 bytes (8 bits each)
             * 128 sectors (131072 Bytes each)
     * 262,144 pages (64 bytes each)
             */
            verf = FlashSectorErase(0);
            verf = FlashDataProgram(udAddr,  pArray ,udNrOfElementsInArray, SPI_FLASH_INS_PP);
            verf = FlashRead(udAddr,  ucpElements,  udNrOfElementsToRead);
            while(1)
            {
                        LED4 = ~LED4;
                        delay_ms(1000);
            }

}

  • Agregar código, compilar y debug:
1.- Bajar el código de:
--> Practica #8

2.- Compilar con el icono del martillo y debug con el icono del insecto:


RESULTADOS:


No hay comentarios.:

Publicar un comentario