0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

米尔科技改内核调整GPIO在内核启动阶段方案

米尔科技 来源:米尔科技 作者:米尔科技 2019-11-26 16:31 次阅读

米尔用户在使用i.MX6UL/i.MX6ULL系列产品开发时,需要调整GPIO在内核启动阶段的状态,这怎么操作呢?在这里将用户问题做一个详细的整理,如果遇到相似问题可以参考:
现象:改了dts文件,在 &iomuxc 和 &iomuxc_snvs 的 pinctrl_hog_x 中加入了一些自定义的GPIO,操 作系统启动后,使用 echo x > /sys/class/gpio/export 指令导出后,可以用程序正常控制,都没有问题 。但是这些引脚在内核启动阶段都输出了高电平,导致我们电路板上的蜂鸣器和LED在内核启动阶段,始终 是打开状态,蜂鸣器会一直响。在UBOOT阶段蜂鸣器是不响的,只有内核加载完毕打印 Starting kernel ... 这句开始,就会一直响,直到操作系统启动后,把蜂鸣器关掉。 我好像是内核加载了 dts 中 iomux 相关配置后,对IO口做了初始化之类的动作导致的,但是我找不到这些代码位置。
问题:出现以上问题,修改内核哪里可以调整GPIO在内核启动阶段的状态?
米尔技术支持:在配置dts时需要配置GPIO pad_ctrl的值, 参考CPU 手册《IMX6ULLRM》把PUS设置为00下拉。 参考下面的例子:


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6064

    浏览量

    34616
  • 米尔科技
    +关注

    关注

    5

    文章

    227

    浏览量

    20640
收藏 人收藏

    评论

    相关推荐

    嵌入式Linux启动时间优化的秘密之三-内核

    本文主要讲述嵌入式Linux启动时间优化的秘密之三-内核,我们继续上篇没有讲完的嵌入式Linux启动时间优化方法,本文主要会讲内核系统。想看上一篇的请查看本文结尾的链接。
    发表于 04-20 18:09 2306次阅读

    如何使用dtb方式启动内核

    /boot/zImagebootz 0x82000000 - 0x88000000至此,Linux内核就能启动了。  (7)小结  从启动Log上分析,现在内核无法挂在根文件系统,在
    发表于 04-22 14:06

    【TQ335X技术教程】如何使用dtb方式启动内核

    0x82000000 /boot/zImagebootz 0x82000000 - 0x88000000  至此,Linux内核就能启动了。  (7)小结  从启动Log上分析,现在内核
    发表于 04-23 10:10

    米尔MYS-8MMX开发板免费试用】编译内核镜像&与USBHID设备通信

    问题的,但是能不能映射到设备文件,供开发者进行读写操作,那就需要检查内核编译选项了,这里刚好是比较坏的一种情况,米尔厂家出厂镜像是没有打开USBHID通信的,必须让开发者重新编译内核镜像,那么这里就涉及到
    发表于 08-29 16:10

    基于ARM体系的内核启动解析

    创建init进程以及内核进程,并启动内核调度器。rest_init阶段代码如下,其注释如下,主要作用就是先创建init进程使其进程号为1,这是第一个用户空间进程,该进程执行后在衍生出一
    发表于 09-14 12:02

    在内核启动时发现SPI驱动没有正确运行?

    在内核启动中发现这个打印信息[ 1.138240] spi_gpio spi4.15: gpio-miso property not found, switching to no-rx
    发表于 11-28 07:54

    linux内核启动内核解压过程分析

    linux启动内核解压过程分析,一份不错的文档,深入了解内核必备
    发表于 03-09 13:39 1次下载

    用户与内核空间数据交换的方式之一:内核启动参数

    Linux 提供了一种通过 bootloader 向其传输启动参数的功能,内核开发者可以通过这种方式来向内核传输数据,从而控制内核启动行为。
    发表于 05-14 15:42 416次阅读

    Linux内核GPIO操作函数的详解分析

    本文档的主要内容详细介绍的是Linux内核GPIO操作函数的详解分析免费下载。
    发表于 01-22 16:58 28次下载

    内核与宏内核的比较与分析

    混合内核实质上也是微内核,而外内核是一种比较极端的设计方法,目前还处于研究阶段,所以我们就着重讨论宏内核与微
    发表于 03-17 16:05 11次下载
    微<b class='flag-5'>内核</b>与宏<b class='flag-5'>内核</b>的比较与分析

    Linux内核启动流程(上)

    本文先讲解上篇,大家看到汇编不用担心看不懂,在内核启动阶段,没有特别复杂的流程,都是顺序执行,只需一句一句阅读代码即可。
    发表于 06-23 14:07 961次阅读
    Linux<b class='flag-5'>内核</b><b class='flag-5'>启动</b>流程(上)

    Linux内核启动流程(下)

    本篇是通用内核启动阶段,一般是C语言实现。
    发表于 06-23 14:08 334次阅读
    Linux<b class='flag-5'>内核</b><b class='flag-5'>启动</b>流程(下)

    linux内核线程就这样诞生了么?

    线程是操作系统的重要组成部件之一,linux内核中,内核线程是如何创建的,在内核启动过程中,诞生了哪些支撑整个系统运转的线程,本文将带着这个疑问瞅一瞅
    的头像 发表于 07-10 10:45 468次阅读
    linux<b class='flag-5'>内核</b>线程就这样诞生了么?

    硬件电路如何设计调整内核供电

    DVFS 即动态电压频率调整,针对 SOC主频的不同,需要动态调整 SOC 的 Core Power。通过调整内核供电电压,实现SOC主频的调整
    的头像 发表于 09-19 17:01 439次阅读
    硬件电路如何设计<b class='flag-5'>调整</b><b class='flag-5'>内核</b>供电

    如何在内核启动secondary cpu

    启动secondary cpu 内核启动secondary cpu之前当然需要为其准备好执行环境,因为内核中cpu最终都将由调度器管理,故此时调度子系统应该要初始化完成。 同时cpu
    的头像 发表于 12-05 15:46 264次阅读
    如何<b class='flag-5'>在内核</b>中<b class='flag-5'>启动</b>secondary cpu