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