flexspi_nor_flash_erase_sector is not working.

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

flexspi_nor_flash_erase_sector is not working.

1,800件の閲覧回数
meeras
Contributor I

I am using MIMXrt1020 evk .I want to erase sector number 593. But whenever I enter in this instruction flexspi_nor_flash_erase_sector(EXAMPLE_FLEXSPI, 593 * SECTOR_SIZE); my controller goes into fault. Please suggest me the solution

0 件の賞賛
返信
3 返答(返信)

1,707件の閲覧回数
mjbcswitzerland
Specialist V

Hi

Have a go with this reference:
https://www.utasker.com/iMX/RT1020.html

It shows the board using its QSPI flash as parameter, file system and firmware upload storage.

In order to test your sector number 593 you can use the command line menu (on UART, USB or Telnet) as follows:

 Input/Output menu
===================
up             go to main menu
md             Memory Display [address] [<l>|<w>|<b>] [num]
mm             Memory Modify [address] [<l>|<w>|<b>] [val]
mf             Memory Fill [address] [<l>|<w>|<b>] [val] [num]
sd             Storage Display {as md}
sm             Storage Modify {as mm}
sf             Storage Fill {as mf}
se             Storage Erase [address] [len-hex]
sr             Status read
sw             Status write
set_ddr        Set port type [1..4] [<i>|<o>
get_ddr        Get data direction [1..4]
read_port      Read port input [1..4]
write_port     Set port output [1..4] [0/1]
out            output value [hex]
save           Save port setting as default
help           Display menu specific help
quit           Leave command mode

#sd 60251000 b 100
Memory Display
0x60251000     ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0x60251010     ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0x60251020     ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0x60251030     ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0x60251040     ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0x60251050     ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0x60251060     ff ff ff ff  ....

sm 60251000 b 55
Write - OK

sd 60251000 b 10
Memory Display
0x60251000     55 ff ff ff ff ff ff ff ff ff  U.........

#sf 60251001 b 77 17
Fill - OK


sd 60251000 b 30
Memory Display
0x60251000     55 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77  Uwwwwwwwwwwwwwww
0x60251010     77 77 ff ff ff ff ff ff ff ff ff ff ff ff  ..............

#se 60251000 1
Erased

sd 60251000 b 30
Memory Display
0x60251000     ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0x60251010     ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ..............


I am wondering whether your command should use
flexspi_nor_flash_erase_sector(EXAMPLE_FLEXSPI, (0x60000000 + (593 * SECTOR_SIZE)));
or whether your problem is that you have XIP code running in the spi flash device when you try to erase it, which would also fail.

Regards

Mark
[uTasker project developer for Kinetis and i.MX RT]

0 件の賞賛
返信

1,707件の閲覧回数
meeras
Contributor I

flexspi_nor_flash_erase_sector(EXAMPLE_FLEXSPI, 593* SECTOR_SIZE); I am using this instruction to erase flash as described in example code. But I don't know fault still occurs

0 件の賞賛
返信

1,707件の閲覧回数
victorjimenez
NXP TechSupport
NXP TechSupport

Hello, 

Could you please confirm that you are not running this code as XIP in the SPI flash? Keep in mind that you cannot erase the flash while running from it. 

Regards, 

Victor 

0 件の賞賛
返信