标题 | 阅读 | 评论 | 转发 | 发布日期 | |
---|---|---|---|---|---|
这两天 | 1658 | 0 | 0 | 2010-09-14 | |
回头看看从前写的代码 | 1747 | 1 | 0 | 2010-09-06 | |
Linux arm 中断处理-1 | 2606 | 1 | 1 | 2010-08-22 | |
fc11下fcitx安装小记 | 2770 | 0 | 0 | 2010-03-31 | |
教你写Linux设备驱动程序:一个简短的教程 | 19501 | 0 | 4 | 2010-02-25 | |
hello wrold 模块试验 | 1815 | 0 | 0 | 2010-02-24 | |
Linux kernel 2.6.xx README | 2184 | 0 | 1 | 2010-02-09 | |
Linux 线程学习 - 线程同步.互斥量 | 3399 | 0 | 0 | 2010-02-09 | |
Linux 线程学习笔记-线程简介、线程创建 | 5511 | 1 | 0 | 2010-02-05 | |
make uImage(uImage生成过程) | 11555 | 0 | 1 | 2010-01-15 |
config20102009-11-19 19:42
外设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