Wirepas SDK
wms_memory_area.h
Go to the documentation of this file.
1/* Copyright 2018 Wirepas Ltd. All Rights Reserved.
2 *
3 * See file LICENSE.txt for full license details.
4 *
5 */
6
20#ifndef APP_LIB_MEMORY_AREA_H_
21#define APP_LIB_MEMORY_AREA_H_
22
23#include <stdlib.h>
24#include <stdint.h>
25#include <stdbool.h>
26
27#include "wms_app.h"
28
30#define APP_LIB_MEMORY_AREA_NAME 0x01fd3b49
31
33#define APP_LIB_MEMORY_AREA_VERSION 0x200
34
52
58#define APP_LIB_MEM_AREA_MAX_AREAS 8
59
61typedef uint32_t app_lib_mem_area_id_t;
62
76
119
139
140
159 app_lib_mem_area_id_t id, void * to, uint32_t from, size_t amount);
160
185 app_lib_mem_area_id_t id, uint32_t to, const void * from, size_t amount);
186
207 uint32_t * sector_base,
208 size_t * number_of_sector);
209
217
230
241 uint8_t * num_areas);
242
255
256#endif /* APP_LIB_MEMORY_AREA_H_ */
app_lib_mem_area_startErase_f startErase
app_lib_mem_area_flash_info_t flash
app_lib_mem_area_res_e(* app_lib_mem_area_startErase_f)(app_lib_mem_area_id_t id, uint32_t *sector_base, size_t *number_of_sector)
Erase one or multiple sectors in the memory area.
app_lib_mem_area_res_e(* app_lib_mem_area_startWrite_f)(app_lib_mem_area_id_t id, uint32_t to, const void *from, size_t amount)
Block write to a memory area.
app_lib_mem_area_isBusy_f isBusy
app_lib_mem_area_getAreaInfo_f getAreaInfo
app_lib_mem_area_getAreaList_f getAreaList
app_lib_mem_area_type_e type
app_lib_mem_area_res_e
memory area operations result
@ APP_LIB_MEM_AREA_RES_PARAM
@ APP_LIB_MEM_AREA_RES_ERROR
@ APP_LIB_MEM_AREA_RES_INVALID_AREA
@ APP_LIB_MEM_AREA_RES_BUSY
@ APP_LIB_MEM_AREA_RES_OK
@ APP_LIB_MEM_AREA_RES_NODRIVER
app_lib_mem_area_res_e(* app_lib_mem_area_getAreaInfo_f)(app_lib_mem_area_id_t id, app_lib_mem_area_info_t *info)
Fills a structure with info about memory area and flash timings and topology.
uint32_t app_lib_mem_area_id_t
Memory Area id definition.
app_lib_mem_area_startRead_f startRead
app_lib_mem_area_res_e(* app_lib_mem_area_startRead_f)(app_lib_mem_area_id_t id, void *to, uint32_t from, size_t amount)
Block read from a memory area.
void(* app_lib_mem_area_getAreaList_f)(app_lib_mem_area_id_t *list, uint8_t *num_areas)
Returns the list of areas defined in the bootloader and accessible from the application.
bool(* app_lib_mem_area_isBusy_f)(app_lib_mem_area_id_t id)
Checks if underlying flash driver is busy.
app_lib_mem_area_id_t area_id
app_lib_mem_area_type_e
Lists the types of areas accessible from application side.
@ APP_LIB_MEM_AREA_TYPE_USER
@ APP_LIB_MEM_AREA_TYPE_APPLICATION
app_lib_mem_area_startWrite_f startWrite
Information on flash peripheral.
List of library functions.
memory area information