admin管理员组

文章数量:1570370

VS-RK3399开发板如何制作SDcard 和U盘启动和升级?
视壮科技有限公司VS3399 开发板介绍TF 和U盘启动和设计固件流程。

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 usb 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 端口(根据具体的芯片定义),没有定义或者定义过多,编译的时候都会报错提示。

本文标签: 开发板sdcard