SPI设备介绍
2.1 SPI-Flash设备原理图查看
1、SPI Nor Flash是Nor Flash的一种,Nor Flash是一种非易失闪存技术;
2、实验箱上带有一个SPI通信的Nor Flash,型号为25VF016B;
3、Nor Flash设备接在SPI0通道上,片选引脚为CS0。
1、CSPI1_CLK连接在CPU的EIM_D16引脚
2、CSPI1_MISO连接在CPU的EIM_D17引脚
3、CSPI1_MOSI连接在CPU的EIM_D18引脚
4、CSPI1_CS0连接在CPU的EIM_EB2引脚
2.2 SPI-Flash设备数据手册查看
2.2.1 擦除流程
1、发送擦除命令
2、发送想要擦除的地址
3、固定擦除4K大小
2.2.2 写流程
1、发送写命令
2、发送想要写的地址
3、发送想要写的数据
2.2.3 读流程
1、发读命令
2、发送想要读的地址
3、表明要读取的字节数
SylixOS下SPI总线驱动
3.1 创建SPI总线适配器
#include <SylixOS.h> INT API_SpiAdapterCreate (CPCHAR pcName, PLW_SPI_FUNCS pspifunc)
函数API_SpiAdapterCreate原型分析:
-
此函数成功返回ERROR_NONE,失败返回PX_ERROR;
-
参数pcName是SPI适配器的名称,即shell命令buss显示的名称;
-
参数pspifunc是SPI总线传输函数的指针。
-
例:API_SpiAdapterCreate("/bus/spi/0", pSpiFuncs);
3.2 SPI总线操作集
#include <SylixOS.h>
typedef struct lw_spi_funcs {
INT (*SPIFUNC_pfuncMasterXfer)(PLW_SPI_ADAPTER pspiadapter,
PLW_SPI_MESSAGE pspimsg,