标题 | 阅读 | 评论 | 转发 | 发布日期 | |
---|---|---|---|---|---|
软件人生之这些年做项目带新人的经验总结(转) | 1081 | 0 | 0 | 2009-11-06 | |
(转)架构师已死(转自UML软件工程组织) | 909 | 0 | 0 | 2009-11-04 | |
C语言回调函数 | 966 | 0 | 0 | 2009-11-03 | |
程序员不可不读的好书 | 1059 | 1 | 0 | 2009-11-02 | |
4行代码计算9999的阶乘 | 4317 | 12 | 0 | 2009-11-02 | |
技术人才的七年之痒 | 941 | 0 | 0 | 2009-10-28 | |
嵌入式linux文件系统规划(一) | 1114 | 0 | 0 | 2009-10-27 | |
制作嵌入式linux文件系统(ramdisk,cramfs,squashfs) | 1363 | 0 | 0 | 2009-10-26 | |
烧写遇到问题:invalid ELF header | 12100 | 0 | 0 | 2009-10-21 | |
利用多核多线程进行程序优化 | 1313 | 0 | 0 | 2009-10-20 | |
我的十年总结——送给刚毕业的年轻朋友们(转载) | 1397 | 2 | 0 | 2009-10-19 | |
程序员的基本原则 | 656 | 0 | 0 | 2009-10-13 | |
收藏一篇网络编程的帖子^_^ | 1094 | 0 | 0 | 2009-09-26 | |
堆栈入门——堆和栈区别 | 866 | 0 | 0 | 2009-09-22 | |
C语言高效编程的几招 | 1673 | 0 | 0 | 2009-09-16 | |
如何在C语言中巧用正则表达式 | 1228 | 1 | 0 | 2009-09-15 | |
Linux 编程之生成静态连接库 | 1099 | 0 | 0 | 2009-09-15 | |
Linux 时钟处理机制 | 1039 | 0 | 0 | 2009-09-11 | |
sscanf函数的高级用法 | 887 | 0 | 0 | 2009-09-08 | |
sizeof strlen memset strncpy的基本用法 | 1967 | 0 | 0 | 2009-09-07 |
config20102009-11-19 19:37
外设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