|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
S29GL064N90TFI04:R4模式。3 O# x2 e' P0 K
在ARM下写入读取ID命令,代码如下:. y, Z* R, M' p3 X3 @: `
volatile unsigned short *baseAddress = (volatile unsigned short *) pFlash->pFlashInfo->baseAddress;
' o1 a& O" M, L, I. n5 t4 T unsigned int id;
- E) V3 m4 H, n; u) T6 ~. Q$ |! B# ]' V; r' g3 J/ C
//* Enter Software Product Identification Mode
! F+ s# }- ~3 _0 n9 O# f/ X6 B% p2 B *(baseAddress + FLASH_SEQ_ADD1) = FLASH_CODE1;$ V: D0 C4 q8 P0 S' J
*(baseAddress + FLASH_SEQ_ADD2) = FLASH_CODE2;2 ^% |% v; q( d
*(baseAddress + FLASH_SEQ_ADD1) = ID_IN_CODE;3 B- V$ M* T( O+ _. _
5 I$ V; N* j. B2 X1 x( }% R //* Read Manufacturer and device code from the device6 @, F3 [2 u+ i8 N2 q
id = (short) *baseAddress;
1 j. L" x5 T V; V0 w id |= *(baseAddress+1) << 16;% r& [$ i/ b. F* N8 A
" r; a/ ^* \: ]. H //* Exit Software Product Identification Mode! h: Q/ g, G5 N7 ~( D
*(baseAddress + FLASH_SEQ_ADD1) = ID_OUT_CODE;
9 q; W! h1 _3 h5 A" O8 y return id;; r* {; C" e) I5 v$ g
1 Z* s0 V$ s6 _0 }5 a1 x
baseAddress 为0x10000000,ARM片选NCS0.
* {4 E2 s( F) _; [, u# [结果读出来的id是0x00900090,单步显示:每写入一条命令指令,通过AXD读出来的Flash的内容都随着指令码而改变,譬如写入FLASH_CODE1,Flash内容随之变成0x55,FLASH_CODE2变成0xAA,ID_IN_CODE变成0x0090,故最后读取的id为0x00900090.不知何解啊?有没有高手解答解答的?非常感谢了。
4 |0 r/ ~6 @+ w) }- j
, z' o- i5 f6 q7 g. Z另:FLASH_SEQ_ADD1为0x555,FLASH_SEQ_ADD2为0x2AA。 |
|