您的位置:首页 > 其它

imx6 u-boot2015.04 添加进入download模式的命令

2017-10-27 14:56 295 查看
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     较详细的使用说明
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: