Linux驱动开发:汇编LED灯实验(I.MX6UL芯片)

闲聊 闲聊 1572 人阅读 | 0 人回复

<
文章目次



Linux驱动开辟:汇编LED灯尝试(I.MX6UL芯片)

1、I.MX6UL的GPIO道理

研讨IMX6UL GPIO 道理前先回想一下STM32GPIO设置流程,其次要分为4个步调:

  • 使能指定 GPIO 的时钟。
  • 初初化 GPIO,如输出功用、上推、速率等
  • 能否开启 IO 复用将IO做为此外中设 引足利用
  • 设置初初输出的电仄上下
上面我们进修 IMX6UL 的 GPIO 道理也是根据如许的流程去进修
1.1 I.MX6UL IO定名

进修前先理解一下 IMX 的定名方法,正在从前教STM32时他的 IO 心是根据一组一组去定名的,如PA是一组,一组里面有16个 IO 心即 PA0-PA15;而正在 IMX6UL里面定名方法则年夜纷歧样,I.MX6UL 的 IO 次要分为两类:SNVS 域IO战通用 IO
SNVC域 IO 定名: IOMUXC_SNVC_SW_MUX_CTL_PAD_XX_XX,后背的 XX_XX 便是 GPIO 定名, 好比:BOOT_MODE0 等等
通用 IO 定名: IOMUXC_SW_MUX_CTL_PAD_XX_XX,后背的 XX_XX 便是 GPIO 定名, 好比:GPIO1_IO01、UART1_TX_DATA、JTAG_MOD 等等
详细IO文档能够参考 IMX6UL 民圆文档
1.2 I.MX6UL IO复用

IO 复用是经由过程一个存放器去掌握的,那里我以 IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO00 为例子,翻阅脚册能够看到一个 IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO01 的32位存放器,存放器以下:
145039v4si2k2iepszpeij.png

能够看到存放器的地点为 20E_005CH 低5位用于形式掌握分为 SION 战 MUX_MODE,其他的则是保存位
MUX_MODE 的0到3位对应详细形式,详细有以下几个:
MUX_MODE复用形式0000ALT0 复用为 IIC2_SCL0001ALT1 复用为 GPT1_CAPTURE10010ALT2 复用为 ANATOP_OTG1_ID0011ALT3 复用为 ENET1_REF_CLK10100ALT4 复用为 MQS_RIGHT0101ALT5 复用为 GPIO1_IO000110ALT6 复用为 ENET1_1588_EVENT0_IN0111ALT7 复用为 SRC_SYSTEM_RESET1000ALT8 复用为 WDOG3_WDOG_BSION 的掌握功用以下:
SION功用0IO输进途径根据复用的形式去1IO输进途径强迫根据GPIO1——IO00去以上便是 IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO00 的复用存放器一个简朴的引见,差别的 IO 他的复用存放器没有完整不异,需求按照脚册详细来查询
  I.MX6U 的 GPIO 一共有 5 组:GPIO1、GPIO2、GPIO3、GPIO4 战 GPIO5, 其中 GPIO1 有 32 个 IO,GPIO2 有 22 个 IO,GPIO3 有 29 个 IO、GPIO4 有 29 个 IO,GPIO5 有 12 个 IO,一共有 124 个 GPIO
1.3 I.MX6UL IO设置

1.2 陈述的是 IO 心的复用设置存放器,但 IO 的详细事情设置另有此外一个存放器举办掌握,持续以 GPIO1 组的 IO00 为例子;详细 IO 事情设置存放器由 IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO00 掌握,该存放器以下:
145039b8xp8x648owo00q1.png

其差别位掌握的 IO 设置功用差别,需求分离 IO 的事情道理图去了解,上 IO 道理图:
145040fp4648838dgzr4d4.png

存放器阐发:
HYS(bit16): 对应图中 HYS,用去使能早滞比较器,正在 IO 输进时有用,能够用去对输进波形举办处置,闭于早滞比较器能够看那篇文章 : 早滞比较器HYS 为 0 的工夫制止早滞比较器,为 1 的工夫使能早滞比较器
PUS(bit15:14): 图中的 PUS,用去设置高低推电阻的:
位功用00100k 下推0147k 上推10100k 上推1122k 上推PUE(bit13): 上图出有显现,当 IO 做为输进的工夫,那个位用去设置 IO 是利用高低推仍是利用形态连结器。为 0 的工夫利用形态连结器,当为 1 的工夫利用高低推。
  形态连结器正在 IO 做为输进的工夫才有效,当内部电路断电当前此 IO 心能够连结住之前形态。
