arch/arm/include/asm/arch-mx6/imx-regs.h
#define SRC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x58000)
#define AIPS1_OFF_BASE_ADDR (ATZ1_BASE_ADDR + 0x80000)
#define ATZ1_BASE_ADDR AIPS1_ARB_BASE_ADDR
#define AIPS1_ARB_BASE_ADDR 0x02000000
1.在uboot-imx/common目录下新建cmd_download.c
#include <common.h>
#include <command.h>
#include <asm/io.h>
#include <asm/arch-mx6/imx-regs.h>
static int do_mfgdownload(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]){
u32 reg;
printf("enter mfg download\n");
reg = readl(SRC_BASE_ADDR + 0x40);
reg |= 0x00000030;
writel(reg, SRC_BASE_ADDR + 0x40);
reg = readl(SRC_BASE_ADDR + 0x44);
reg |= 0x10000000;
writel(reg, SRC_BASE_ADDR + 0x44);
do_reset(NULL, 0, 0, NULL);
return 0;
}
U_BOOT_CMD(
download_mode, 1, 1, do_mfgdownload,
"download_mode - enter i.MX usb download mode",
""
);
2.添加到Makefile
--- a/bootable/bootloader/uboot-imx/common/Makefile
+++ b/bootable/bootloader/uboot-imx/common/Makefile
@@ -37,6 +37,7 @@ obj-y += cmd_help.o
obj-y += cmd_version.o
# environment
+obj-y += cmd_download.o
3.U_BOOT_CMD命令格式
U_BOOT_CMD(_name, _maxargs, _rep, _cmd, _usage, _help)
_name 在u-boot终端中要执行的命令名
_maxargs 命令的最大参数个数
_rep 是否自动重复
_cmd 该命令要执行的函数
_usage 简短的使用说明
_help 较详细的使用说明
#define SRC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x58000)
#define AIPS1_OFF_BASE_ADDR (ATZ1_BASE_ADDR + 0x80000)
#define ATZ1_BASE_ADDR AIPS1_ARB_BASE_ADDR
#define AIPS1_ARB_BASE_ADDR 0x02000000
1.在uboot-imx/common目录下新建cmd_download.c
#include <common.h>
#include <command.h>
#include <asm/io.h>
#include <asm/arch-mx6/imx-regs.h>
static int do_mfgdownload(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]){
u32 reg;
printf("enter mfg download\n");
reg = readl(SRC_BASE_ADDR + 0x40);
reg |= 0x00000030;
writel(reg, SRC_BASE_ADDR + 0x40);
reg = readl(SRC_BASE_ADDR + 0x44);
reg |= 0x10000000;
writel(reg, SRC_BASE_ADDR + 0x44);
do_reset(NULL, 0, 0, NULL);
return 0;
}
U_BOOT_CMD(
download_mode, 1, 1, do_mfgdownload,
"download_mode - enter i.MX usb download mode",
""
);
2.添加到Makefile
--- a/bootable/bootloader/uboot-imx/common/Makefile
+++ b/bootable/bootloader/uboot-imx/common/Makefile
@@ -37,6 +37,7 @@ obj-y += cmd_help.o
obj-y += cmd_version.o
# environment
+obj-y += cmd_download.o
3.U_BOOT_CMD命令格式
U_BOOT_CMD(_name, _maxargs, _rep, _cmd, _usage, _help)
_name 在u-boot终端中要执行的命令名
_maxargs 命令的最大参数个数
_rep 是否自动重复
_cmd 该命令要执行的函数
_usage 简短的使用说明
_help 较详细的使用说明