/******************************* mspi registers: 0x0c ******************************/
#define reg_mspi_data REG_ADDR8(0x0c)
#define reg_mspi_ctrl REG_ADDR8(0x0d)
enum{
FLD_MSPI_CS = BIT(0),
FLD_MSPI_SDO = BIT(1),
FLD_MSPI_CONT = BIT(2),
FLD_MSPI_RD = BIT(3),
FLD_MSPI_BUSY = BIT(4),
};
/**
* @brief This function serves to flash release protection.
* @param[in] type - flash type include Puya.
* @return none.
*/
_attribute_ram_code_sec_noinline_ void flash_unlock_ram(flash_type_e type)
{
unsigned int r=plic_enter_critical_sec(s_flash_preempt_config.preempt_en,s_flash_preempt_config.threshold);
mspi_stop_xip();
flash_send_cmd(FLASH_WRITE_ENABLE_CMD);
flash_send_cmd(FLASH_WRITE_STATUS_CMD);
if(type == FLASH_TYPE_PUYA)
{
mspi_write(0);
mspi_wait();
mspi_write(0);//16bit status
}
mspi_wait();
mspi_high();
flash_wait_done();
mspi_high();
CLOCK_DLY_5_CYC;
plic_exit_critical_sec(s_flash_preempt_config.preempt_en,r);
}
В какой документации почитать про это?При старте SWS программатора питание Flash может быть вообще отключено, так как подключение произошло после её отключения для режима sleep.
Или, если CPU работает, и вы его не остановили по SWS, то он одновременно с вашим кодом может работать с SPI для Flash и вы получите бардак. Так-же получите бардак, т.к. не отключили XIP и собьете работу CPU…
Или CPU установил другие режимы котроллера SPI Flash…
Все биты и адреса управления SWire опиcаны.Telink не STM. Вот это всё, что есть в документации к чипу по Swire:
Поэтому и вопросы.
Как работать с Flash даны исходные коды в SDK, с описанием всех битов регистров, адресов и алгоритмов.В какой документации почитать про это?
Поясню.В какой документации почитать про это?
Но это будет только информация о SWire (которая и так уже доступна всем).Поясню.
чтобы получить доступ к полной документации TeLink надо подписать с ними соглашение.
Обычно это соглашение подписывают юр лица.
Когда-то давно, они согласились подписать его со мной.
Но соглашение запрещает публично выкладывать документацию либо сведения из нее, поэтому подписывать не стал.
Можете попробовать договориться с ними и получить полную документацию