示例#1
0
static int DO_SPI_FLASH(int argc, char * const argv[])
{
    uint32_t i;
    int x,y;
    #define SPI_FLASH_TEST_LEN  (1024*512)
    volatile uint8_t* buf_test = SRAM_START_ADDRESS;
    uint32_t ret;
    static struct spi_bus bus;
    ret = kinetis_spi_bus_init(&bus, HW_SPI2);
    ret = ads7843_init(&bus, 0);
    ret = w25qxx_init(&bus, 1);
    
    
    for(i=0;i<100;i++)
    {
        ads7843_readX(&x);
        ads7843_readY(&y);
        printf("X:%04d Y:%04d\r", x, y);
        DelayMs(10);
    }
    /* probe w25qxx */
    if(w25qxx_probe())
    {
        printf("no w25qxx deived found\r\n");
        return 1;
    }
    printf("%s detected!\r\n", w25qxx_get_name());
    /*
    for(i=0;i<SPI_FLASH_TEST_LEN;i++)
    {
        buf_test[i] = i;
    }
    if(w25qxx_write(0, (uint8_t*)buf_test, SPI_FLASH_TEST_LEN))
    {
        printf("w25qxx write failed\r\n");
        return 1;
    }
    memset((uint8_t*)buf_test,0, SPI_FLASH_TEST_LEN);
    if(w25qxx_read(0, (uint8_t*)buf_test, SPI_FLASH_TEST_LEN))
    {
        printf("w25qxx read failed\r\n");
        return 1;
    }
    for(i=0;i<SPI_FLASH_TEST_LEN;i++)
    {
        if(buf_test[i] != i%256)
        {
           printf("error:[0x%X]:%d\r\n", i, buf_test[i]);
        }
    }
    */
    printf("spi flash test finish!\r\n");
    return 0;
}
示例#2
0
文件: w25qxx.c 项目: zwzmzd/kl02z
//芯片初始化
int w25qxx_init(struct w25qxx_init_t* init)
{
    memcpy(&w25_dev.ops, init, sizeof(struct w25qxx_init_t));
    return w25qxx_probe();
}