static void do_mem(int argc, char *argv[]);
RedBoot_cmd("mem",
- "Set a memory location",
- "[-h|-b] [-n] [-a <address>] <data>",
- do_mem
- );
+ "Set a memory location",
+ "[-h|-b] [-n] [-a <address>] <data>",
+ do_mem
+ );
RedBoot_cmd("run",
- "Run an image at a location with MMU off",
- "[<virtual addr>]",
- runImg
- );
+ "Run an image at a location with MMU off",
+ "[<virtual addr>]",
+ runImg
+ );
static void do_mem(int argc, char *argv[])
{
diag_printf(" Set 0x%08lX to 0x%02X\n", address, value);
} else {
diag_printf(" Set 0x%08lX to 0x%02X (result 0x%02X)\n",
- address, value, (int)*(cyg_uint8*)address );
+ address, value, (int)*(cyg_uint8*)address );
}
} else if (mem_half_word) {
if (address & 1) {
diag_printf(" Set 0x%08lX to 0x%04X\n", address, value);
} else {
diag_printf(" Set 0x%08lX to 0x%04X (result 0x%04X)\n",
- address, value, (int)*(cyg_uint16*)address);
+ address, value, (int)*(cyg_uint16*)address);
}
}
} else {
diag_printf(" Set 0x%08lX to 0x%08X\n", address, value);
} else {
diag_printf(" Set 0x%08lX to 0x%08X (result 0x%08X)\n",
- address, value, (int)*(cyg_uint32*)address);
+ address, value, (int)*(cyg_uint32*)address);
}
}
}
void launchRunImg(unsigned long addr)
{
- asm volatile ("mov r12, r0;");
- HAL_MMU_OFF();
- asm volatile (
- "mov r0, #0;"
- "mov r1, r12;"
- "mov r11, #0;"
- "mov r12, #0;"
- "mrs r10, cpsr;"
- "bic r10, r10, #0xF0000000;"
- "msr cpsr_f, r10;"
- "mov pc, r1"
- );
+ asm volatile ("mov r12, r0;");
+ HAL_MMU_OFF();
+ asm volatile (
+ "mov r0, #0;"
+ "mov r1, r12;"
+ "mov r11, #0;"
+ "mov r12, #0;"
+ "mrs r10, cpsr;"
+ "bic r10, r10, #0xF0000000;"
+ "msr cpsr_f, r10;"
+ "mov pc, r1"
+ );
}
static void runImg(int argc,char *argv[])
virt_addr = entry_address;
if (!scan_opts(argc, argv, 1, 0, 0, &virt_addr,
- OPTION_ARG_TYPE_NUM, "virtual address"))
+ OPTION_ARG_TYPE_NUM, "virtual address"))
return;
if (entry_address != 0xFFFFFFFF)
#if defined(CYGSEM_REDBOOT_FLASH_CONFIG) && defined(CYG_HAL_STARTUP_ROMRAM)
RedBoot_cmd("romupdate",
- "Update Redboot with currently running image",
- "",
- romupdate
- );
+ "Update Redboot with currently running image",
+ "",
+ romupdate
+ );
#ifdef CYGPKG_IO_FLASH
void romupdate(int argc, char *argv[])
// Erase area to be programmed
if ((stat = flash_erase(base_addr, CYGBLD_REDBOOT_MIN_IMAGE_SIZE, &err_addr)) != 0) {
diag_printf("Can't erase region at %p: %s\n",
- err_addr, flash_errmsg(stat));
+ err_addr, flash_errmsg(stat));
return;
}
// Now program it
if ((stat = flash_program(base_addr, ram_end,
CYGBLD_REDBOOT_MIN_IMAGE_SIZE, &err_addr)) != 0) {
diag_printf("Can't program region at %p: %s\n",
- err_addr, flash_errmsg(stat));
+ err_addr, flash_errmsg(stat));
}
}
#endif //CYGPKG_IO_FLASH