瑞芯微Rockchip开发者社区
直播中

吕珠峰

10年用户 805经验值
擅长:可编程逻辑
私信 关注
[问答]

请问大佬VS-RK3399开发板如何制作SDcard 和U盘启动和升级?

请问大佬VS-RK3399开发板如何制作SDcard 和U盘启动和升级?

回帖(1)

冯敬宇

2022-3-4 09:19:35
1、SDCard启动和升级配置


SDCard升级和启动功能由宏CONFIG_RK_SDCARD_BOOT_EN配置,rk_default_config.h默认关闭,如果需要使用该功能,请在rkxxplat.h相关平台配置文件中定义打开。
UBoot 识别到升级的sdcard,串口会打印信息: SDCard Update.
如果是启动的sdcard,则会打印信息: SDCard Boot.
上面要认真查看android sdk7.1提供的源代码中uboot代码,在configs文件中。对比一下就可以看出来。相关的文件有没有定。

2、U盘启动和升级配置


U盘升级和启动功能由宏CONFIG_RK_UMS_BOOT_EN配置,rk_default_config.h默认关闭,如果需要使用该功能,请在rkxxplat.h相关平台配置文件中定义打开。 UBoot 识别到升级的U盘,串口会打印信息: UMS Update.
如果是启动的sdcard,则会打印信息: UMS Boot.
功能配置
UMS相关的宏定义在相应的rkxxplat.h中

CONFIG_RK_UMS_BOOT_EN

配置U-Boot是否支持U盘启动和升级功能,define 打开undef 关闭。

RKUSB_UMS_BOOT_FROM_DWC2_OTG
RKUSB_UMS_BOOT_FROM_DWC2_HOST
RKUSB_UMS_BOOT_FROM_EHCI_HOST1
RKUSB_UMS_BOOT_FROM_EHCI_HOST2
RKUSB_UMS_BOOT_FROM_EHCI_HOST3

五选一,由于U-Boot USB框架的限制,只能开启一个USB控制器打开 U盘启动功能。 这里以rk32plat.h 相关的代码为例:

#ifdef CONFIG_RK_UMS_BOOT_EN
/*
* USB Host support, default no using
* Please first select USB host controller if you want to use UMS Boot
* Up to one USB host controller could be selected to enable for booting
* from USB Mass Storage device. * * PLS define a host controler from:
* RKUSB_UMS_BOOT_FROM_DWC2_OTG
* RKUSB_UMS_BOOT_FROM_EHCI_HOST1
* RKUSB_UMS_BOOT_FROM_DWC2_HOST
* First define the host controller here */
/* Check UMS Boot Host define */
#define RKUSB_UMS_BOOT_CNT (defined(RKUSB_UMS_BOOT_FROM_DWC2_OTG) +  defined(RKUSB_UMS_BOOT_FROM_EHCI_HOST1) +  defined(RKUSB_UMS_BOOT_FROM_DWC2_HOST))
#if (RKUSB_UMS_BOOT_CNT == 0)
#error "PLS Select a USB host controller!"
#elif (RKUSB_UMS_BOOT_CNT > 1)
#error "Only one USB host controller can be selected!"
#else
#define CONFIG_CMD_USB
#define CONFIG_USB_STORAGE
#define CONFIG_PARTITIONS
#endif /*
* USB Host support, default no using
* please first check plat if you want to using u*** host */
#if defined(RKUSB_UMS_BOOT_FROM_EHCI_HOST1)
#define CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_RK
#elif defined(RKUSB_UMS_BOOT_FROM_DWC2_HOST) || defined(RKUSB_UMS_BOOT_FROM_DWC2_OTG) #define CONFIG_USB_DWC_HCD
#endif
#endif /* CONFIG_RK_UMS_BOOT_EN */

当使能CONFIG_RK_UMS_BOOT_EN后,必须定义相应的HOST 端口(根据具体的芯片定义),没有定义或者定义过多,编译的时候都会报错提示。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分