esp32 i2c interrupt problem
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Čtvrtek Listopad 11 17:54:29 CET 2021
Problem vznika pri zapisu FLASH, spadne to.
Problem je zda se v tom, ze ISR si chce skocit z IRAM do XIP FLASH.
kod vypada takto:
static inline void i2c_ll_update(i2c_dev_t *hw)
{
;// ESP32 do not support
}
void i2c_hal_update_config(i2c_hal_context_t *hal)
{
i2c_ll_update(hal->dev);
}
static void IRAM_ATTR i2c_master_cmd_begin_static(i2c_port_t i2c_num)
{
....
i2c_hal_update_config(&(i2c_context[i2c_num].hal)); // tady to
skoci do XIP FLASH a vyvola panic
i2c_hal_trans_start(&(i2c_context[i2c_num].hal));
return;
}
Pomuze zda se volani i2c_hal_update_config vyhodit, stejne nic nedela,
asi by pomohlo i zapnout optimalizaci?
To je teda BUG jak prase...
Další informace o konferenci Hw-list