码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • F1C100S自制开发板调试过程


    疫情,等了好久板子终于到了。

    我这里使用的是坑网大佬提供的tiny200开发包,用的芒果派R3配置文件

    1,配置其的介质,我板子上用的是nor-spi-flash,所以需要在设备树里面屏蔽掉nand-flash相关的节点,否则启动会有错误。

    2,配置屏幕,这里我被困扰好久,其实只需要在uboot里面配置好屏幕参数即可,其他的无需修改,我想歪了,去修改panel,改了好久好多参数都灭有效果,钻牛角尖了,最后看到坑网小伙伴评论:F1C100s如何初始化LCD引脚 ?24bit如何修改成18bit。RGB666如何修改成565.。。。。 / 全志 SOC / WhyCan Forum(哇酷开发者社区)

    linux如果用drm驱动,那么就和uboot无关。
    linux如果用simplefb驱动,那么就是用uboot初始化的

    我才恍然大悟,直接去uboot里面修改屏幕参数就行了

    这个时候,我又有疑问了,这些le,ri,up,参数是个什么玩意,百度后找到了如下资料:

    U-boot中通过ENV设置显示设备(如LCD)参数的方法与格式_韩半仙的博客-CSDN博客

    1. /******************************************************************
    2. * 解析结构体
    3. ******************************************************************/
    4. struct ctfb_res_modes {
    5. int xres; /* 可见分辨率 */
    6. int yres;
    7. /* 时序: 所有值都以像素时钟为单位(当然除了像素时钟本身) */
    8. int pixclock; /* 像素时钟(单位:微秒) */
    9. int left_margin; /* 从行同步到图像左边沿的像素时钟数 */
    10. int right_margin; /* 从行同步到图像右边沿的像素时钟数 */
    11. int upper_margin; /* 从场同步到图像上边沿的行数 */
    12. int lower_margin; /* 从场同步到图像下边沿的行数 */
    13. int hsync_len; /* 行同步时间长度(像素时钟数) */
    14. int vsync_len; /* 场同步时间长度(行数) */
    15. int sync; /* see FB_SYNC_* */
    16. int vmode; /* see FB_VMODE_* */
    17. };

     参数无效_lcd参数解释及刷新率计算,LCD时序_刘万祥ExcelPro的博客-CSDN博客

    2d8dcc2ba9a563e576dd9864e7f994f2.png

    4e4bba4f1f601a1a0910cbda331f3760.png

    到这就知道参数怎么设置,以及参数的含义了。

    最后看下测试效果:

    3,通过控制台命令切换USB模式,参考下面帖子

    主线Linux用shell命令切换 OTG(分享)tiny200/licheepi nano|zero均可以使用 / 全志 SOC / WhyCan Forum(哇酷开发者社区)

    1. &usb_otg {
    2. dr_mode = "otg"; /* 三个可选项: otg / host / peripheral */
    3. status = "okay";
    4. };
    5. ##切换到host模式:
    6. # echo host > /sys/devices/platform/soc/1c13000.usb/musb-hdrc.1.auto/mode
    7. # [ 117.758152] phy phy-1c13400.phy.0: Changing dr_mode to 1
    8. [ 118.414817] usb 1-1: new high-speed USB device number 3 using musb-hdrc
    9. [ 118.598193] usb-storage 1-1:1.0: USB Mass Storage device detected
    10. [ 118.611789] scsi host0: usb-storage 1-1:1.0
    11. [ 119.686198] scsi 0:0:0:0: Direct-Access Mass Storage Device 1.00 PQ: 0 ANSI: 0 CCS
    12. [ 119.703976] sd 0:0:0:0: [sda] 3842048 512-byte logical blocks: (1.97 GB/1.83 GiB)
    13. [ 119.725260] sd 0:0:0:0: Attached scsi generic sg0 type 0
    14. [ 119.739844] sd 0:0:0:0: [sda] Write Protect is off
    15. [ 119.771819] sd 0:0:0:0: [sda] No Caching mode page found
    16. [ 119.777288] sd 0:0:0:0: [sda] Assuming drive cache: write through
    17. [ 119.801571] sda: sda1 sda2 sda3
    18. [ 119.817224] sd 0:0:0:0: [sda] Attached SCSI removable disk
    19. #
    20. ##切换到device模式:
    21. # echo peripheral > /sys/devices/platform/soc/1c13000.usb/musb-hdrc.1.auto/mode
    22. [ 123.880272] phy phy-1c13400.phy.0: Changing dr_mode to 2
    23. # [ 123.890905] usb 1-1: USB disconnect, device number 3

    下一步就是调试摄像头了。 

  • 相关阅读:
    企业邮箱选择指南:最适合跨境贸易的解决方案推荐
    I - Bob vs ATM(博弈论)
    php魔术方法利用构造pop链之[MRCTF2020]Ezpop
    电压放大器在超声成像中的工作原理和应用
    上海亚商投顾:沪指窄幅震荡 “中字头”概念股又暴涨
    STM32 HAL库F103系列之ADC实验(三)
    小程序的防抖节流怎么写?
    postman工具的使用
    Golang远程调试Debug环境
    uniapp踩坑
  • 原文地址:https://blog.csdn.net/qq_34752070/article/details/125470094
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号