<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nrfjprog can&amp;#39;t read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/35428/nrfjprog-can-t-read-write-erase-correctly-nrf52840-mx25r6435f-qspi</link><description>Greetings! 
 Using the NRF52840 PDK, I succesfully erase, write and read without any modifications! 
 I have custom boards which involved a NRF52840 and a MX25R6435F (so same setup as the PDK), I just made modifications on the QspiDefault.ini since my</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 03 Aug 2021 09:31:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/35428/nrfjprog-can-t-read-write-erase-correctly-nrf52840-mx25r6435f-qspi" /><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/323038?ContentTypeID=1</link><pubDate>Tue, 03 Aug 2021 09:31:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c067881e-6c54-44f0-8a06-86c6ec429eae</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;I would recommend you to post a new ticket where you describe your exact setup and issue, instead of resurrecting this 3 year old resolved ticket. You can reference this ticket and say you have a similar issue, but if the solution described here is not working for you, the issue is most likely not exactly the same.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/322939?ContentTypeID=1</link><pubDate>Mon, 02 Aug 2021 15:43:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5ffd8ce8-3ad9-45c7-aa82-7ee254424d02</guid><dc:creator>cyril.fougeray</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Sorry but AlexisS doesn&amp;#39;t have an account anymore on the forum. I am the one receiving the notifications from his account&amp;nbsp;and I don&amp;#39;t&amp;nbsp;know how I can help you with that issue.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Best&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/179076?ContentTypeID=1</link><pubDate>Thu, 28 Mar 2019 22:27:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee23caf3-dea9-4784-af35-9521d0249121</guid><dc:creator>abhipray</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/alexiss"&gt;alexisS&lt;/a&gt;&amp;nbsp;I&amp;nbsp;have an identical situation here. On our custom board we have&amp;nbsp;&lt;span&gt;MX25R6435F connected on different pins to nrf52840. We are able to read the manufacturer and device ID ok using the appropriate custom instruction via the firmware but can&amp;#39;t read/write/erase. Using nrfjprog, everytime we run --qspieraseall, the Erase command seems to execute almost immediately (as opposed to minutes for the PDK); a subsequent --readqspi simply dumps 0x888.... Can you explain exactly how you fixed this problem?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/136922?ContentTypeID=1</link><pubDate>Wed, 20 Jun 2018 13:17:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e32356ff-19dc-4dba-b34e-4e3d0a9fc52a</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Great, thank you for reporting back the solution.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/136918?ContentTypeID=1</link><pubDate>Wed, 20 Jun 2018 13:15:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73204f0c-649c-4365-8940-d7e81abe3e3c</guid><dc:creator>alexisS</dc:creator><description>&lt;p&gt;Well removing extra wires to the logic analyser solved the problem...&lt;/p&gt;
&lt;p&gt;Thanks for your time.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/136914?ContentTypeID=1</link><pubDate>Wed, 20 Jun 2018 13:09:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a8e7e2ac-fb04-4af0-9450-35f0ec5d6927</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Can you provide schematics of your board? Are you running any applications on the board, or did you erase it prior to writing QSPI? Is the CSN pin shown in your images? Could you please mark the pins on the image? Do you have similar logic traces for the DK where the communication works?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/136402?ContentTypeID=1</link><pubDate>Fri, 15 Jun 2018 14:44:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8560e65-3511-443f-bf79-b7bae86bcdcf</guid><dc:creator>alexisS</dc:creator><description>&lt;p&gt;of course; like I said previously it&amp;#39;s the default one with just some pin changing to match my design&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;; nrfjprog.exe configuration file.

[DEFAULT_CONFIGURATION]
; Define the capacity of the flash memory device in bytes. Set to 0 if no external memory device is present in your board.
MemSize = 0x800000

; Define the desired ReadMode. Valid options are FASTREAD, READ2O, READ2IO, READ4O and READ4IO
ReadMode = READ4IO

; Define the desired WriteMode. Valid options are PP, PP2O, PP4O and PP4IO
WriteMode = PP4IO

; Define the desired AddressMode. Valid options are BIT24 and BIT32
AddressMode = BIT24

; Define the desired Frequency. Valid options are M2, M4, M8, M16 and M32
Frequency = M8

; Define the desired SPI mode. Valid options are MODE0 and MODE3
SpiMode = MODE0

