This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
hi,
below i have attached my code to write data into flash through quad spi.but am not able to see any data writting to device.kindly check code and come back
* main.c
*/
#include <stdbool.h>
#include <stdint.h>
#include "inc/hw_memmap.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/rom.h"
#include "driverlib/sysctl.h"
#include "driverlib/ssi.h"
#include "driverlib/adc.h"
#include "driverlib/pin_map.h"
#include "driverlib/uart.h"
#include "inc/hw_ints.h"
int main(void) {
int i;
uint32_t ui32SysClk, ui32Index,data_page[20],ID_Check;
uint32_t rx_data[20] = 0x00;
// define data that you want to receive
uint32_t ui32Trash, ID_check;
// set the system clock to be 25MHz
ui32SysClk = SysCtlClockFreqSet(SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_25MHZ, 25000000);
//spiinit();
// data();
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI3);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOP);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOL);
GPIOPinConfigure(GPIO_PP1_SSI3XDAT3);
GPIOPinConfigure(GPIO_PP0_SSI3XDAT2);
GPIOPinConfigure(GPIO_PF0_SSI3XDAT1);
GPIOPinConfigure(GPIO_PF1_SSI3XDAT0);
GPIOPinTypeGPIOOutput(GPIO_PORTL_BASE, GPIO_PIN_0 | GPIO_PIN_1);
GPIOPinWrite(GPIO_PORTL_BASE,
GPIO_PIN_0,0XFF);
GPIOPinWrite(GPIO_PORTL_BASE,
GPIO_PIN_0,0XFF);
GPIOPinConfigure(GPIO_PF3_SSI3CLK);
// Enable GPIO Ports pin types as SPI
GPIOPinTypeSSI(GPIO_PORTP_BASE,(GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_3));
GPIOPinTypeSSI(GPIO_PORTF_BASE,GPIO_PIN_3);
// Provide colck to the module.
SSIConfigSetExpClk(SSI3_BASE, 120000000, SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 1000000, 8);
SSIAdvModeSet(SSI3_BASE,SSI_ADV_MODE_QUAD_WRITE);
//SSIAdvFrameHoldEnable(SSI3_BASE);
SSIEnable(SSI3_BASE);
GPIOPinWrite(GPIO_PORTL_BASE,
GPIO_PIN_0,0XFF);
GPIOPinWrite(GPIO_PORTL_BASE,
GPIO_PIN_1,0XFF);
GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,0X00);
SSIDataPut(SSI3_BASE,0x06);
GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,0XFF);
uint32_t getstatus;
GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,0X00);
SSIAdvModeSet(SSI3_BASE, SSI_ADV_MODE_WRITE);
//SSIAdvModeSet(ui32Base,SSI_ADV_MODE_WRITE);
//SSIAdvFrameHoldEnable(SSI3_BASE);
SSIDataPut(SSI3_BASE,0x02); // send the Page Program Command
GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,0XFF);
GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,0X00);
SSIDataPut(SSI3_BASE, (0 >> 16) & 0xff);
SSIDataPut(SSI3_BASE, (0 >> 8) & 0xff);
SSIDataPut(SSI3_BASE, 0 & 0xff);
//high chip select
GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,0XFF);
GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,0X00);
for(i=0;i<100;i++)
{
SSIDataPut(SSI3_BASE,0xFF);
while(SSIBusy(SSI3_BASE));
}
GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,0XFF);
return 0;
}