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
|
||||
// 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 __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 (*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'));
|
||||
|
@ -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);
|
||||
|
||||
/*! \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
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user