|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
S29GL064N90TFI04:R4模式。
, w2 P/ ?) X0 A j在ARM下写入读取ID命令,代码如下:, _" W9 v2 m5 J1 l$ u* b# T
volatile unsigned short *baseAddress = (volatile unsigned short *) pFlash->pFlashInfo->baseAddress;
- ]. a1 h6 M+ R4 v0 ]! s. F8 @ unsigned int id;
. T7 \* N: D! P3 h$ O
1 ~' K9 C4 n9 u //* Enter Software Product Identification Mode( |6 [& z; ~3 b; a Y3 j! A5 a
*(baseAddress + FLASH_SEQ_ADD1) = FLASH_CODE1;5 p ^& d+ n; T
*(baseAddress + FLASH_SEQ_ADD2) = FLASH_CODE2;
) |/ n5 P1 D: ] q2 z Q) E6 K: L7 K *(baseAddress + FLASH_SEQ_ADD1) = ID_IN_CODE;8 z) T" O$ ~6 _/ O) T; J( |! R5 q
7 d; O1 g, _. C1 g& T
//* Read Manufacturer and device code from the device: r2 J H9 N H& R5 g
id = (short) *baseAddress;# D5 T% I) E" {+ w9 C
id |= *(baseAddress+1) << 16;2 S$ W5 a- W! m& }# j0 b; F
4 V7 j( F% ]! H$ P/ f //* Exit Software Product Identification Mode$ ` S5 Z, L/ @0 H9 K7 q0 P
*(baseAddress + FLASH_SEQ_ADD1) = ID_OUT_CODE;
' p& {, v+ Q; v; n return id;) q; ^6 p3 D3 y K" a
8 x) j2 Q: P5 d+ M( p8 S1 X+ ~baseAddress 为0x10000000,ARM片选NCS0.
1 I7 C) [5 C( d3 O2 n2 m结果读出来的id是0x00900090,单步显示:每写入一条命令指令,通过AXD读出来的Flash的内容都随着指令码而改变,譬如写入FLASH_CODE1,Flash内容随之变成0x55,FLASH_CODE2变成0xAA,ID_IN_CODE变成0x0090,故最后读取的id为0x00900090.不知何解啊?有没有高手解答解答的?非常感谢了。
' Z9 L! W( Q% o! I* }. u* V& _ Z3 x8 p T: m" j1 D* a
另:FLASH_SEQ_ADD1为0x555,FLASH_SEQ_ADD2为0x2AA。 |
|