PKE(bit12): 对应图中的 PKE,此位用去使能大概制止高低推大概形态连结器功用,为 0 时制止高低推/形态连结器,为 1 时使能高低推战形态连结器。
ODE(bit11): 对应图中的 ODE,当 IO 做为输出的工夫,此位用去制止大概使能开路输出,此位为 0 的工夫制止开路输出,当此位为 1 的工夫便使能开路输出功用。
SPEED(bit7:6): 对应图中的 SPEED,当 IO 用做输出的工夫,此位用去设置 IO 速率
位设置速率00低速 50M01中速 100M10中速 100M11最年夜速率 200MDSE(bit5:3): 对应图中 DSE,当 IO 用做输出的工夫用去设置 IO 的驱动才能, 统共有 8 个可选选项,如表所示:
  (3.3V 下 R0 是 260Ω,1.8V 下 R0 是 150Ω,接 DDR 的工夫是 240Ω)
位设置速率000输出驱动封闭001R0 ****010R0/2011R0/3100R0/4101R0/5110R0/6111R0/7SRE(bit0): 对应图中的 SRE,设置压摆率,当此位为 0 的工夫是高压摆率,当为 1 的工夫是下压摆率。
  压摆率便是 IO 电仄跳变所需求的工夫,好比从 0 到 1 需求几时 间,工夫越小波形便越陡,分析压摆率越下;反之,工夫越多波形便越缓,压摆率便越低。下速旌旗灯号压摆率要下,速率快;而要考虑电磁兼容性的话压摆率要低
  压摆率参考文章:运放压摆率
1.4 I.MX6UL GPIO设置

1.2 战 1.3 讲了IO 的复用取功用存放器设置,1.4 末节阐发 IO 浩瀚复用里面的一种 GPIO 的详细设置
起首看一下 GPIO 的构造图:
145040gidhxqqkrikg7ili.png

构造中能够看到 IOMUXC 里面有 SW_MUX_CTL_PAD_* 战 SW_PAD_CTL_PAD__* 两个存放器用于设置 IO;而零丁的 GPIO 设置则是此外 8 个 GPIO 本人的存放器举办设置;
145041gcmmmcmmtpcw07d6.png

那 8 个存放器引见以下:
起首看 GPIOx_DR 数据存放器,由翻译能够看到,DR 存放器正在 IO 的形式设置为 GPIO 且 GPIO 的输进输出标的目的肯定好后,输出形态时 DR 存放器里面的位能够掌握 GPIO 的输出值,输进时则存储输进的形态值,经由过程读与能够获得 GPIO 形态,好比当 GPIO1_IO00 引足接天,那末 GPIO1.DR 的 bit0 便是 0
145041bfsy6flf00hgf6lb.png

GPIOx_IR 标的目的存放器,构造以下:
145041smj1ghg4df011gyy.png

GPIO_GDIR 做为标的目的掌握,每一个位指定了一名旌旗灯号的标的目的,此存放器用去设置某个 IO 的事情标的目的,是输进仍是输出。同 样的,每一个 IO 对应一个位,假如要设置 GPIO 为输进的话便设置响应的位为 0,假如要设置为输出的话便设置为 1
PSR 存放器: GPIO 的形态存放器
145042iaajwdk2xckr78tj.png

145042u9fts6qllcf99sc3.png

PSR 存放器也是一个 GPIO 对应一个位,读与响应的位便可获得对应的 GPIO 的形态,也便是 GPIO 的上下电仄值,功用战输进形态下的 DR 存放器一样
ICR1战ICR2 是中止掌握存放器, ICR1用于设置低16个GPIO, ICR2 用于设置下 16 个 GPIO,以 ICR1 为例子:存放器构造以下:
145042krf88yrrffqfr1jq.png

两位一组掌握一个 GPIO 的中止,战 STM32 的中止相似,每组可设置的选线以下:
145043f48sq4stbrtq3q4q.png

位设置速率00低电仄触收01下电仄触收10上降沿触收11降落沿触收
好比要设置 GPIO1_IO15 为上降沿触收中止,那末利用 GPIO1.ICR1=2
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则