基于DIGI boot 命令实现卡升级

本文提供了一套基于DIGI的u-boot命令高效执行的思路,包括设置mmc设备、运行特定命令和保存环境等关键步骤,旨在提高u-boot操作的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要是提供一个思路,在别人的基础上做事提高效率

基于DIGI的u-boot命令
#define MMCCDEV "setenv mmcdev 0"
#define MMCANDROID "run partition_mmc_android"
#define MMCPART "mmc part"
#define MMC_BOOT "update android mmc 1 fat boot.img"
#define MMC_SYSTEM "update system mmc 1 fat system.img"
#define MMC_BOOT_ANDROID "setenv bootcmd dboot android mmc"
#define MMC_SAVEENV "saveenv"
#define BOOTD "boot"
#define UBOOT_UP "update uboot mmc 1 fat u-boot-ccimx6sbc.imx"
#define GPIO02_IO02_MUX_CON (*(volatile unsigned long *)0x20e0304)
#define GPIO02_IO02_DATA (*(volatile unsigned long *)0x20a0000)
#define GPIO02_IO02_DIR (*(volatile unsigned long *)0x20a0004)
#define HDMI_SET "setenv video_args video=mxcfb0:dev=hdmi,1920x1080M@60"
#define FINDCONFIGFILE "fatload mmc 1 0x80008000 config "
#define FORMAT_CACHE  " bootargs_once=androidboot.cache=format " 
#define FORMAT_DATA   " bootargs_once=androidboot.data=format " 
#define CCIMX6SBC_USER_LED0	 IMX_GPIO_NR(2,2)
iomux_v3_cfg_t const mx6q_ccimx6sbc_userled_pad[] = {
MX6_PAD_NANDF_D2__GPIO_2_2|MUX_PAD_CTRL(NO_PAD_CTRL),
};
int update_mmc(void)
{
struct mmc *mmc;
int i=100*100*100;
mmc = find_mmc_device(0);
if(NULL==mmc)
return;
else {
mmc_init(mmc);
run_command(MMCCDEV,0);
printf("####################################\n");
printf("open led\n");
imx_iomux_v3_setup_multiple_pads(mx6q_ccimx6sbc_userled_pad, ARRAY_SIZE(mx6q_ccimx6sbc_userled_pad));
gpio_direction_output(CCIMX6SBC_USER_LED0,0);
gpio_set_value(CCIMX6SBC_USER_LED0, 1);
printf("0x%x\n",GPIO02_IO02_MUX_CON);
printf("0x%x\n",GPIO02_IO02_DIR);
printf("0x%x\n",GPIO02_IO02_DATA);
printf("#####################################\n");
run_command(UBOOT_UP,0);
run_command(MMCANDROID,0);
run_command(MMCPART,0);
run_command(MMC_BOOT,0);
run_command(MMC_SYSTEM,0);
run_command(MMC_BOOT_ANDROID,0);
run_command(HDMI_SET,0);
run_command(MMC_SAVEENV,0);
printf("closed led\n");
printf("#######################################\n");
gpio_set_value(CCIMX6SBC_USER_LED0, 0);
run_command(BOOTD,0);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值