EDA365电子工程师网
标题:
请教高手:关于NorFlash-S29GL064的操作问题
[打印本页]
作者:
wengang2001
时间:
2011-5-27 09:28
标题:
请教高手:关于NorFlash-S29GL064的操作问题
S29GL064N90TFI04:R4模式。
& _, H# r' L; s4 M5 ?
在ARM下写入读取ID命令,代码如下:
' Y% z" G; i2 z9 r- C1 Q, H* U
volatile unsigned short *baseAddress = (volatile unsigned short *) pFlash->pFlashInfo->baseAddress;
1 `7 {2 T1 O; t3 C" i
unsigned int id;
1 H% r3 \+ D, \4 C
" y3 O' n7 m [7 ?; q3 f( S
//* Enter Software Product Identification Mode
9 l2 O: ?9 A& Z# l, U
*(baseAddress + FLASH_SEQ_ADD1) = FLASH_CODE1;
z4 H* F$ C- L) E2 q0 i+ K
*(baseAddress + FLASH_SEQ_ADD2) = FLASH_CODE2;
$ [0 d) T6 ~5 }
*(baseAddress + FLASH_SEQ_ADD1) = ID_IN_CODE;
9 a8 R0 _. I% M. k( s. d
9 M6 a8 R! C& o7 [
//* Read Manufacturer and device code from the device
2 c- Z O' U; y% n; f, q7 A
id = (short) *baseAddress;
% ]2 B+ h9 }; [0 p. n/ `
id |= *(baseAddress+1) << 16;
6 w% @8 _% A9 k0 E
5 c1 l3 w& B8 f: i
//* Exit Software Product Identification Mode
; \ X5 }# n# g- g
*(baseAddress + FLASH_SEQ_ADD1) = ID_OUT_CODE;
6 N1 E* `9 d! O! j$ ? F( F6 R+ |% V! p
return id;
$ u4 ?3 K, Z3 j
. d1 T/ {* | Y; P& Z
baseAddress 为0x10000000,ARM片选NCS0.
8 n. t) d8 I5 _- s. `
结果读出来的id是0x00900090,单步显示:每写入一条命令指令,通过AXD读出来的Flash的内容都随着指令码而改变,譬如写入FLASH_CODE1,Flash内容随之变成0x55,FLASH_CODE2变成0xAA,ID_IN_CODE变成0x0090,故最后读取的id为0x00900090.不知何解啊?有没有高手解答解答的?非常感谢了。
$ O& l- `: f$ D( c; G: N+ R" _
& U+ U. y& g9 d/ N% ^
另:FLASH_SEQ_ADD1为0x555,FLASH_SEQ_ADD2为0x2AA。
作者:
wengang2001
时间:
2011-5-27 16:58
自己顶一个,有没有高手帮忙解答解答 啊。
作者:
wengang2001
时间:
2011-6-1 09:21
从内部ROM启动的话,上面的程序可以读出Flash的ID,说明读取ID的程序是没有问题的。问题出在ARM的初始化上。高手们解答解答啊:这款Flash在初始化的时候要注意什么哈?
欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/)
Powered by Discuz! X3.2