arm linux启动
来源:互联网 发布:有特效的编程软件 编辑:程序博客网 时间:2024/06/06 12:49
mini2440的IO内存映射是在函数mini2440_map_io()函数中的s3c24xx_init_io(mini2440_iodesc, ARRAY_SIZE(mini2440_iodesc));我们发现mini2440_iodesc是一个空的。static struct map_desc mini2440_iodesc[] __initdata = {
};
那么怎么映射呢。
struct map_desc {
};
void __init s3c24xx_init_io(struct map_desc *mach_desc, int size)
{
}
s3c24xx_init_io()函数里面iotable_init(mach_desc, size)并映射什么。实际的映射在iotable_init(s3c_iodesc, ARRAY_SIZE(s3c_iodesc));
下面看s3c_iodesc是怎么定义的。
static struct map_desc s3c_iodesc[] __initdata = {
};
IODESC_ENT()宏定义:
#define IODESC_ENT(x) { (unsigned long)S3C24XX_VA_##x, __phys_to_pfn(S3C24XX_PA_##x), S3C24XX_SZ_##x, MT_DEVICE }
所以我们可以得到展开的s3c_iodesc[]
static struct map_desc s3c_iodesc[] __initdata = {
};
我们可以找到S3C24XX_VA_GPIO,S3C24XX_PA_GPIO...可以在/* linux/include/asm-arm/plat-s3c24xx/map.h找到他的定义。
我们看看GPIO
- ARM linux启动分析
- arm-linux启动过程
- arm linux启动
- arm linux 启动过程
- arm-linux启动过程
- arm-linux 启动解析
- arm linux 启动流程
- linux-arm开机启动
- arm-linux启动过程
- ARM Linux 启动过程
- linux启动--ARM平台
- arm-linux启动过程
- arm-linux启动过程
- ARM LINUX 内核启动
- arm linux 启动流程
- ARM Linux启动过程
- ARM linux启动分析
- ARM linux启动分析
- w3school学习1 -JavaScript 运算符
- Linux下Socket编程
- vc++6.0 中创建查找搜索对话框
- SelectedIndexChanged事件
- 完全PHP5笔记之(COOKIE与SESSION篇)
- arm linux启动
- linux BSPmini2440之DMA
- linuxBSPmini2440之GPIO
- 解决 java.util.ConcurrentModificationException map不能在循环时remove
- C实现Windows下的ping功能
- linuxBSPmini2440之时钟
- javascript初接触(二)
- ACM训练方法
- 生活感言