全部博文(92)
标题 | 阅读 | 评论 | 转发 | 发布日期 | |
---|---|---|---|---|---|
Makefile技术文档 | 879 | 0 | 0 | 2010-03-30 | |
安装vmtools for linux | 1255 | 0 | 0 | 2010-03-28 | |
Linux操作系统的安装 | 651 | 0 | 0 | 2010-03-28 | |
Bootloader 概述 | 760 | 0 | 0 | 2010-03-28 | |
PWM AND TIMER | 978 | 0 | 0 | 2010-03-25 | |
RTC | 741 | 0 | 0 | 2010-03-25 | |
INTERRUPTS AND KEY | 1279 | 0 | 0 | 2010-03-24 | |
ADS工具使用 建立硬件调试环境 | 926 | 0 | 0 | 2010-03-23 | |
S3C2440存储器控制器 | 1799 | 0 | 0 | 2010-03-22 | |
windows平台工具的使用 | 766 | 0 | 0 | 2010-03-21 | |
建立交叉编译环境 | 910 | 0 | 0 | 2010-03-20 |
config20102009-11-19 20:21
外设fpga做的8k的memory,用arm9去读写它,在linux2.6系统下;这样做对吗?
实际地址映射到虚拟内存中,用得到的虚拟地址去读写。
地址总线:a1-a14 数据总线:d0-d15
#define FPGA_BASE_ADDR (0x18000000)//片选为nGCS3
#define BWSCON (0x48000000)
#define BANKCON3 (0x48000010)
#define IP_SIZE (0x1FFF)//13根地址线8K的物理空间
static void *bwscon,*bankcon3,*fpga_base_addr;
bwscon = ioremap_nocache(BWSCON,0x0000004);
bankcon3 = ioremap_nocache(BANKCON3,0x0000004);
fpga_base_addr = ioremap_nocache(FPGA_BASE_ADDR,IP_SIZE);
writel(readl(bwscon)|0xD000,bwscon);
writel(0x7FFC,bankcon3);
for(i=0;i