60 lines
1.2 KiB
C
Raw Normal View History

2025-05-21 11:31:07 +08:00
/*
* bsp_flash.c
*
* Created on: 202548
* Author: 22332
*/
#include "cola_init.h"
#include "cola_device.h"
#include "drv_flash.h"
static cola_device_t g_dev_flash;
static int bsp_flash_open(cola_device_t *dev, int oflag){
bsp_drv_flash_init();
return 0;
}
static int bsp_flash_close(cola_device_t *dev){
return 0;
}
static int bsp_flash_read(cola_device_t *dev, int pos, void *buffer, int size){
if(pos == 0)
{
return bsp_drv_get_vendor_data(buffer, size);;
}
else
{
volatile uint8_t * p_address =(uint8_t *) pos;
bsp_drv_flash_read_byte(p_address, (uint8_t *)buffer, size);
return 0;
}
}
static int bsp_flash_write(cola_device_t *dev, int pos, const void *buffer, int size){
bsp_drv_flash_write((uint8_t *)buffer,pos);
return 0;
}
static struct cola_device_ops master_flash_Ops ={
.open = bsp_flash_open,
.close = bsp_flash_close,
.read = bsp_flash_read,
.write = bsp_flash_write,
};
static void bsp_flash_configuration(void){
g_dev_flash.name = "FLASH";
g_dev_flash.dops = &master_flash_Ops;
cola_device_register(&g_dev_flash);
}
register_initcall(bsp_flash_configuration);