嵌入式爱好者

查看: 22756|回复: 1

[Linux] okmx6q-c,linux:io操作询问

[复制链接]

1

主题

1

帖子

5

积分

扫一扫,手机访问本帖
发表于 2017-7-5 16:26:42 | 显示全部楼层 |阅读模式
您好:
  在使用贵公式okmx6q-c+linux(uboot、linux、rootfs均使用贵公司提供的image),遇到了io读写的问题。
  问题描述:iowrite32写入val到某一寄存器,回读的值不是val,而是默认值
  补充:使用readl/writel或者直接*gpio1=**,**=*gpio1仍然有此问题
  简单的测试代码见附注

谢谢

附注:
简单的测试代码:
static int tmp_test(void)
{
        void __iomem *gpio1 = NULL;
        int regval = 0;
       
        /* remap gpio memory address */
        gpio1 = ioremap(0x0209C000, 16*1024);
        printk(KERN_WARNING "%s:remap gpio1 %p\n", __func__, gpio1);
        if (NULL == gpio1)
                return -ENOMEM;
       
        regval = ioread32(gpio1);
        printk(KERN_WARNING "%s:regval %x,\n", __func__, regval);
        regval &= ~(0xff);
        iowrite32(regval, gpio1);
        printk(KERN_WARNING "%s:write 0x%x, read %x\n", __func__, regval, ioread32(gpio1));

        iounmap(gpio1);
}
打印的信息:
tmp_test:remap gpio1 c0840000
tmp_test:regval 3e01087c,
tmp_test:write 0x3e010800, read 3e01087c
回复

使用道具 举报

0

主题

905

帖子

742

积分

i.MX6Q通行证i.MX6UL通行证TCU通行证AM335x通行证

发表于 2017-7-6 17:36:52 | 显示全部楼层
您好,您需要确认一下您所操作的IO是否处于可操作状态。
技术支持电话:0312-3119192
技术支持邮箱:wince@forlinx.com
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-5-7 07:50

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表