; Define the desired SckDelay. Valid options are in the range 0 to 255
SckDelay = 0x80

; Define the desired IO level for DIO2 and DIO3 during a custom instruction. Valid options are LEVEL_HIGH and LEVEL_LOW
CustomInstructionIO2Level = LEVEL_LOW
CustomInstructionIO3Level = LEVEL_HIGH

; Define the assigned pins for the QSPI peripheral. Valid options are those existing in your device
CSNPin = 24
CSNPort = 0
SCKPin = 19
SCKPort = 0
DIO0Pin = 21
DIO0Port = 0
DIO1Pin = 23
DIO1Port = 0
DIO2Pin = 22
DIO2Port = 0
DIO3Pin = 17
DIO3Port = 0

; Define the Index of the Write In Progress (WIP) bit in the status register. Valid options are in the range of 0 to 7.
WIPIndex = 0

; Define page size for commands. Valid sizes are PAGE256 and PAGE512.
PPSize = PAGE256

; Custom instructions to send to the external memory after initialization. Only used if --qspicustominit option is given in the call to nrfjprog. Format is
; instruction code plus data to send in between optional brakets. Numbers can be given in decimal, hex (starting with either 0x or 0X) and binary (starting
; with either 0b or 0B) formats. The custom instructions will be executed in the order found.
; This example includes two commands, first a WREN (WRite ENable) and then a WRSR (WRite Satus Register) enabling the Quad Operation and the High Performance
; mode for the MX25R6435F memory present in the nRF52840 DK.
InitializationCustomInstruction =  0x06
InitializationCustomInstruction =  0x01, [0x40, 0, 0x2]&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/136401?ContentTypeID=1</link><pubDate>Fri, 15 Jun 2018 14:38:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5232aea3-f73f-44f5-b172-4cd4deb871ae</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Can you post the&amp;nbsp;QspiDefault.ini file that you used?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/136400?ContentTypeID=1</link><pubDate>Fri, 15 Jun 2018 14:36:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0070d54e-81e8-46d9-a902-5f1b73c63df4</guid><dc:creator>alexisS</dc:creator><description>&lt;p&gt;Thanks for your reply,&lt;/p&gt;
&lt;p&gt;Yes I can program the board, moreover I have a working QSPI driver (so the connection isn&amp;#39;t involved)&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s in the log file for nrfjprog --memrd 0x12000000 --log&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;--------------------------------------------------------------------------------
nrfjprog --memrd 0x12000000 --log
nrfjprog verion 9.7.2
--------------------------------------------------------------------------------
FUNCTION: open_dll.
FUNCTION: open_dll.
FUNCTION: enum_emu_snr.
FUNCTION: enum_emu_snr.
FUNCTION: enum_emu_snr.
FUNCTION: enum_emu_snr.
FUNCTION: connect_to_emu_with_snr.
FUNCTION: connect_to_emu_with_snr.
FUNCTION: connect_to_emu_without_snr.
FUNCTION: enum_emu_snr.
Device &amp;quot;NRF52832_XXAA&amp;quot; selected.
FUNCTION: read_device_version.
FUNCTION: read_device_version.
Found SW-DP with ID 0x2BA01477
Found SW-DP with ID 0x2BA01477
Scanning AP map to find all available APs
AP[2]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x24770011)
AP[1]: JTAG-AP (IDR: 0x02880000)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Found Cortex-M4 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
FUNCTION: qspi_init.
FUNCTION: qspi_init.
FUNCTION: qspi_read.
FUNCTION: qspi_read.
FUNCTION: qspi_uninit.
FUNCTION: qspi_uninit.
FUNCTION: close_dll.
FUNCTION: close_dll.&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I got the same log when I&amp;#39;m using the PDK (which give me correct read value)&lt;/p&gt;
&lt;p&gt;Best regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog can't read/write/erase correctly nrf52840 MX25R6435F QSPI</title><link>https://devzone.nordicsemi.com/thread/136359?ContentTypeID=1</link><pubDate>Fri, 15 Jun 2018 12:23:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9800ae6b-c46e-4d9d-994b-083bf71a6a8c</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Are you able to program the board using nrfjprog?&lt;/p&gt;
&lt;p&gt;Could you provide the log file from nrfjprog (add the parameter &lt;code&gt;--log&lt;/code&gt; and provide file log.log)? Please also upload scematics for your board.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>