Warning - bad CRC, using default environment

来源:互联网 发布:单片机步进电机 编辑:程序博客网 时间:2024/05/17 22:18

U-Boot 1.1.6 (Jan 19 2015 - 15:14:53) Mindspeed 0.08.0 C300_V2 EVM
ARM 550MHz, SPU 425MHz, BUS 150MHz

DRAM:  128 MB
Comcerto Flash Subsystem Initialization
Flash: 64 MB
*** Warning - bad CRC, using default environment

void start_armboot (void){init_fnc_t **init_fnc_ptr;char *s;#ifndef CFG_NO_FLASHulong size;#endif#if defined(CONFIG_VFD) || defined(CONFIG_LCD)unsigned long addr;#endif/* Pointer is writable since we allocated a register for it */gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t));/* compiler optimization barrier needed for GCC >= 3.4 */__asm__ __volatile__("": : :"memory");memset ((void*)gd, 0, sizeof (gd_t));gd->bd = (bd_t*)((char*)gd - sizeof(bd_t));memset (gd->bd, 0, sizeof (bd_t));monitor_flash_len = _bss_start - _armboot_start;for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {if ((*init_fnc_ptr)() != 0) {hang ();}}#ifndef CFG_NO_FLASH/* configure available FLASH banks */size = flash_init ();display_flash_config (size);#endif /* CFG_NO_FLASH */#ifdef CONFIG_VFD#ifndef PAGE_SIZE#  define PAGE_SIZE 4096#endif/* * reserve memory for VFD display (always full pages) *//* bss_end is defined in the board-specific linker script */addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);size = vfd_setmem (addr);gd->fb_base = addr;#endif /* CONFIG_VFD */#ifdef CONFIG_LCD#ifndef PAGE_SIZE#  define PAGE_SIZE 4096#endif/* * reserve memory for LCD display (always full pages) *//* bss_end is defined in the board-specific linker script */addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);size = lcd_setmem (addr);gd->fb_base = addr;#endif /* CONFIG_LCD *//* armboot_start is defined in the board-specific linker script */mem_malloc_init (_armboot_start - CFG_MALLOC_LEN);#if (CONFIG_COMMANDS & CFG_CMD_NAND)puts ("NAND:  ");nand_init();/* go init the NAND */#endif#ifdef CONFIG_HAS_DATAFLASHAT91F_DataflashInit();dataflash_print_info();#endif/* initialize environment */env_relocate (); #ifdef CONFIG_VFD/* must do this after the framebuffer is allocated */drv_vfd_init();#endif /* CONFIG_VFD *//* IP Address */gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr");/* MAC Address */{int i;ulong reg;char *s, *e;char tmp[64];i = getenv_r ("ethaddr", tmp, sizeof (tmp));s = (i > 0) ? tmp : NULL;for (reg = 0; reg < 6; ++reg) {gd->bd->bi_enetaddr[reg] = s ? simple_strtoul (s, &e, 16) : 0;if (s)s = (*e) ? e + 1 : e;}#ifdef CONFIG_HAS_ETH1i = getenv_r ("eth1addr", tmp, sizeof (tmp));s = (i > 0) ? tmp : NULL;for (reg = 0; reg < 6; ++reg) {gd->bd->bi_enet1addr[reg] = s ? simple_strtoul (s, &e, 16) : 0;if (s)s = (*e) ? e + 1 : e;}#endif}devices_init ();/* get the devices list going. */#ifdef CONFIG_CMC_PU2load_sernum_ethaddr ();#endif /* CONFIG_CMC_PU2 */jumptable_init ();console_init_r ();/* fully init console as a device */#if defined(CONFIG_MISC_INIT_R)/* miscellaneous platform dependent initialisations */misc_init_r ();#endif/* enable exceptions */enable_interrupts ();/* Perform network card initialisation if necessary */#ifdef CONFIG_DRIVER_CS8900cs8900_get_enetaddr (gd->bd->bi_enetaddr);#endif#if defined(CONFIG_DRIVER_SMC91111) || defined (CONFIG_DRIVER_LAN91C96)if (getenv ("ethaddr")) {smc_set_mac_addr(gd->bd->bi_enetaddr);}#endif /* CONFIG_DRIVER_SMC91111 || CONFIG_DRIVER_LAN91C96 *//* Initialize from environment */if ((s = getenv ("loadaddr")) != NULL) {load_addr = simple_strtoul (s, NULL, 16);}#if (CONFIG_COMMANDS & CFG_CMD_NET)if ((s = getenv ("bootfile")) != NULL) {copy_filename (BootFile, s, sizeof (BootFile));}#endif/* CFG_CMD_NET */#ifdef BOARD_LATE_INITboard_late_init ();#endif#if (CONFIG_COMMANDS & CFG_CMD_NET)#if defined(CONFIG_NET_MULTI)puts ("Net:   ");#endifeth_initialize(gd->bd);#endif/* main_loop() can return to retry autoboot, if so just run it again. */for (;;) {main_loop ();}/* NOTREACHED - no way out of command loop except booting */}

Starting kernel machine id:13b...
Uncompressing Linux............................................................................................................................... done, booting the kernel.

ulgdecompress_kernel(ulg output_start, ulg free_mem_ptr_p, ulg free_mem_ptr_end_p,  int arch_id){output_data= (uch *)output_start;/* Points to kernel start */free_mem_ptr= free_mem_ptr_p;free_mem_ptr_end= free_mem_ptr_end_p;__machine_arch_type= arch_id;arch_decomp_setup();makecrc();putstr("Uncompressing Linux...");gunzip();putstr(" done, booting the kernel.\n");return output_ptr;}

/* * We're not in danger of overwriting ourselves.  Do this the simple way. * * r4     = kernel execution address * r7     = architecture ID */wont_overwrite:movr0, r4movr3, r7bldecompress_kernelbcall_kernel
G:\sftp\c3001\c300\linux\arch\arm\boot\compressed\vmlinux.lds (1 hit)
OUTPUT_ARCH(arm)ENTRY(_start)SECTIONS{  . = 0;  _text = .;  .text : {    _start = .;    *(.start)    *(.text)    *(.text.*)    *(.fixup)    *(.gnu.warning)    *(.rodata)    *(.rodata.*)    *(.glue_7)    *(.glue_7t)    *(.piggydata)    . = ALIGN(4);  }  _etext = .;  _got_start = .;  .got: { *(.got) }  _got_end = .;  .got.plt: { *(.got.plt) }  .data: { *(.data) }  _edata = .;  . = ALIGN(4);  __bss_start = .;  .bss: { *(.bss) }  _end = .;  .stack (NOLOAD): { *(.stack) }  .stab 0: { *(.stab) }  .stabstr 0: { *(.stabstr) }  .stab.excl 0: { *(.stab.excl) }  .stab.exclstr 0: { *(.stab.exclstr) }  .stab.index 0: { *(.stab.index) }  .stab.indexstr 0: { *(.stab.indexstr) }  .comment 0: { *(.comment) }}
G:\sftp\c3001\c300\linux\arch\arm\kernel\vmlinux.lds (6 hits)
OUTPUT_ARCH(arm)ENTRY(stext)jiffies = jiffies_64;SECTIONS{ . = (0xc0000000) + 0x00008000; .text.head : {  _stext = .;  _sinittext = .;  *(.text.head) } .init : { /* Init code and data*/   *(.init.text)  _einittext = .;  __proc_info_begin = .;   *(.proc.info.init)  __proc_info_end = .;  __arch_info_begin = .;   *(.arch.info.init)  __arch_info_end = .;  __tagtable_begin = .;   *(.taglist.init)  __tagtable_end = .;  . = ALIGN(16);  __setup_start = .;   *(.init.setup)  __setup_end = .;  __early_begin = .;   *(.early_param.init)  __early_end = .;  __initcall_start = .;   *(.initcall0.init) *(.initcall0s.init) *(.initcall1.init) *(.initcall1s.init) *(.initcall2.init) *(.initcall2s.init) *(.initcall3.init) *(.initcall3s.init) *(.initcall4.init) *(.initcall4s.init) *(.initcall5.init) *(.initcall5s.init) *(.initcallrootfs.init) *(.initcall6.init) *(.initcall6s.init) *(.initcall7.init) *(.initcall7s.init)  __initcall_end = .;  __con_initcall_start = .;   *(.con_initcall.init)  __con_initcall_end = .;  __security_initcall_start = .;   *(.security_initcall.init)  __security_initcall_end = .;  . = ALIGN(4096);  __per_cpu_start = .;   *(.data.percpu)  __per_cpu_end = .;  __init_begin = _stext;  *(.init.data)  . = ALIGN(4096);  __init_end = .; } /DISCARD/ : { /* Exit code and data*/  *(.exit.text)  *(.exit.data)  *(.exitcall.exit) } .text : { /* Real text segment*/  _text = .; /* Text and read-only data*/   __exception_text_start = .;   *(.exception.text)   __exception_text_end = .;   . = ALIGN(8); *(.text) *(.text.init.refok)   . = ALIGN(8); __sched_text_start = .; *(.sched.text) __sched_text_end = .;   . = ALIGN(8); __lock_text_start = .; *(.spinlock.text) __lock_text_end = .;   *(.fixup)   *(.gnu.warning)   *(.rodata)   *(.rodata.*)   *(.glue_7)   *(.glue_7t)  *(.got) /* Global offset table*/ } . = ALIGN((4096)); .rodata : AT(ADDR(.rodata) - 0) { __start_rodata = .; *(.rodata) *(.rodata.*) *(__vermagic) } .rodata1 : AT(ADDR(.rodata1) - 0) { *(.rodata1) } .pci_fixup : AT(ADDR(.pci_fixup) - 0) { __start_pci_fixups_early = .; *(.pci_fixup_early) __end_pci_fixups_early = .; __start_pci_fixups_header = .; *(.pci_fixup_header) __end_pci_fixups_header = .; __start_pci_fixups_final = .; *(.pci_fixup_final) __end_pci_fixups_final = .; __start_pci_fixups_enable = .; *(.pci_fixup_enable) __end_pci_fixups_enable = .; __start_pci_fixups_resume = .; *(.pci_fixup_resume) __end_pci_fixups_resume = .; } .rio_route : AT(ADDR(.rio_route) - 0) { __start_rio_route_ops = .; *(.rio_route_ops) __end_rio_route_ops = .; } __ksymtab : AT(ADDR(__ksymtab) - 0) { __start___ksymtab = .; *(__ksymtab) __stop___ksymtab = .; } __ksymtab_gpl : AT(ADDR(__ksymtab_gpl) - 0) { __start___ksymtab_gpl = .; *(__ksymtab_gpl) __stop___ksymtab_gpl = .; } __ksymtab_unused : AT(ADDR(__ksymtab_unused) - 0) { __start___ksymtab_unused = .; *(__ksymtab_unused) __stop___ksymtab_unused = .; } __ksymtab_unused_gpl : AT(ADDR(__ksymtab_unused_gpl) - 0) { __start___ksymtab_unused_gpl = .; *(__ksymtab_unused_gpl) __stop___ksymtab_unused_gpl = .; } __ksymtab_gpl_future : AT(ADDR(__ksymtab_gpl_future) - 0) { __start___ksymtab_gpl_future = .; *(__ksymtab_gpl_future) __stop___ksymtab_gpl_future = .; } __kcrctab : AT(ADDR(__kcrctab) - 0) { __start___kcrctab = .; *(__kcrctab) __stop___kcrctab = .; } __kcrctab_gpl : AT(ADDR(__kcrctab_gpl) - 0) { __start___kcrctab_gpl = .; *(__kcrctab_gpl) __stop___kcrctab_gpl = .; } __kcrctab_unused : AT(ADDR(__kcrctab_unused) - 0) { __start___kcrctab_unused = .; *(__kcrctab_unused) __stop___kcrctab_unused = .; } __kcrctab_unused_gpl : AT(ADDR(__kcrctab_unused_gpl) - 0) { __start___kcrctab_unused_gpl = .; *(__kcrctab_unused_gpl) __stop___kcrctab_unused_gpl = .; } __kcrctab_gpl_future : AT(ADDR(__kcrctab_gpl_future) - 0) { __start___kcrctab_gpl_future = .; *(__kcrctab_gpl_future) __stop___kcrctab_gpl_future = .; } __ksymtab_strings : AT(ADDR(__ksymtab_strings) - 0) { *(__ksymtab_strings) } __param : AT(ADDR(__param) - 0) { __start___param = .; *(__param) __stop___param = .; __end_rodata = .; } . = ALIGN((4096)); _etext = .; /* End of text and rodata section */ . = ALIGN(8192); __data_loc = .; .data : AT(__data_loc) {  __data_start = .; /* address in memory */  /* * first, the init task union, aligned * to an 8192 byte boundary. */  *(.data.init_task)  . = ALIGN(4096);  __nosave_begin = .;  *(.data.nosave)  . = ALIGN(4096);  __nosave_end = .;  /* * then the cacheline aligned data */  . = ALIGN(32);  *(.data.cacheline_aligned)  /* * The exception fixup table (might need resorting at runtime) */  . = ALIGN(32);  __start___ex_table = .;  *(__ex_table)  __stop___ex_table = .;  /* * and the usual data section */  *(.data) *(.data.init.refok)  CONSTRUCTORS  _edata = .; } _edata_loc = __data_loc + SIZEOF(.data); .bss : {  __bss_start = .; /* BSS*/  *(.bss)  *(COMMON)  _end = .; }     /* Stabs debugging sections.*/ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) }}







0 0
原创粉丝点击