add IAP sample project, mini program manual
see: doc/20.In_Application_Programming_based_EVB_MX_Plus.md
This commit is contained in:
@@ -1,14 +1,6 @@
|
||||
#include "tos_kv.h"
|
||||
#include "stm32l4xx.h"
|
||||
|
||||
#define ONCHIP_FLASH_ADDR_START 0x08000000 // start address for onchip flash for stm32l431RCTX
|
||||
#define ONCHIP_FLASH_ADDR_MAX 0x0803FFFF // 256K flash addr for stm32l431RCTX
|
||||
|
||||
#define SECTOR_SIZE 2048 // sector size for stm32l431RCTX
|
||||
#define SECTOR_SIZE_LOG2 11 // 2 ^ 11 = 2048
|
||||
|
||||
#define FOR_KV_FLASH_SIZE (2 * SECTOR_SIZE) // storage for kv
|
||||
#define FOR_KV_FLASH_START 0x803d000
|
||||
|
||||
int stm32l4_norflash_onchip_read(uint32_t addr, void *buf, size_t len)
|
||||
{
|
||||
@@ -63,16 +55,3 @@ int stm32l4_norflash_onchip_erase(uint32_t addr, size_t size)
|
||||
return 0;
|
||||
}
|
||||
|
||||
kv_flash_drv_t stm32l4_norflash_onchip_drv = {
|
||||
.write = stm32l4_norflash_onchip_write,
|
||||
.read = stm32l4_norflash_onchip_read,
|
||||
.erase = stm32l4_norflash_onchip_erase,
|
||||
};
|
||||
|
||||
kv_flash_prop_t stm32l4_norflash_onchip_prop = {
|
||||
.sector_size_log2 = SECTOR_SIZE_LOG2,
|
||||
.pgm_type = KV_FLASH_PROGRAM_TYPE_DOUBLEWORD,
|
||||
.flash_start = FOR_KV_FLASH_START,
|
||||
.flash_size = FOR_KV_FLASH_SIZE,
|
||||
};
|
||||
|
||||
|
@@ -0,0 +1,13 @@
|
||||
#ifndef __ONCHIP_FLASH_H__
|
||||
#define __ONCHIP_FLASH_H__
|
||||
|
||||
#include "stdint.h"
|
||||
|
||||
int stm32l4_norflash_onchip_read(uint32_t addr, void *buf, size_t len);
|
||||
|
||||
int stm32l4_norflash_onchip_write(uint32_t addr, const void *buf, size_t len);
|
||||
|
||||
int stm32l4_norflash_onchip_erase(uint32_t addr, size_t size);
|
||||
|
||||
#endif /* __ONCHIP_FLASH_H__ */
|
||||
|
@@ -0,0 +1,25 @@
|
||||
#include "tos_kv.h"
|
||||
#include "onchip_flash.h"
|
||||
|
||||
#define ONCHIP_FLASH_ADDR_START 0x08000000 // start address for onchip flash for stm32l431RCTX
|
||||
#define ONCHIP_FLASH_ADDR_MAX 0x0803FFFF // 256K flash addr for stm32l431RCTX
|
||||
|
||||
#define SECTOR_SIZE 2048 // sector size for stm32l431RCTX
|
||||
#define SECTOR_SIZE_LOG2 11 // 2 ^ 11 = 2048
|
||||
|
||||
#define FOR_KV_FLASH_SIZE (2 * SECTOR_SIZE) // storage for kv
|
||||
#define FOR_KV_FLASH_START 0x803d000
|
||||
|
||||
kv_flash_drv_t stm32l4_norflash_onchip_drv = {
|
||||
.write = stm32l4_norflash_onchip_write,
|
||||
.read = stm32l4_norflash_onchip_read,
|
||||
.erase = stm32l4_norflash_onchip_erase,
|
||||
};
|
||||
|
||||
kv_flash_prop_t stm32l4_norflash_onchip_prop = {
|
||||
.sector_size_log2 = SECTOR_SIZE_LOG2,
|
||||
.pgm_type = KV_FLASH_PROGRAM_TYPE_DOUBLEWORD,
|
||||
.flash_start = FOR_KV_FLASH_START,
|
||||
.flash_size = FOR_KV_FLASH_SIZE,
|
||||
};
|
||||
|
@@ -0,0 +1,25 @@
|
||||
#include "tos_ota_download.h"
|
||||
#include "onchip_flash.h"
|
||||
|
||||
#define ONCHIP_FLASH_ADDR_START 0x08000000 // start address for onchip flash for stm32l431RCTX
|
||||
#define ONCHIP_FLASH_ADDR_MAX 0x0803FFFF // 256K flash addr for stm32l431RCTX
|
||||
|
||||
#define SECTOR_SIZE 2048 // sector size for stm32l431RCTX
|
||||
#define SECTOR_SIZE_LOG2 11 // 2 ^ 11 = 2048
|
||||
|
||||
#define FOR_OTA_FLASH_SIZE (2 * SECTOR_SIZE) // storage for OTA
|
||||
#define FOR_OTA_FLASH_START 0x803d000
|
||||
|
||||
ota_flash_drv_t stm32l4_norflash_onchip_drv_ota = {
|
||||
.write = stm32l4_norflash_onchip_write,
|
||||
.read = stm32l4_norflash_onchip_read,
|
||||
.erase = stm32l4_norflash_onchip_erase,
|
||||
};
|
||||
|
||||
ota_flash_prop_t stm32l4_norflash_onchip_prop_ota = {
|
||||
.sector_size_log2 = SECTOR_SIZE_LOG2,
|
||||
.pgm_type = OTA_FLASH_PROGRAM_TYPE_DOUBLEWORD,
|
||||
.flash_start = FOR_OTA_FLASH_START,
|
||||
.flash_size = FOR_OTA_FLASH_SIZE,
|
||||
};
|
||||
|
Reference in New Issue
Block a user