fholin fholin / Mbed 2 deprecated MiniMousetest

Dependencies:   mbed

Committer:
fholin
Date:
Fri Dec 15 13:15:04 2017 +0000
Revision:
0:2325d1d28df3
Child:
1:eda561b01daf
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fholin 0:2325d1d28df3 1 /*
fholin 0:2325d1d28df3 2
fholin 0:2325d1d28df3 3 __ __ _ _
fholin 0:2325d1d28df3 4 | \/ (_) (_)
fholin 0:2325d1d28df3 5 | \ / |_ _ __ _ _ __ ___ ___ _ _ ___ ___
fholin 0:2325d1d28df3 6 | |\/| | | '_ \| | '_ ` _ \ / _ \| | | / __|/ _ \
fholin 0:2325d1d28df3 7 | | | | | | | | | | | | | | (_) | |_| \__ \ __/
fholin 0:2325d1d28df3 8 |_| |_|_|_| |_|_|_| |_| |_|\___/ \__,_|___/\___|
fholin 0:2325d1d28df3 9
fholin 0:2325d1d28df3 10
fholin 0:2325d1d28df3 11 Description : Flash Api.
fholin 0:2325d1d28df3 12
fholin 0:2325d1d28df3 13
fholin 0:2325d1d28df3 14 License : Revised BSD License, see LICENSE.TXT file include in the project
fholin 0:2325d1d28df3 15
fholin 0:2325d1d28df3 16 Maintainer : Fabien Holin (SEMTECH)
fholin 0:2325d1d28df3 17 */
fholin 0:2325d1d28df3 18 #ifndef APIFLASH_H
fholin 0:2325d1d28df3 19 #define APIFLASH_H
fholin 0:2325d1d28df3 20 #include "mbed.h"
fholin 0:2325d1d28df3 21 #define USERFLASHADRESS 0x8080000
fholin 0:2325d1d28df3 22 class Flash {
fholin 0:2325d1d28df3 23 public:
fholin 0:2325d1d28df3 24 Flash();
fholin 0:2325d1d28df3 25 ~Flash();
fholin 0:2325d1d28df3 26
fholin 0:2325d1d28df3 27 /** Initialize a flash IAP device
fholin 0:2325d1d28df3 28 *
fholin 0:2325d1d28df3 29 * Should be called once per lifetime of the object.
fholin 0:2325d1d28df3 30 * @return 0 on success or a negative error code on failure
fholin 0:2325d1d28df3 31 */
fholin 0:2325d1d28df3 32 int init();
fholin 0:2325d1d28df3 33
fholin 0:2325d1d28df3 34
fholin 0:2325d1d28df3 35 /** Read data from a flash device.
fholin 0:2325d1d28df3 36 *
fholin 0:2325d1d28df3 37 * This method invokes memcpy - reads number of bytes from the address
fholin 0:2325d1d28df3 38 *
fholin 0:2325d1d28df3 39 * @param buffer Buffer to write to
fholin 0:2325d1d28df3 40 * @param addr Flash address to begin reading from
fholin 0:2325d1d28df3 41 * @param size Size to read in bytes
fholin 0:2325d1d28df3 42 * @return 0 on success, negative error code on failure
fholin 0:2325d1d28df3 43 */
fholin 0:2325d1d28df3 44 int read(uint8_t *buffer, uint32_t addr, uint32_t size);
fholin 0:2325d1d28df3 45
fholin 0:2325d1d28df3 46
fholin 0:2325d1d28df3 47 /** Program data to flash
fholin 0:2325d1d28df3 48 * To be safer this function have to implement a read/check data sequence after programation
fholin 0:2325d1d28df3 49 *
fholin 0:2325d1d28df3 50 *
fholin 0:2325d1d28df3 51 * @param buffer Buffer of data to be written
fholin 0:2325d1d28df3 52 * @param addr Flash Address to begin writing to,
fholin 0:2325d1d28df3 53 * @param size Size to write in bytes,
fholin 0:2325d1d28df3 54 * @return 0 on success, negative error code on failure
fholin 0:2325d1d28df3 55 */
fholin 0:2325d1d28df3 56 int program(const void *buffer, uint32_t addr, uint32_t size);
fholin 0:2325d1d28df3 57
fholin 0:2325d1d28df3 58
fholin 0:2325d1d28df3 59 /** Erase sectors
fholin 0:2325d1d28df3 60 *
fholin 0:2325d1d28df3 61 * The state of an erased sector is undefined until it has been programmed
fholin 0:2325d1d28df3 62 *
fholin 0:2325d1d28df3 63 * @param addr Address of a sector to begin erasing,
fholin 0:2325d1d28df3 64 * @param size Size to erase in bytes,
fholin 0:2325d1d28df3 65 * @return 0 on success, negative error code on failure
fholin 0:2325d1d28df3 66 */
fholin 0:2325d1d28df3 67 int erase(uint32_t addr, uint32_t size);
fholin 0:2325d1d28df3 68
fholin 0:2325d1d28df3 69
fholin 0:2325d1d28df3 70 /** Get the flash start address
fholin 0:2325d1d28df3 71 *
fholin 0:2325d1d28df3 72 * @return Flash start address
fholin 0:2325d1d28df3 73 */
fholin 0:2325d1d28df3 74 uint32_t get_flash_start();
fholin 0:2325d1d28df3 75
fholin 0:2325d1d28df3 76
fholin 0:2325d1d28df3 77 /** Get the flash size
fholin 0:2325d1d28df3 78 *
fholin 0:2325d1d28df3 79 * @return Flash size
fholin 0:2325d1d28df3 80 */
fholin 0:2325d1d28df3 81 uint32_t get_flash_size();
fholin 0:2325d1d28df3 82 };
fholin 0:2325d1d28df3 83
fholin 0:2325d1d28df3 84 extern Flash gFlash;
fholin 0:2325d1d28df3 85 #endif