Haremos uso del módulo RSPI con el que cuenta el MCU R5F562N8 de la tarjeta de evaluación YRDKRX62N 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 agregará la librería PDL rx62n para el control de la interfaz RSPI0.
DESARROLLO:
- Del YRDKRX62N schematic identificamos los pines RSPI0 y la memoria micrón.
PASOS:
- Creación de un proyecto:
2.- New/ C Project / Renesas RXC ToolChain
3.- Seleccionar el target R5F562N8, 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.- Agregar la librería rx62n_library.lib en las opciones del proyecto propierties/C/C++ Build / Settings / Linker / Input
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)
{
LED1
= ~LED1;
delay_ms(1000);
}
}
- Agregar código, compilar y debug:
--> Practica #8
RESULTADOS:
No hay comentarios.:
Publicar un comentario