在线时间50 小时
UID2083275
注册时间2014-4-2
NXP金币0
TA的每日心情 | 开心 2016-10-24 08:34 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
中级会员
 
- 积分
- 337
- 最后登录
- 2021-2-26
|
最近在看LPC的EMC,以nandflash为例学习,碰到了一些问题想请教论坛的大神们:照例先上原理图:
问题如下:
1.关于EMC的片选对应的存储范围问题
我用的是EMC_CS1,datasheet上有 EMC_CS1 0x9000 0000 - 0x93FF FFFF Static 64 MB,而我的原理图用的是1Gb的容量,datasheet上有提到关于地址转换来扩大片选对应的存储容量到128MB,但是说的没有看懂,手册上说Can be up to 128 MB, upper address 0x97FF FFFF, if the address shift mode is enabled. See SCS register
bit 0 (Section 3.3.20). 而SCS中位0对用的如下图中,表示没看懂说的是什么意思,望大神解释一下。
2.程序中关于nandflash的复位问题
- void NandFlash_Reset( void )
- {
- volatile uint8_t *pCLE;
- /* Reset NAND FLASH through NAND FLASH command */
- pCLE = K9F1G_CLE;
- *pCLE = K9FXX_RESET;
- TIM_Waitms(2);
- return;
- }
复制代码
其中K9F1G_CLE对应如下:
- #define K9F1G_CLE ((volatile uint8_t *)0x92000000)
- #define K9F1G_ALE ((volatile uint8_t *)0x91000000)
- #define K9F1G_DATA ((volatile uint8_t *)0x90000000)
复制代码 这个基地址0x90000000容易知道,可以上面两个是从何得到的K9F1G_CLE ((volatile uint8_t *)0x92000000), K9F1G_ALE ((volatile uint8_t *)0x91000000)。
望论坛大神赐教
|
-
nandflash
-
|