stm: add pyb.sd_test; flash cache flushed only via MSD.

This commit is contained in:
Damien 2013-12-20 11:45:06 +00:00
parent a3dcd9e80c
commit b73085d288
3 changed files with 9 additions and 1 deletions

View File

@ -309,6 +309,7 @@ int8_t STORAGE_Write (uint8_t lun,
#endif #endif
*/ */
disk_write(0, buf, blk_addr, blk_len); disk_write(0, buf, blk_addr, blk_len);
storage_flush(); // XXX hack for now so that the cache is always flushed
return (0); return (0);
} }

View File

@ -367,6 +367,13 @@ static py_obj_t pyb_info(void) {
return py_const_none; return py_const_none;
} }
// SD card test
static py_obj_t pyb_sd_test(void) {
extern void sdio_init(void);
sdio_init();
return py_const_none;
}
static void SYSCLKConfig_STOP(void) { static void SYSCLKConfig_STOP(void) {
/* After wake-up from STOP reconfigure the system clock */ /* After wake-up from STOP reconfigure the system clock */
/* Enable HSE */ /* Enable HSE */
@ -1010,6 +1017,7 @@ soft_reset:
py_obj_t m = py_module_new(); py_obj_t m = py_module_new();
rt_store_attr(m, qstr_from_str_static("info"), rt_make_function_0(pyb_info)); rt_store_attr(m, qstr_from_str_static("info"), rt_make_function_0(pyb_info));
rt_store_attr(m, qstr_from_str_static("sd_test"), rt_make_function_0(pyb_sd_test));
rt_store_attr(m, qstr_from_str_static("stop"), rt_make_function_0(pyb_stop)); rt_store_attr(m, qstr_from_str_static("stop"), rt_make_function_0(pyb_stop));
rt_store_attr(m, qstr_from_str_static("standby"), rt_make_function_0(pyb_standby)); rt_store_attr(m, qstr_from_str_static("standby"), rt_make_function_0(pyb_standby));
rt_store_attr(m, qstr_from_str_static("source_dir"), rt_make_function_1(pyb_source_dir)); rt_store_attr(m, qstr_from_str_static("source_dir"), rt_make_function_1(pyb_source_dir));

View File

@ -152,7 +152,6 @@ bool storage_write_block(const uint8_t *src, uint32_t block) {
uint8_t *dest = cache_get_addr_for_write(flash_addr); uint8_t *dest = cache_get_addr_for_write(flash_addr);
memcpy(dest, src, BLOCK_SIZE); memcpy(dest, src, BLOCK_SIZE);
sys_tick_counter_last_write = sys_tick_counter; sys_tick_counter_last_write = sys_tick_counter;
cache_flush(); // XXX hack for now so that the cache is always flushed
return true; return true;
} else { } else {