對於標準(串行)norflash
只需想想非常簡單的內容,例如語言數據:在“非常小”的嵌入式設備上(不是“大”,例如嵌入式Linux,但可以用小電池運行多年):通常是在“代碼中的某個地方”集成的。
很難改變!但是,如果語言數據在文件中,則更改很容易。對於圖形,設置,所有內容……甚至允許從許多不同來源更改嵌入式設備上的固件!
想想嵌入式設備,甚至可以自己獲取最新的固件!例如,通過wifi,移動互聯網,藍牙,UART,無線電鏈接,…
突然所有選項都打開了!而且,如果您對安全性有疑問:不用擔心:問題已經解決,正如您稍後會看到的。
到目前為止,“非常小的設備”的主要問題是“文件系統”:每個人都知道“ fat”,“ ntfs”,……但是您是否曾經想過一個小芯片上的文件系統?甚至在CPU內部?沒問題,使用正確的軟件。這就是為什麼我寫信
“ JESFS - JO的嵌入式序列文件系統”

[圖片:2x3毫米的4MB JESF]
我的日常工作是物聯網。因為我沒有找到任何真正實用的解決方案,所以我決定創建自己的解決方案。我的設計限制是“魯棒性”,“安全性”和“小足跡”。
JESFS設計用於在“現實世界”中使用,並與NRF52840-DK,NRF52832和CC13XX/CC26XX啟動板一起使用,用於標準的串行Nor-Flash記憶,例如M25R系列(M25R系列),最多可獲得16 MB,甚至更多…
關於JESF的一些基礎知識:
int16_t fs_open(FS_DESC *pdesc, char* pname, uint8_t flags);
int32_t fs_read(FS_DESC *pdesc, uint8_t *pdest, uint32_t anz);
int16_t fs_write(FS_DESC *pdesc, uint8_t *pdata, uint32_t len);
int16_t fs_close(FS_DESC *pdesc);
int16_t fs_delete(FS_DESC *pdesc);
int16_t fs_rewind(FS_DESC *pdesc);
int16_t fs_rename(FS_DESC *pd_odesc, FS_DESC *pd_ndesc);
uint32_t fs_get_crc32(FS_DESC *pdesc);
int16_t fs_check_disk(void cb_printf(char *fmt, ...), uint8_t *pline, uint32_t line_size);
int16_t fs_format(uint32_t f_id);
int16_t fs_start(uint8_t mode);
void fs_deepsleep(void);
int16_t fs_info(FS_STAT *pstat, uint16_t fno);
void fs_sec1970_to_date(uint32_t asecs, FS_DATE *pd);
許多技術設備可靠多年可靠,沒有人關心它們。但是,如果他們失敗了,總會有一個問題:出了什麼問題?
這就是JESF可能變得非常有用的地方。
閱讀更多:blackbox_eval.pdf
寬電壓範圍(1.6V-3.6V)和超低功率備用:



用SES(v6.22a( ))和SDK 17.1.0( :SES的後期版本需要更改的項目設置!!!)
設置宏$ sdk_root在ses->>工具 - >選項 - > building:eg:“ global macros”:“ sdk_root = c: nordic nrf5_sdk_17.1.1.1.0_dddde560”
用I/O-Pins設置平台宏(請參閱tb_tools.h)
可選地解決NRF_CLOCK()(請參閱docu tb_tools_nrf52.c/.h)