全部博文(92)
标题 | 阅读 | 评论 | 转发 | 发布日期 | |
---|---|---|---|---|---|
在驱动模块初始化函数中实现设备节点的自动创建 | 1069 | 0 | 0 | 2010-04-15 | |
内存与I/O访问 | 1292 | 0 | 0 | 2010-04-15 | |
Linux 中断编程 | 1061 | 0 | 0 | 2010-04-13 | |
Linux设备驱动中的异步通知与异步I/O | 1407 | 0 | 0 | 2010-04-12 | |
Linux设备驱动中的poll()非阻塞I/O | 1402 | 0 | 0 | 2010-04-12 | |
Linux设备驱动中的阻塞I/O | 1044 | 0 | 0 | 2010-04-11 | |
Linux设备驱动中的并发控制(二) | 1299 | 0 | 0 | 2010-04-11 | |
Linux设备驱动中的并发控制(一) | 1637 | 0 | 0 | 2010-04-10 | |
Linux-2.6.31内核移植(四)LCD | 1509 | 0 | 1 | 2010-04-08 | |
Linux-2.6.31内核移植(三)yaffs2 | 1516 | 0 | 1 | 2010-04-08 | |
Linux-2.6.31内核移植(二)支持NAND | 1622 | 0 | 0 | 2010-04-07 | |
Linux-2.6.31内核移植(一) | 1944 | 0 | 0 | 2010-04-07 | |
Linux 内核简介 | 675 | 0 | 0 | 2010-04-07 | |
U-boot移植 NAND | 1241 | 0 | 0 | 2010-04-06 | |
U-boot 移植--NOR | 916 | 0 | 0 | 2010-04-06 | |
Bootloader-U-Boot和NOR,NAND flash概论 | 1444 | 0 | 0 | 2010-04-04 | |
Bootloader-vivi的详解和烧写过程 | 1353 | 0 | 0 | 2010-04-04 | |
S3C2440A 时钟电源管理和中断体系 | 1475 | 0 | 0 | 2010-03-31 | |
ARM 体系结构特点 | 1713 | 0 | 0 | 2010-03-31 | |
Makefile技术文档(2) | 874 | 0 | 0 | 2010-03-30 |
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