|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
S29GL064N90TFI04:R4模式。
[2 Y% f. w* q: D9 v& b; v, o在ARM下写入读取ID命令,代码如下:
: D3 C! l1 `' F5 U+ j0 yvolatile unsigned short *baseAddress = (volatile unsigned short *) pFlash->pFlashInfo->baseAddress;: h. }& q$ D8 X2 X
unsigned int id;7 m' B$ K4 p( q7 `8 y
, B& e# J# H' A9 S
//* Enter Software Product Identification Mode
3 ^. t$ u( {' n$ o3 ^ *(baseAddress + FLASH_SEQ_ADD1) = FLASH_CODE1;
" v' E( m8 ?$ ]2 V5 X1 U *(baseAddress + FLASH_SEQ_ADD2) = FLASH_CODE2;
1 E: D7 ^" k6 t3 Z *(baseAddress + FLASH_SEQ_ADD1) = ID_IN_CODE;, v P: `) l, X q( Q9 t
" P7 X* q# U, d2 c b4 I
//* Read Manufacturer and device code from the device$ L# F* W/ v- u; K2 _4 t
id = (short) *baseAddress;
A& G2 F6 I) F, ]$ h/ h! N id |= *(baseAddress+1) << 16;
' c, c' x+ [0 Q/ p. g
5 G8 x' T, T- L5 q3 R //* Exit Software Product Identification Mode) F! A* @8 l+ E0 A/ a
*(baseAddress + FLASH_SEQ_ADD1) = ID_OUT_CODE;4 ^& a7 T7 x1 C" W6 u
return id;
}+ v- Y1 l# J5 \" P( a: @& t) e! ~# r u B; E% X
baseAddress 为0x10000000,ARM片选NCS0.
* f# z( ]2 ]" X# X3 `6 f9 D/ i结果读出来的id是0x00900090,单步显示:每写入一条命令指令,通过AXD读出来的Flash的内容都随着指令码而改变,譬如写入FLASH_CODE1,Flash内容随之变成0x55,FLASH_CODE2变成0xAA,ID_IN_CODE变成0x0090,故最后读取的id为0x00900090.不知何解啊?有没有高手解答解答的?非常感谢了。$ i5 c0 p4 F: a0 \; C5 M: p8 ^. r7 q
& S7 y9 K- _! u6 k另:FLASH_SEQ_ADD1为0x555,FLASH_SEQ_ADD2为0x2AA。 |
|