注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

deisp的博客

 
 
 

日志

 
 

linux 内核中如何对物理地址进行操作 - 嵌入式系统综合 - 电子技术 - 百思论坛 - 工程科技交流平台  

2008-06-07 19:02:46|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
linux 内核中如何对物理地址进行操作


linux2.6在s3c2410上跑驱动程序要操作Flash 控制寄存器(NFCONF),其物理地址为0x4E00 0000.要使下面的语句能够正常工作,应该何设置#define 语句
NFCONF=NFCONF | 1<<11 ;是一条使NFCONF寄存器的第11位置1的语句

如何不是在linux中(例如,在bootloader)中,可以是
#define NFCONF (* (volatile unsigned *)0x4E00 0000)
就可以了,但是在linux里面,内核操作的地址范围是3G以上空间,所以在linux文件中可以找到这样的定义:
#define S3C2410_ADDR(x) ( (void __iomem *)0xF000 0000 +(x))
#define S3C24XX_VA_NAND S3C2410_ADDR(0x0070 0000)

但是不知道S3C24XX_VA_NAND怎么使用,或者说,怎么转变一下,才能使我的那条语句工作(因为S3C24XX_VA_NAND是个指针,要使我的那条语句工作,定义必须定义成值得形式)

P.S. 公司提供的代码,必须使它们的程序工作起来所以希望能有一个从定义S3C24XX_VA_NAND到 NFCONF的转变的定义 ,如 #define NFCONF S3C24XX_VA_NAND

请教高手




引文来源  linux 内核中如何对物理地址进行操作 - 嵌入式系统综合 - 电子技术 - 百思论坛 - 工程科技交流平台

----------------------------
一键转贴,快速捕捉生活精彩,赢每周好礼!查看活动首页>>

  评论这张
 
阅读(431)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017