This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
dump_spi_flash [2021/04/15 11:11] – [interface] kingkevin | dump_spi_flash [2021/04/19 08:11] – [BX48] add database explorer kingkevin | ||
---|---|---|---|
Line 177: | Line 177: | ||
There I can save read/write the data content, and save/load it. | There I can save read/write the data content, and save/load it. | ||
- | To get the latest chip database (particularly if the Linux release it lagging), here how I update it: | + | To get the latest chip database (particularly if the Linux release it lagging), here how I update it ([[https:// |
< | < | ||
Line 236: | Line 236: | ||
This allows to customize the programmer to your needs and setup (regarding voltage level, clock speed, nRST pin of flash and MCU, ...). | This allows to customize the programmer to your needs and setup (regarding voltage level, clock speed, nRST pin of flash and MCU, ...). | ||
- | ===== electrical ===== | + | ===== electrical |
The most important part is using the right voltage so you don't damage the target chip or board. | The most important part is using the right voltage so you don't damage the target chip or board. | ||
Line 243: | Line 243: | ||
Connect the target voltage and your MCU voltage on each side, and the job is done. | Connect the target voltage and your MCU voltage on each side, and the job is done. | ||
- | ===== interface ===== | + | ===== data interface ===== |
The most common lines are the following: | The most common lines are the following: | ||
Line 262: | Line 262: | ||
* in theory the data lines need to be driven as push-pull, but you can also drive them as open-drain (allowing using level shifter as the BSS138-based ones). But be aware that the chip will drive DO (and other lines in dual/quad mode) as push-pull | * in theory the data lines need to be driven as push-pull, but you can also drive them as open-drain (allowing using level shifter as the BSS138-based ones). But be aware that the chip will drive DO (and other lines in dual/quad mode) as push-pull | ||
* each setup is different, and you have to find things out by yourself. Just don't forget to read the appropriate data sheet | * each setup is different, and you have to find things out by yourself. Just don't forget to read the appropriate data sheet | ||
+ | |||
+ | ===== instruction interface ===== | ||
+ | |||
+ | The instructions are sent in 8-bit packets, most significant bit first. | ||
+ | There are a couples of instructions common to most SPI flash chips, which allow you to perform basic operations: | ||
+ | |||
+ | * 0x9F, JEDEC ID: you will then read 3 bytes allowing you to identify the chip (manufacturer, | ||
+ | * 0x03, Read Data: followed by 3 bytes of data where you specify the start address of the data you want to read. After that you can read out as much data as you want |