19 Commits

Author SHA1 Message Date
daishengdong
427b13d14a bugfix for kv workspace locate
if only one fresh block left when kv_init, we should not just locate the workspace to this fresh one, otherwise we probably get a KV_ERR_NO_WRITEABLE_BLK in kv_init next time(if we write something to this workspace). We try a gc here to locate workspace to an inuse block rather than the fresh.
2021-09-06 13:06:31 +08:00
Supowang
99302c1512 Update tos_kv.c 2021-08-19 17:47:06 +08:00
Arthur
cb36ebae84 kv gc bugfix
if a power down or crash happened during gc process,  kv_init will fail with NO_WRITEABLE_BLOK next time.
2021-08-03 12:19:19 +08:00
Jimmy
2c7390deb3 qmk build system 2020-07-14 13:48:10 +08:00
daishengdong
c90e31d90f fix return code of tos_kv_has_key when sanity check failed 2020-06-18 21:02:00 +08:00
daishengdong
9bedf2ea80 fix a bug of memory leak of kv
in tos_kv_has_key, if an item is found, should kv_item_free it later.
2020-06-18 20:57:17 +08:00
daishengdong
0a2d5a4e90 support elfloader for shared object and relocatable object
1. elfloader for shared object
example: TencentOS-tiny\examples\elfloader_shared_object
keil: TencentOS-tiny\board\TencentOS_tiny_EVB_MX_Plus\KEIL\elfloader_shared_object

2. elfloader for relocatable object:
example: TencentOS-tiny\examples\elfloader_relocatable_object
keil: TencentOS-tiny\board\TencentOS_tiny_EVB_MX_Plus\KEIL\elfloader_relocatable_object

3. TODO:
- add icache/dcache flush when module is loaded
- support more relocation type in elfloader_arch_relocate
2020-06-09 19:30:38 +08:00
daishengdong
7f4b0b2582 add fatfs through vfs for EVB plus
1. see board\TencentOS_tiny_EVB_MX_Plus\KEIL\fatfs_through_vfs
2020-06-02 21:31:11 +08:00
daishengdong
b13634de77 fix sytick drift after tickless wakeup from sleep or stop
1. make port_systick_reload the same as port_systick_config
2020-04-28 16:23:57 +08:00
daishengdong
2e8c8c19e6 fix some calloc bug
1. some calloc fix
2. fix some document error
3. refactor kv API, to be compatible with ota API
2020-04-24 11:58:42 +08:00
David Lin
e807d7bd11 Update fatfs_drv.h
_TOS_FATFS_DRV_H_ -> _FATFS_DRV_H_
2020-04-17 18:20:35 +08:00
David Lin
febf1613c1 Update tos_ffconf.h 2020-04-17 18:11:29 +08:00
daishengdong
5c21ce702f add IAP sample project, mini program manual
see:
doc/20.In_Application_Programming_based_EVB_MX_Plus.md
2020-04-15 18:11:13 +08:00
daishengdong
441f57c837 fix "redefinition of typedef 'k_task_t'"
1. remove re-typedef of k_task_st to k_task_t in tos_task.h
2. add "typedef struct k_task_st k_task_t" to tos_ktypes.h
2020-03-12 11:04:17 +08:00
daishengdong
405e5d970a support stm8
1. see: TencentOS-tiny\board\STM8L052R8T6\IAR\hello_world
2. compile/debug/run with IAR for STM8
2020-02-15 16:39:00 +08:00
daishengdong
c9556307df add tos_slist.h, rename tos.h to tos_k.h 2020-01-03 17:25:38 +08:00
daishengdong
c4c60c3722 fix a bug
consider this situation: no more fresh block, meantime an item with such a big size come in, and currently no block inuse has sufficient space to save this item, the code will run into the modified line, and KV_MGR_WORKSPACE will be set to KV_BLK_INVALID. this will cause no matter what size of an item wanna come in again, kv_blk_search_suitable just return KV_BLK_INVALID because "if (KV_MGR_WORKSPACE == KV_BLK_INVALID)"  is true.
2019-12-20 11:20:30 +08:00
daishengdong
febcf10911 add kv fs component
1. a true wear-leveling kv fs for norflash, especially optimize for some onchip norflash with "write once on one single write unit" like stm32l4, a true "no earse before write" flash algorithm.
2. an "as less as possible" gc strategy, do best to save norflash's life.
3. full "power down protection" support
4. see "examples" of kv, project in "TencentOS_tiny_EVB_MX_Plus", with onchip flash and qspiflash sample.
2019-12-19 16:08:42 +08:00
supowang
edb2879617 first commit for opensource
first commit for opensource
2019-09-16 13:19:50 +08:00