no-OS
Loading...
Searching...
No Matches
no_os_flash.h File Reference

Header file for flash controller driver. More...

#include <stdint.h>
Include dependency graph for no_os_flash.h:

Classes

struct  no_os_flash_dev
 Flash controller device structure. More...
 
struct  no_os_flash_init_param
 Flash controller initialization structure. More...
 

Functions

int32_t no_os_flash_init (struct no_os_flash_dev **device, struct no_os_flash_init_param *init_param)
 
int32_t no_os_flash_remove (struct no_os_flash_dev *dev)
 
int32_t no_os_flash_clear_page (struct no_os_flash_dev *dev, int32_t page_no)
 
int32_t no_os_flash_write_page (struct no_os_flash_dev *dev, int32_t page_no, uint32_t *data)
 
int32_t flash_read_page (struct no_os_flash_dev *dev, int32_t page_no, uint32_t *data)
 
int32_t no_os_flash_write (struct no_os_flash_dev *dev, uint32_t flash_addr, uint32_t *array, uint32_t array_size)
 
int32_t no_os_flash_read (struct no_os_flash_dev *dev, uint32_t flash_addr, uint32_t *array, uint32_t size)
 

Detailed Description

Header file for flash controller driver.

Author
Andrei Drimbarean (andre.nosp@m.i.dr.nosp@m.imbar.nosp@m.ean@.nosp@m.analo.nosp@m.g.co.nosp@m.m)

Copyright 2021(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ flash_read_page()

int32_t flash_read_page ( struct no_os_flash_dev * dev,
int32_t page_no,
uint32_t * data )

Read a flash page.

◆ no_os_flash_clear_page()

int32_t no_os_flash_clear_page ( struct no_os_flash_dev * dev,
int32_t page_no )

Erase a flash page.

Erase a flash page.

Parameters
[in]dev- Pointer to the flash device handler.
[in]page_no- Page number.
Returns
0 in case of success, negative error code otherwise.

◆ no_os_flash_init()

int32_t no_os_flash_init ( struct no_os_flash_dev ** device,
struct no_os_flash_init_param * init_param )

Initialize flash controller.

Initialize flash controller.

Parameters
[out]device- Pointer to the driver handler.
[in]init_param- Pointer to the initialization structure.
Returns
0 in case of success, error code otherwise.

◆ no_os_flash_read()

int32_t no_os_flash_read ( struct no_os_flash_dev * dev,
uint32_t flash_addr,
uint32_t * array,
uint32_t size )

Read data from the flash memory.

Read data from the flash memory.

Parameters
[in]dev- Pointer to the flash device handler.
[in]flash_addr- Start address of the read.
[out]array- Pointer to the container for the read data.
[in]size- Size of the read data in 32-bit words.
Returns
0 in case of success, negative error code otherwise.

◆ no_os_flash_remove()

int32_t no_os_flash_remove ( struct no_os_flash_dev * dev)

Free memory allocated by no_os_flash_init().

Free memory allocated by no_os_flash_init().

Parameters
[in]dev- Pointer to the driver handler.
Returns
0 in case of success, error code otherwise.

◆ no_os_flash_write()

int32_t no_os_flash_write ( struct no_os_flash_dev * dev,
uint32_t flash_addr,
uint32_t * array,
uint32_t array_size )

Write data in flash memory.

Write data in flash memory.

Parameters
[in]dev- Pointer to the flash device handler.
[in]flash_addr- Start address of the write.
[in]array- Pointer to the data to be written.
[in]array_size- Size of the written data in 32-bit words.
Returns
0 in case of success, negative error code otherwise.

◆ no_os_flash_write_page()

int32_t no_os_flash_write_page ( struct no_os_flash_dev * dev,
int32_t page_no,
uint32_t * data )

Write a flash page.

Write a page in flash memory.

Parameters
[in]dev- Pointer to the flash device handler.
[in]page_no- Page number.
[in]data- Pointer to the data to be written. data length must be FLASH_PAGE_SIZE_WORDS in size.
Returns
0 in case of success, negative error code otherwise.