Ego*_*gor 6 linux embedded-linux u-boot yocto intel-edison
我正在为英特尔爱迪生构建Yocto图像.
图像的一个组件是u-boot,带有Edison特定的补丁.默认情况下,Edison的UART端口用于u-boot控制台.我想禁用此功能,但仅限于串行接口(u-boot也会侦听USB并且需要保留).
我主要担心的是UART端口上的" 按任意键停止自动引导 "功能.我需要此端口来连接可能在主设备启动过程中发送内容的附件.
我该如何处理这个问题?是否有环境变量,或者我是否需要修改源?
提前致谢!
我差不多一年后才回到这个问题,现在我已经找到了合适的解决方案.
我正在研究的主板在其BSP中有一个相当新的u-boot.要禁用串行控制台,我必须执行以下操作:
将以下定义添加到板的配置头(位于include/configs/board.h中):
#define CONFIG_DISABLE_CONSOLE
#define CONFIG_SILENT_CONSOLE
#define CONFIG_SYS_DEVICE_NULLDEV
Run Code Online (Sandbox Code Playgroud)检查您的主板是否在同一文件中启用了early_init_f:
#define CONFIG_BOARD_EARLY_INIT_F 1
Run Code Online (Sandbox Code Playgroud)找到arch文件(类似于arch/x86/cpu/architecture/architecture.c)并将此调用添加到其early_init_f函数中.它实际上修改了board的全局数据变量以具有这些标志:
gd->flags |= (GD_FLG_SILENT | GD_FLG_DISABLE_CONSOLE);
Run Code Online (Sandbox Code Playgroud)我的主板没有,所以我不得不添加整个功能
int board_early_init_f(void)
{
gd->flags |= (GD_FLG_SILENT | GD_FLG_DISABLE_CONSOLE);
return 0;
}
Run Code Online (Sandbox Code Playgroud)而已.希望这有助于其他人!
小智 7
设置 u-boot 环境变量bootdelay以-2禁用 UART 在 U-Boot 版本上中断启动过程的能力2017.01。看来这-1是一个特例。
common/autoboot.c有关详细信息,请参阅U-Boot 源代码树。关于U-Boot 环境变量