博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jz2440: linux/arch/arm/下面的plat-和mach-
阅读量:6974 次
发布时间:2019-06-27

本文共 840 字,大约阅读时间需要 2 分钟。

jz2440: linux/arch/arm/下面的plat和mach

plat-s3c24xx

mach-s3c2440
mach-s3c2410

======================

    
1. 三星这样分层的理由是s3c系列的soc具有一定的共通性, plat-实现了一些较通用的封装, 这些封装的具体参数一般是宏, 这些宏如寄存器地址可能是在mach-里面被定义;
    linux/arch/arm/plat-s3c24xx/common-smdk.c
        static struct s3c24xx_led_platdata smdk_pdata_led5 = {
            .gpio        = S3C2410_GPF5,
            .flags        = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE,
            .name        = "led5",
            .def_trigger    = "nand-disk",
        };
    linux/include/asm-arm/arch-s3c2410/regs-gpio.h
        #define S3C2410_GPF5        S3C2410_GPIONO(S3C2410_GPIO_BANKF, 5)
        
        
2. 原则上是把所有s3c系列共同的东西放在    plat-里面去, 具体的io或者比较有mach-特色的部分放到mach-里面;
    改板时, 实际上大多是直接在mach-里面增删自己的功能. (不按三星预设方案的改动除外)
    plat里面需要动的相对更少, 不过在linux/arch/arm/plat-s3c24xx/common-smdk.c里面, 我们可以根据实际情形来分配nand的分区(修改static struct mtd_partition smdk_default_nand_part[] );
3. 编译时,一般只会选中一个特定的mach-, mach-会调用plat-的功能具体实现平台的资源和设备初始化.

上面是大体的分析, 仅供参考.

转载地址:http://mgesl.baihongyu.com/

你可能感兴趣的文章
测试了一下LINQ写的Quick Sort性能
查看>>
解决Win7下安装VS2010不显示序列号框的两种方法
查看>>
Avizo - 高级三维可视化及分析软件
查看>>
黄聪:走进wordpress 详细说说template-loader.php
查看>>
30个免费下载高质量精美照片素材的网站
查看>>
sdmax 树 风的效果
查看>>
DOM的四个基本接口
查看>>
输出类的所有属性值的toString方法
查看>>
悬挂运动控制系统 源代码 (05年电赛)
查看>>
POJ3087:Shuffle'm Up(模拟)
查看>>
ZOJ 3626(树形DP+背包+边cost)
查看>>
NanoHttpd
查看>>
使用FTPClient进行文件服务器内文件的上传和下载
查看>>
Spring IoC — 基于注解的配置
查看>>
我看项目管理第一回:认识利益相关方,提高思想意识
查看>>
使用git进行版本管理
查看>>
数据结构--树,二叉树
查看>>
MySQL优化—工欲善其事,必先利其器之EXPLAIN
查看>>
mysql性能优化学习笔记
查看>>
禁止 favicon.ico 请求
查看>>