我是靠谱客的博主 专注冥王星,最近开发中收集的这篇文章主要介绍linux 串口的虚拟地址,linux中S3C2440的物理地址映射到虚拟地址详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

linux-2.6.30.4archarmplat-s3cincludeplat map-base.h

#defineS3C_ADDR_BASE (0xF4000000)

#ifndef __ASSEMBLY__

#define S3C_ADDR(x)  ((void__iomem __force *)S3C_ADDR_BASE+ (x))

#else

#defineS3C_ADDR(x) (S3C_ADDR_BASE+ (x))

#endif

#define S3C_VA_IRQ    S3C_ADDR(0x00000000)     /* irq controller(s) */

#define S3C_VA_SYS   S3C_ADDR(0x00100000)     /* system control   Clock and Power management*/

#define S3C_VA_MEM S3C_ADDR(0x00200000)     /* system control  memoery*/

#define S3C_VA_TIMER      S3C_ADDR(0x00300000)     /* timer block --PWM Timer*/

#define S3C_VA_WATCHDOG     S3C_ADDR(0x00400000)     /* watchdog */

#define S3C_VA_UART      S3C_ADDR(0x01000000)    /*UART */

linux-2.6.30.4archarmplat-s3c24xxincludeplat map.h

/* UARTs */

#defineS3C24XX_VA_UART        S3C_VA_UART

#define S3C2410_PA_UART    (0x50000000)

#define S3C24XX_SZ_UART          SZ_1M

#define S3C_UART_OFFSET         (0x4000)

UART映射后的虚拟地址是0xF4000000+0x01000000

linux-2.6.30.4archarmplat-s3c24xxincludeplat map.h

/* GPIO ports */

#define S3C2410_PA_GPIO     (0x56000000)

#defineS3C24XX_VA_GPIO       ((S3C24XX_PA_GPIO- S3C24XX_PA_UART) + S3C24XX_VA_UART)//GPIO的虚拟地址

#define S3C24XX_SZ_GPIO          SZ_1M

最后

以上就是专注冥王星为你收集整理的linux 串口的虚拟地址,linux中S3C2440的物理地址映射到虚拟地址详解的全部内容,希望文章能够帮你解决linux 串口的虚拟地址,linux中S3C2440的物理地址映射到虚拟地址详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部