@@ -41,7 +41,9 @@ static uint8_t generic_buf[BUF_LEN];
4141static uint8_t read_buf [TESTBUF_SIZE ];
4242const static uint8_t write_buf [TESTBUF_SIZE ] = {[0 ... TESTBUF_SIZE - 1 ] = 0xaa };
4343static uint8_t written_pattern [TESTBUF_SIZE ] = {[0 ... TESTBUF_SIZE - 1 ] = 0xaa };
44+ #if defined(CONFIG_FLASH_HAS_EXPLICIT_ERASE )
4445static uint8_t erased_pattern [TESTBUF_SIZE ] = {[0 ... TESTBUF_SIZE - 1 ] = 0xff };
46+ #endif
4547
4648#define VERIFY_BUF (start , size , buf ) \
4749do { \
@@ -51,7 +53,11 @@ do { \
5153} while (0)
5254
5355#define VERIFY_WRITTEN (start , size ) VERIFY_BUF(start, size, written_pattern)
56+ #if defined(CONFIG_FLASH_HAS_EXPLICIT_ERASE )
5457#define VERIFY_ERASED (start , size ) VERIFY_BUF(start, size, erased_pattern)
58+ #else
59+ #define VERIFY_ERASED (start , size )
60+ #endif
5561
5662int stream_flash_callback (uint8_t * buf , size_t len , size_t offset )
5763{
@@ -66,14 +72,23 @@ int stream_flash_callback(uint8_t *buf, size_t len, size_t offset)
6672
6773static void erase_flash (void )
6874{
75+ #if IS_ENABLED (CONFIG_FLASH_HAS_EXPLICIT_ERASE )
6976 int rc ;
77+ #if IS_ENABLED (CONFIG_FLASH_HAS_NO_EXPLICIT_ERASE )
78+ const struct flash_parameters * fparam = flash_get_parameters (fdev );
79+
80+ if (!(flash_params_get_erase_cap (fparam ) & FLASH_ERASE_C_EXPLICIT )) {
81+ return ;
82+ }
83+ #endif
7084
7185 for (int i = 0 ; i < MAX_NUM_PAGES ; i ++ ) {
7286 rc = flash_erase (fdev ,
7387 FLASH_BASE + (i * layout -> pages_size ),
7488 layout -> pages_size );
7589 zassert_equal (rc , 0 , "should succeed" );
7690 }
91+ #endif
7792}
7893
7994
@@ -588,7 +603,7 @@ ZTEST(lib_stream_flash, test_stream_flash_progress_resume)
588603 bytes_written = load_progress (progress_key );
589604 zassert_equal (bytes_written , bytes_written_old ,
590605 "expected bytes_written to be loaded" );
591- #ifdef CONFIG_STREAM_FLASH_ERASE
606+ #if defined( CONFIG_STREAM_FLASH_ERASE )
592607 zassert_equal (erase_offset_old , ctx .last_erased_page_start_offset ,
593608 "expected last erased page offset to be loaded" );
594609#endif
0 commit comments