Live & Learn
标题 | 阅读 | 评论 | 转发 | 发布日期 | |
---|---|---|---|---|---|
Linux内核同步/进程/线程同步 | 1954 | 0 | 0 | 2010-12-28 | |
多进程和多线程的优缺点 | 2151 | 1 | 2 | 2010-12-27 | |
μC/OS-II在Cortex-M3系列单片机上的移植 | 2253 | 0 | 0 | 2010-12-22 | |
LM3S8962远程升级学习心得 | 4159 | 0 | 0 | 2010-12-21 | |
ARM中的RO、RW和ZI DATA说明 | 2657 | 0 | 0 | 2010-12-17 | |
SHTML是什么_SSI有什么用 | 18324091 | 0 | 0 | 2010-12-16 | |
揭开BOOT LOAD升级过程的神秘面纱 | 2883 | 0 | 0 | 2010-12-15 | |
RFC 2217 Telnet Com端口控制选项 | 1717 | 0 | 0 | 2010-12-13 |
config20102009-11-19 19:38
外设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