欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

【rk3399】AIO-3399J Linux_SDK Recovery按键无法进入Loader模式

发布时间:2023/12/8 linux 59 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【rk3399】AIO-3399J Linux_SDK Recovery按键无法进入Loader模式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

    使用wiki页面Linux_SDK链接下载得到的old版本SDK压缩包。

按照创建ubuntu rootfs和打包固件的教程制作的Linux固件,实际使用发现按住Recovery无法进入Laoder模式,log中输出包含

download key pressed... entering recovery mode!

而Linux固件没有Recover分区,因此转而进入正常启动模式。还好进入系统后可以使用reboot参数进入。

sudo reboot loader

loader是作为可选参数传入,推测进入loader的相应驱动是在kernel中实现。

    回到正题,寻找uboot中关于按键检测和启动模式的关键地方:

board_late_init(void)->setup_boot_mode(void)->rockchip_dnl_mode_check(void)->这条函数下一条是更新启动模式并执行,但实际需要修改的是这条;rockchip_u2phy_vbus_detect()->

        跟踪发现这条函数始终返回0,查找源码有两处定义,但跟踪发现却都没有运行,仔细寻找发现头文件中有这样一处定义:

static inline int rockchip_u2phy_vbus_detect(void)

转到头文件查看

#if defined(CONFIG_PHY_ROCKCHIP_INNO_USB2) || defined(CONFIG_ROCKCHIP_USB2_PHY) int rockchip_u2phy_vbus_detect(void); #else static inline int rockchip_u2phy_vbus_detect(void) {return -ENOSYS; } #endif

搜索源码,发现CONFIG_PHY_ROCKCHIP_INNO_USB2使用较多,通过menuconfig查找并使能宏和相关依赖,编译烧入后OTG HOST检测正常,再OTG口连接了HOST的情况下按住Recovery重启可正常进入loader模式。

总结

以上是生活随笔为你收集整理的【rk3399】AIO-3399J Linux_SDK Recovery按键无法进入Loader模式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。