From 1afa1cfc136ad45b36e093dcfe9d3380c46eab9e Mon Sep 17 00:00:00 2001 From: spam-receiver <48826370+spam-receiver@users.noreply.github.com> Date: Wed, 17 Jul 2024 00:31:34 +0300 Subject: [PATCH] Update mik32_spifi.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Переключаем флеш-память из QPI в SPI режим перед прошивкой. --- mik32_spifi.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mik32_spifi.py b/mik32_spifi.py index 48647e4..425329a 100644 --- a/mik32_spifi.py +++ b/mik32_spifi.py @@ -146,6 +146,8 @@ SECTOR_ERASE_COMMAND = 0x20 WRITE_ENABLE_COMMAND = 0x06 WRITE_DISABLE_COMMAND = 0x04 +DISABLE_QPI_COMMAND = 0xFF + MEM_CONFIG_COMMAND = 0x61 MEM_CONFIG_VALUE = 0x7F @@ -373,6 +375,12 @@ def spifi_wait_busy(openocd: OpenOcdTclRpc): break +def spifi_chip_disable_qpi(openocd: OpenOcdTclRpc): + #print("Sending 'Disable QPI' command to external flash chip in QPI mode.", flush=True) + spifi_send_command(openocd, DISABLE_QPI_COMMAND, + SPIFI_Frameform.OPCODE_NOADDR, SPIFI_Fieldform.ALL_PARALLEL) + + def spifi_chip_erase(openocd: OpenOcdTclRpc): print("Chip erase...", flush=True) spifi_send_command(openocd, CHIP_ERASE_COMMAND, @@ -615,6 +623,9 @@ def write_pages(pages: Dict[int, List[int]], openocd: OpenOcdTclRpc, use_quad_sp openocd.halt() spifi_init(openocd) + + # Выводим микросхему из режима QPI, так как SPIFI здесь будет работать в режиме SPI. + spifi_chip_disable_qpi(openocd) JEDEC_ID = spifi_send_command(openocd, 0x9F, SPIFI_Frameform.OPCODE_NOADDR, SPIFI_Fieldform.ALL_SERIAL, 3)