5.2.14.静态映射操作LED1

  1. 静态映射:

不同版本内核中静态映射表位置,文件名可能不同

不同SoC的静态映射表位置,文件名可能不同

所谓映射表其实就是头文件的宏定义

  1. 三星版本内核中的静态映射表

主映射表:F:\winshare\kernel\jiuding_kernel\arch\arm\plat-s5p\include\plat\map-s5p.h

虚拟地址基地址:F:\winshare\kernel\jiuding_kernel\arch\arm\plat-samsung\include\plat\map-base.h

GPIO相关的主映射表:F:\winshare\kernel\jiuding_kernel\arch\arm\mach-s5pv210\include\mach\regs-gpio.h

GPIO的具体寄存器:F:\winshare\kernel\jiuding_kernel\arch\arm\mach-s5pv210\include\mach\gpio-bank.h

原文地址:https://www.cnblogs.com/Ocean-Star/p/9250385.html

时间: 2024-12-01 19:58:03

5.2.14.静态映射操作LED1的相关文章

linux物理地址的静态映射

早先看linux驱动相关书籍的时候,隐约记得物理地址有动态映射和静态映射,当时写驱动都是想着自己动手写,所以一上手看着动态映射好用,就在自己的驱动上使用动态映射,将寄存器地址映射到内存上,即调用ioremap函数.在单线作战的时候ioremap确实好用,不需要改动内核的其他部分,直接将自己想用的物理地址映射到内存再操作.但很多时候当我们的设备需要在全局范围内被使用的时候,ioremap就会比较尴尬,其他c文件想要操作该设备的虚拟地址就会比较麻烦,而静态映射就会方便很多. 最近这两天在写一个蜂鸣器

驱动学习之静态映射和动态映射

1:静态映射方法的特点: 内核移植时以代码的形式硬编码,如果要更改必须改源代码后重新编译内核在内核启动时建立静态映射表,到内核关机时销毁,中间一直有效对于移植好的内核,你用不用他都在那里 2:动态映射方法的特点: 驱动程序根据需要随时动态的建立映射.使用.销毁映射映射是短期临时的 3:如何选择虚拟地址映射方法 (1)2种映射并不排他,可以同时使用 (2)静态映射类似于C语言中全局变量,动态方式类似于C语言中malloc堆内存 (3)静态映射的好处是执行效率高,坏处是始终占用虚拟地址空间:动态映射

SylixOS中DNS静态映射简介

1. DNS功能简介 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,用户能够通过域名访问互联网,而不用去记住IP地址.通过域名得到其对应的IP地址的过程叫做域名解析.每个域名都对应一个IP地址,但一个IP地址可以对应多个域名. 2. SylixOS中DNS静态映射 主机名到IP地址的映射有两种方式: 1) 静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用: 2) 动态映射,建立一套域名

内核物理地址和虚拟地址之间的静态映射过程

一:当我们开启了MMU之后,使用的都是虚拟地址,这时就需要考虑物理地址到虚拟地址的映射问题.建立映射表的三个关键部分是: (1)映射表 (2)映射表建立函数 (3)映射表建立函数被调用 1:映射表 (1)映射表是具体的物理地址和虚拟地址的起始地址定义,在我们前面使用静态映射来操作LED时有介绍,三星版本的移植的内核,其主映射表在arch/arm/plat-s5p/include/plat/map-s5p.h和arch/arm/plat-samsung/include/plat/map-base.

7.4.1 用映射操作进行更新

尽管这个操作类似于映射,但是,真的实现,还需要作出重要的设计选择.分栏部分可能递归地包含多个部分,所以,文档是一种树形结构,我们需要决定以哪种顺序处理节点: 1.从根部开始,对所有嵌套在其中的部分,递归地调用映射操作. 2.从叶子开始,首先处理嵌套最深的部分,然后,返回到包含它们的部分. 在处理列表时,顺序无关紧要,但是,对于树形结构,却是相当重要的.想象一下,我们有一个文档,包含一个垂直分栏部分,和两个带有文本的水平分栏部分,如果我们运行映射函数,合并只含有文本的分栏部分,会发生什么事? ■

Linux内核访问外设I/O--动态映射(ioremap)和静态映射(map_desc) (转载)

[转](转)Linux内核访问外设I/O资源的方式-静态映射(map_desc)方式 Linux内核访问外设I/O资源的方式 Author: Dongas Date: 08-08-02 我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它. Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc). 一.动态映射(iorem

IPv6 NAT-PT静态映射

1.实验拓扑 2.实现任务 实现R1和R3的互通,其中R2是一个双栈路由,实现IPV4和IPV6的静态映射. 3.实验配置 R1: Router(config)#ipv6 uni Router(config)#int g0/0 Router(config-if)#ipv6 add 1::1/64 Router(config-if)#no shut Router(config-if)#ex Router(config)#ipv6 route ::/0 1::2 //这里要用下一跳地址,如果用出端口

大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作

一 概述1.1 什么是搜索?1.2 如果用数据库做搜索会怎么样?1.3 什么是全文检索和 Lucene?1.4 什么是 Elasticsearch?1.5 Elasticsearch 的适用场景1.6 Elasticsearch 的特点1.7 Elasticsearch 的核心概念1.7.1 近实时1.7.2 Cluster(集群)1.7.3 Node(节点)1.7.4 Index(索引 --> 数据库)1.7.5 Type(类型 --> 表)1.7.6 Document(文档 -->

ioremap 函数映射操作已知的物理地址(寄存器、端口、IO)

NAME ioremap - map bus memory into CPU space SYNOPSIS void __iomem * ioremap (unsigned long offset, unsigned long size); ARGUMENTS offset bus address of the memory size size of the resource to map DESCRIPTION ioremap performs a platform specific sequ