天嵌 ARM开发社区

 找回密码
 注册
查看: 1815|回复: 3

請問天嵌做的Linux2.6.30內核問題

[复制链接]
brucefay1115 发表于 2012-2-28 05:57:08 | 显示全部楼层 |阅读模式
請問天嵌做的Linux2.6.30內核,已經包含EINT跟Timer中斷嗎??

還是說要自己移植進去的??目前都是用記憶體映射方式在控制GPIO

我的程式碼:
gpioPorts = (unsigned char *) mmap(0, getpagesize(),PROT_READ | PROT_WRITE, MAP_SHARED,gpio_fd, 0x56000000);
        GPBCON = (unsigned int *) (gpioPorts + 0x10);
        GPBDAT = (unsigned int *) (gpioPorts + 0x14);
        GPBUP = (unsigned int *) (gpioPorts + 0x18);
        GPECON = (unsigned int *) (gpioPorts + 0x40);
        GPEDAT = (unsigned int *) (gpioPorts + 0x44);
        GPEUP = (unsigned int *) (gpioPorts + 0x48);
        GPFCON = (unsigned int *) (gpioPorts + 0x50);
        GPFDAT = (unsigned int *) (gpioPorts + 0x54);
        GPFUP = (unsigned int *) (gpioPorts + 0x58);
        GPGCON = (unsigned int *) (gpioPorts + 0x60);
        GPGDAT = (unsigned int *) (gpioPorts + 0x64);
        GPGUP = (unsigned int *) (gpioPorts + 0x68);

我想請問下,如果天嵌內核已經有了我是不是直接一樣用記憶體映射方式宣告就可以了??

我看了S3C2440的datasheet,提到:EXTINT0 0x56000088 External Interrupt Control Register 0

是不是假設我要用到擴充的中斷,也直接寫成XXXX= (unsigned int *) (gpioPorts + 0x88);


 楼主| brucefay1115 发表于 2012-2-28 07:08:33 | 显示全部楼层
我想請問下mmap是直接間接操作記憶體位置,告知宣告暫存器?在控制?

而另一種方式是直接使用Linux Kernel所提供的涵式直接操作?也就是透過他的function直接操作的?

也就是 mmap()→映射要使用的記憶體位置,例如0x00000066(GPBCON)→控制

          Linux kernel→所提供的function()→自動幫你載入記憶體位置→控制

不知道我這樣理解對不對
回复

使用道具 举报

 楼主| brucefay1115 发表于 2012-2-28 07:09:21 | 显示全部楼层
急阿...希望有高手能幫我解惑 真的很謝謝!!!
回复

使用道具 举报

 楼主| brucefay1115 发表于 2012-2-28 20:49:23 | 显示全部楼层
都沒有人知道嗎???:'(
回复

使用道具 举报

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-20 15:11 , Processed in 2.038529 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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