Browse Source

tools: plbimage support generate rcw file

some system will not generate pbl format u-boot, but require rcw.

Signed-off-by: yuan linyu <Linyu.Yuan@alcatel-sbell.com.cn>
Reviewed-by: Alison Wang <alison.wang@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
tags/2020-06-01
yuan linyu 4 years ago
committed by York Sun
parent
commit
33ed57495a
1 changed files with 27 additions and 21 deletions
  1. +27
    -21
      tools/pblimage.c

+ 27
- 21
tools/pblimage.c View File

@@ -194,17 +194,20 @@ void pbl_load_uboot(int ifd, struct image_tool_params *params)
pbl_parser(params->imagename);

/* parse the pbi.cfg file. */
pbl_parser(params->imagename2);
if (params->imagename2[0] != '\0')
pbl_parser(params->imagename2);

if (params->datafile) {
fp_uboot = fopen(params->datafile, "r");
if (fp_uboot == NULL) {
printf("Error: %s open failed\n", params->datafile);
exit(EXIT_FAILURE);
}

fp_uboot = fopen(params->datafile, "r");
if (fp_uboot == NULL) {
printf("Error: %s open failed\n", params->datafile);
exit(EXIT_FAILURE);
load_uboot(fp_uboot);
fclose(fp_uboot);
}

load_uboot(fp_uboot);
add_end_cmd();
fclose(fp_uboot);
lseek(ifd, 0, SEEK_SET);

size = pbl_size;
@@ -265,21 +268,24 @@ int pblimage_check_params(struct image_tool_params *params)
if (!params)
return EXIT_FAILURE;

fp_uboot = fopen(params->datafile, "r");
if (fp_uboot == NULL) {
printf("Error: %s open failed\n", params->datafile);
exit(EXIT_FAILURE);
}
fd = fileno(fp_uboot);
if (params->datafile) {
fp_uboot = fopen(params->datafile, "r");
if (fp_uboot == NULL) {
printf("Error: %s open failed\n", params->datafile);
exit(EXIT_FAILURE);
}
fd = fileno(fp_uboot);

if (fstat(fd, &st) == -1) {
printf("Error: Could not determine u-boot image size. %s\n",
strerror(errno));
exit(EXIT_FAILURE);
}
if (fstat(fd, &st) == -1) {
printf("Error: Could not determine u-boot image size. %s\n",
strerror(errno));
exit(EXIT_FAILURE);
}

/* For the variable size, we need to pad it to 64 byte boundary */
uboot_size = roundup(st.st_size, 64);
/* For the variable size, pad it to 64 byte boundary */
uboot_size = roundup(st.st_size, 64);
fclose(fp_uboot);
}

if (params->arch == IH_ARCH_ARM) {
arch_flag = IH_ARCH_ARM;