免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1821 | 回复: 1
打印 上一主题 下一主题

[应用] 请问如何控制mini6410的总线啊? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-06 13:51 |只看该作者 |倒序浏览
主要目标是完成和fpga的高速通信
程序如下所示:
#include <sys/types.h>
#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <memory.h>

#define ARM_SYS 0x30000000
#define INT *(volatile unsigned int*)

void * map_base;
FILE *f;
int n,fd;

int main(int argc,char *argv[])
{
    if((fd=open("/dev/mem",O_RDWR|O_SYNC))==-1){
    return(-1);
    }

    map_base=mmap(0,0xff,PROT_READ|PROT_WRITE,MAP_SHARED, fd, ARM_SYS);

    int i;
    for(i=0;i<10;i++)
    {
        if(atoi(argv[1])==1)
        {
            INT (map_base)=0xFFFFFFFF;
            printf("0xFFFFFFFF\n");
        }
        else if(atoi(argv[1])==0)
        {
            INT (map_base)=0xF0F0F0F0;
            printf("0xF0F0F0F0\n");
        }
        else
        {
            printf("Error!\n");
            break;
        }
        else if(atoi(argv[1])==0)
        {
            INT (map_base)=0xF0F0F0F0;
            printf("0xF0F0F0F0\n");
        }
        else
        {
            printf("Error!\n");
            break;
        }
        sleep(1);
    }

    close(fd);
    munmap(map_base,0xff);//解除映射关系
}
用root权限,程序在arm运行后,没有报错误,正常运行,我用万用表测量总线接口的数据
和地址管脚,没有发现任何变化,都是低电平0V,不知道正确的做法应该是什么?

论坛徽章:
0
2 [报告]
发表于 2011-01-06 16:25 |只看该作者
本帖最后由 EZWORD 于 2011-01-06 16:29 编辑

mmap函数检查下成功了没,其它地方的错误处理都加上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP