Make flash_do_cmd public (#269)
* Make flash_do_cmd public * Fix typo in comment
This commit is contained in:
parent
f69f513a29
commit
814d2bd855
@ -123,9 +123,7 @@ static void __no_inline_not_in_flash_func(flash_cs_force)(bool high) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// May want to expose this at some point but this is unlikely to be the right
|
void __no_inline_not_in_flash_func(flash_do_cmd)(const uint8_t *txbuf, uint8_t *rxbuf, size_t count) {
|
||||||
// interface to do so. Keep it static
|
|
||||||
static void __no_inline_not_in_flash_func(flash_do_cmd)(const uint8_t *txbuf, uint8_t *rxbuf, size_t count) {
|
|
||||||
void (*connect_internal_flash)(void) = (void(*)(void))rom_func_lookup(rom_table_code('I', 'F'));
|
void (*connect_internal_flash)(void) = (void(*)(void))rom_func_lookup(rom_table_code('I', 'F'));
|
||||||
void (*flash_exit_xip)(void) = (void(*)(void))rom_func_lookup(rom_table_code('E', 'X'));
|
void (*flash_exit_xip)(void) = (void(*)(void))rom_func_lookup(rom_table_code('E', 'X'));
|
||||||
void (*flash_flush_cache)(void) = (void(*)(void))rom_func_lookup(rom_table_code('F', 'C'));
|
void (*flash_flush_cache)(void) = (void(*)(void))rom_func_lookup(rom_table_code('F', 'C'));
|
||||||
|
@ -80,6 +80,22 @@ void flash_range_program(uint32_t flash_offs, const uint8_t *data, size_t count)
|
|||||||
*/
|
*/
|
||||||
void flash_get_unique_id(uint8_t *id_out);
|
void flash_get_unique_id(uint8_t *id_out);
|
||||||
|
|
||||||
|
/*! \brief Execute bidirectional flash command
|
||||||
|
* \ingroup hardware_flash
|
||||||
|
*
|
||||||
|
* Execute a bidirectional command to the flash. Bytes are simultaneously
|
||||||
|
* transmitted and received. Therefore, both buffers must be the same length,
|
||||||
|
* count, which is the length of the overall transaction. This is useful for
|
||||||
|
* reading metadata from the flash chip. Do *NOT* use it to mutate the data
|
||||||
|
* stored on the flash because it will not flush the cache.
|
||||||
|
*
|
||||||
|
* \param txbuf Pointer to a byte buffer which will be transmitted to the flash
|
||||||
|
* \param rxbuf Pointer to a byte buffer where data received from the flash will be written
|
||||||
|
* \param count Length in bytes of txbuf and of rxbuf
|
||||||
|
*/
|
||||||
|
void flash_do_cmd(const uint8_t *txbuf, uint8_t *rxbuf, size_t count);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user