导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    全志T113-S3 longan SDK 配置uart0为控制台,只有输出没有输入(已解决)

    Linux
    1
    2
    1127
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • C
      creaznico LV 4 最后由 编辑

      回复: 全志芯片Tina Linux 修改 UART 引脚、UART端口
      首先先按照这个帖子改,发现烧录固件,uboot,boot0均有输出,但是kernel没有输出。日志最后的消息是starting kernel,这是boot的最后一行消息。但是通过连上全志的adb,发现能够连接,说明系统已经启动,串口没有配置好。
      坑点1:linux路径混乱。
      众所周知,linux环境每个人都不同,因此照搬别人的配置有可能不行
      在~/device/config/chips/t113/configs/evb1_auto_nand路径下(我用的nand,如果是emmc路径是evb1_auto)有一个env.cfg文件,在上述步骤中已经修改为了

      earlyprintk=sunxi-uart,0x02500000
      initcall_debug=0
      console=ttyS0,115200
      

      但是修改没有效果,切原本配置的串口是uart3 ,接上有输出。因此考虑是不是改错了文件,于是查看他编译过程,发现它使用的env.cfg文件是在~/device/config/chips/t113/configs/evb1_auto_nand/longan/env.cfg ,真是离了个大谱,一个目录下有两个这个配置文件,也怪不得分不清。于是修改了该文件,发现kernel阶段有输出了,但是,马上坑点2就来了。
      坑点2:init
      先说问题,进入了系统后,串口0输入自动回显,且使用adb在系统内echo 'hello world!',会在串口0接收到,查看cat /proc/cmdline ,发现console = ttyS0 ,115200 。这个时候我就很疑惑了,是成功配置了呀,而且也不是硬件问题,因为串口0收发都正常的,且已经正确把串口0配置为控制台了。
      这个时候出发点可能还是要从它原本的配置入手,它原本uart3是控制台,会不会uart3能进入console呢?马上接上uart3,确实,系统输出了welcome to system kuno啥的,kuno指的是用户名,然后要你输密码。得,不知道是哪里的配置问题。
      遂一点点查看所有配置,重新检查,发现实在是都对,使用grep ‘console'抓取所有的文件内带console的,都已经改成了ttyS0,这是咋回事呢?遂查资料,问gpt,发现影响console的还有一个init过程,常用的包括busybox ,systemd,systemV,procd-init等,我的工程使用的是busybox,遂进入buildroot,使用命令make menuconfig ,选择
      System configuartion -> run a getty ,哈哈,里面有个TTY port
      Snipaste_2024-07-23_09-56-02.png
      它原本是ttyS3,截图里已经被修改为S0了,ok啊,重新编译,烧录,大功告成
      5dc04653-6aa1-458b-9b17-d12f6748ed3f-image.png

      C 1 条回复 最后回复 回复 引用 分享 0
      • C
        creaznico LV 4 @creaznico 最后由 编辑

        @creaznico 补充一点,可以直接在sdk里把getty去掉,就没有密码登陆验证了

        1 条回复 最后回复 回复 引用 分享 0
        • 1 / 1
        • First post
          Last post

        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

        行为准则 | 用户协议 | 隐私权政策