S3C2410外围存储系统的研究与设计
E。把FLASH_BLOCK_SIZE改为0x20000,(E28F128J3Aflash中块的大小是128K)。
(2)Board/ smdk2410/smdk2410.c中函数dram_init()定义了SDRAM的真实地址和实际大小。由于本实验中,SDRAM的大小为32M,所以修改Include/configs/Smdk2410.h中的PHYS_SDRAM_1_SIZE,改为0x02000000。
(3)将如下代码替代原来在Include/configs/Smdk2410.h的/*FLASH and environment organization*/一栏中的内容。
#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */
#define PHYS_FLASH_SIZE 0x01000000 /* 16 MB */
#define CFG_FLASH_PROTECTION
#define CFG_FLASH_BASE PHYS_FLASH_1
#define CFG_MONITOR_BASE PHYS_FLASH_1
#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
#define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip */
#define CFG_FLASH_ERASE_TOUT (2*CFG_HZ) /* Timeout for Flash Erase */
#define CFG_FLASH_WRITE_TOUT (2*CFG_HZ) /* Timeout for Flash Write */
#define CFG_ENV_IS_IN_FLASH 1
#define CFG_ENV_ADDR (PHYS_FLASH_1 + 0x60000)
#define CFG_ENV_SIZE 0x20000 /* Total Size of Environment Sector */
如上分析,SDRAM和Flash的初始化信息分别在smdk2410.c和flash.c文件中定义了,最后是通过lib_arm/board.c文件的display_dram_config()和display_flash_config()函数来显示的。
5 结束语
本文结合实际实验,分析了S3C2410的存储系统原理,完成了其外围存储系统的硬件电路设计和软件初始化,最后成功实现了对S3C2410存储系统的存取访问。开发人员可以根据笔者的研究和设计思路,同时结合所需的存储容量和类型进行高效的存储系统设计。
- 基于s3c2410的CramFS根文件系统的移植(07-13)
- AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实现(11-06)
- 基于WinCE的ARM视频监控系统(11-14)
- 基于WinCE的I2C驱动程序设计(04-24)
- WinCE下光电编码器的驱动程序设计(04-12)
- 嵌入式Win CE中CAN总线控制器的驱动设计与实现(05-01)