| 标题 | 阅读 | 评论 | 转发 | 发布日期 | |
|---|---|---|---|---|---|
| 如何加密/弄乱C源代码 | 1442 | 1 | 1 | 2009-11-09 | |
| 6个变态的C语言Hello World程序+机器码的hello world | 6669 | 0 | 1 | 2009-11-09 | |
| C语言回调函数 | 1046 | 0 | 0 | 2009-11-03 | |
| 4行代码计算9999的阶乘 | 4525 | 12 | 0 | 2009-11-02 | |
| 堆栈入门——堆和栈区别 | 904 | 0 | 0 | 2009-09-22 | |
| C语言高效编程的几招 | 1707 | 0 | 0 | 2009-09-16 | |
| 如何在C语言中巧用正则表达式 | 1276 | 1 | 0 | 2009-09-15 | |
| sscanf函数的高级用法 | 977 | 0 | 0 | 2009-09-08 | |
| sizeof strlen memset strncpy的基本用法 | 2026 | 0 | 0 | 2009-09-07 | |
| C/C++数组名与指针区别深入探索(宋宝华) | 1696 | 0 | 1 | 2009-09-07 | |
| 一道面试题——不用中间变量交换两个整型变量的值 | 3913 | 0 | 2 | 2009-09-04 | |
| hello world的密秘 | 1683 | 0 | 0 | 2009-09-03 | |
| strcpy和strcmp的面试题辩论 | 911 | 0 | 0 | 2009-09-01 | |
| 几篇关于C函数指针的文章 | 1759 | 0 | 1 | 2009-08-25 | |
| 如何判断一个单链表是有环的?(在深信服遇到的面试题) | 1645 | 0 | 0 | 2009-08-18 | |
| 基于51串口通讯编程软件架构剖析(请大家就本文相关内容发表评论,来探讨一个高效可靠的通讯架构) | 1446 | 4 | 0 | 2009-08-05 | |
| 有限状态机 | 12959 | 0 | 1 | 2009-08-05 | |
| C程序优化之路--算法篇 | 1194 | 0 | 0 | 2009-08-05 | |
| C程序优化之路--内存篇 | 3494 | 1 | 0 | 2009-08-05 | |
| C程序优化之路--I/O篇 | 1412 | 0 | 0 | 2009-08-05 |
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