全部博文(46)
标题 | 阅读 | 评论 | 转发 | 发布日期 | |
---|---|---|---|---|---|
内核IS_ERR宏解析 | 2302 | 0 | 1 | 2010-04-10 | |
在驱动模块初始化函数中实现设备节点的自动创建 | 2012 | 0 | 1 | 2010-04-10 | |
为什么在中断上下文中不能休眠? | 2034 | 0 | 0 | 2010-04-07 | |
s3c2410触摸屏驱动(2.6内核)分析 | 1976 | 0 | 0 | 2010-04-05 | |
module_init和module_exit | 1986 | 0 | 0 | 2010-04-05 | |
有趣的数据结构——Linux内核中的链表 | 1845 | 0 | 1 | 2010-04-05 | |
理解bitops中的__set_bit及其应用 | 1920 | 0 | 0 | 2010-04-04 | |
ioremap 小议 | 1358 | 0 | 0 | 2010-04-03 | |
用VIM编写C/C++程序(转) | 1625 | 0 | 0 | 2010-04-02 | |
linux下阅读源码的利器:vi+ctags | 2009 | 0 | 0 | 2010-04-02 | |
阅读内核源码 VIM+Ctags | 3462 | 0 | 0 | 2010-04-02 | |
Shell 中的元字符 | 1775 | 0 | 0 | 2010-03-29 | |
Linux-2.6.20的LCD驱动分析(四)[转] | 1476 | 0 | 0 | 2010-03-29 | |
Linux-2.6.20的LCD驱动分析(三)[转] | 1176 | 0 | 0 | 2010-03-29 | |
Linux-2.6.20的LCD驱动分析(二)[转] | 1430 | 0 | 0 | 2010-03-29 | |
Linux-2.6.20的LCD驱动分析(一)[转] | 1860 | 0 | 0 | 2010-03-29 | |
嵌入式Linux中内存屏障 | 1715 | 0 | 0 | 2010-03-27 | |
snprintf() | 1300 | 0 | 0 | 2010-03-26 | |
platform_device与驱动的联系 | 1210 | 0 | 0 | 2010-03-25 | |
__init和__initdata | 1339 | 0 | 0 | 2010-03-25 |
config20102009-11-19 19:25
外设fpga做的8k的memory,用arm9去读写它,在linux2.6系统下;这样做对吗?
实际地址映射到虚拟内存中,用得到的虚拟地址去读写。
地址总线:a1-a14 数据总线:d0-d16
#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