|
楼主 |
发表于 2016-11-22 10:41
|
显示全部楼层
本帖最后由 zeng362424 于 2016-11-22 10:48 编辑
上面这个问题,我在uboot根目录下的Makefle里面看到了定义,我编译的时候已经定义了ETH_CONFIG=_s27,编译还是出错,最后我在include/configs/db12x.h 里面直接定义了
1、
#define CFG_ATHRS27_PHY 1
#define CFG_AG7240_NMACS 2
- db12x_config : unconfig
- @ >include/config.h
- ifeq ($(ETH_CONFIG2), _s17)
- @echo '#define CONFIG_ATHRS17_PHY 1' >>include/config.h
- @echo '#define CFG_DUAL_PHY_SUPPORT 1' >>include/config.h
- else
- ifeq ($(ETH_CONFIG), _s17)
- @echo '#define CONFIG_ATHRS17_PHY 1' >>include/config.h
- @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
- endif
- endif
- ifeq ($(ETH_CONFIG2), _s17_hwaccel)
- @echo '#define CONFIG_ATHRS17_PHY 1' >>include/config.h
- @echo '#define CFG_DUAL_PHY_SUPPORT 1' >>include/config.h
- else
- ifeq ($(ETH_CONFIG), _s17_hwaccel)
- @echo '#define CONFIG_ATHRS17_PHY 1' >>include/config.h
- @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
- endif
- endif
- ifeq ($(ETH_CONFIG), _s16)
- @echo '#define CONFIG_AR7242_S16_PHY 1' >>include/config.h
- @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
- endif
- ifeq ($(ETH_CONFIG), _f1e)
- @echo '#define CONFIG_F1E_PHY 1' >>include/config.h
- @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
- endif
- ifeq ($(ETH_CONFIG), _f2e)
- @echo '#define CONFIG_F2E_PHY 1' >>include/config.h
- @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
- endif
- ifeq ($(ETH_CONFIG), _vir)
- @echo '#define CONFIG_VIR_PHY 1' >>include/config.h
- @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
- endif
- ifeq ($(ETH_CONFIG), _s27)
- @echo '#define CFG_ATHRS27_PHY 1' >>include/config.h
- @echo '#define CFG_AG7240_NMACS 2' >>include/config.h
- endif
- ifneq ($(findstring mi124,$(BUILD_CONFIG)),)
- @echo '#define CONFIG_MI124 1' >>include/config.h
- endif
- ifneq ($(findstring ap123,$(BUILD_CONFIG)),)
- @echo '#define CONFIG_AP123 1' >>include/config.h
- endif
- @echo "#define CONFIG_AR7240 1" >>include/config.h
- @echo "#define CONFIG_WASP 1" >>include/config.h
- ifdef BOOT_FROM_NAND
- @echo "#define CONFIG_ATH_NAND_FL 1" >>include/config.h
- ifeq ($(BUILD_TYPE),jffs2)
- @echo "#define CONFIG_ATH_NAND_JFFS2 1" >>include/config.h
- @echo "#define CONFIG_ATH_NAND_YAFFS 0" >>include/config.h
- else
- @echo "#define CONFIG_ATH_NAND_JFFS2 0" >>include/config.h
- @echo "#define CONFIG_ATH_NAND_YAFFS 1" >>include/config.h
- endif
- endif
- ifdef FLASH_SIZE
- @echo "#define FLASH_SIZE $(FLASH_SIZE)" >>include/config.h
- endif
- ifeq ($(DB12X_P2P_ENV), 1)
- @echo "#define CONFIG_DB12X_P2P 1" >>include/config.h
- endif
- @./mkconfig -a db12x mips mips db12x ar7240 ar7240
复制代码 2、后面编译出现led点亮和熄灭的函数以及pci初始化函数未定义,不知道怎么回事?ar7240_all_led_on();
ar7240_all_led_off();
pci_init();
没办法只有注释掉了
- void board_init_r (gd_t *id, ulong dest_addr)
- {
- cmd_tbl_t *cmdtp;
- ulong size;
- extern void malloc_bin_reloc (void);
- #ifndef CFG_ENV_IS_NOWHERE
- extern char * env_name_spec;
- #endif
- char *s, *e;
- bd_t *bd;
- int i;
- gd = id;
- gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */
- debug ("Now running in RAM - U-Boot at: %08lx\n", dest_addr);
- gd->reloc_off = dest_addr - CFG_MONITOR_BASE;
- monitor_flash_len = (ulong)&uboot_end_data - dest_addr;
- /*
- * We have to relocate the command table manually
- */
- for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) {
- ulong addr;
- addr = (ulong) (cmdtp->cmd) + gd->reloc_off;
- #if 0
- printf ("Command "%s": 0x%08lx => 0x%08lx\n",
- cmdtp->name, (ulong) (cmdtp->cmd), addr);
- #endif
- cmdtp->cmd =
- (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr;
- addr = (ulong)(cmdtp->name) + gd->reloc_off;
- cmdtp->name = (char *)addr;
- if (cmdtp->usage) {
- addr = (ulong)(cmdtp->usage) + gd->reloc_off;
- cmdtp->usage = (char *)addr;
- }
- #ifdef CFG_LONGHELP
- if (cmdtp->help) {
- addr = (ulong)(cmdtp->help) + gd->reloc_off;
- cmdtp->help = (char *)addr;
- }
- #endif
- }
- /* there are some other pointer constants we must deal with */
- #ifndef CFG_ENV_IS_NOWHERE
- env_name_spec += gd->reloc_off;
- #endif
- /* turn off switch LED added by tiger 20091225 */
- //ar7240_gpio_sw_led();
- printf("led turning on for 1s...\n");
- /* turn on all leds */
- //ar7240_all_led_on();---------------------这里提示未定义
- /* [wuzhong start], 2013-6-24
- * Since system led keeps on onboot, there is no need sleep 1 seconds in uboot.
- */
- #if defined(GPIO_KEEP_SYS_LED_ON_ONBOOT) && defined(REDUCE_BOOT_TIME_BY_KEEPING_SYS_LED_ON_ONBOOT)
- /* do nothing */
- #else
- udelay(1000000);
- #endif
- /* [wuzhong end] */
- //ar7240_all_led_off();-------------这里提示未定义
-
- /* configure available FLASH banks */
- size = flash_init();
- display_flash_config (size);
- bd = gd->bd;
- bd->bi_flashstart = CFG_FLASH_BASE;
- bd->bi_flashsize = size;
- #if CFG_MONITOR_BASE == CFG_FLASH_BASE
- bd->bi_flashoffset = monitor_flash_len; /* reserved area for U-Boot */
- #else
- bd->bi_flashoffset = 0;
- #endif
- /* initialize malloc() area */
- mem_malloc_init();
- malloc_bin_reloc();
- /* relocate environment function pointers etc. */
- env_relocate();
- /* board MAC address */
- s = getenv ("ethaddr");
- for (i = 0; i < 6; ++i) {
- bd->bi_enetaddr[i] = s ? simple_strtoul (s, &e, 16) : 0;
- if (s)
- s = (*e) ? e + 1 : e;
- }
- /* IP Address */
- bd->bi_ip_addr = getenv_IPaddr("ipaddr");
- #if defined(CONFIG_PCI)
- /*
- * Do pci configuration
- */
- //pci_init();
- #endif
- /** leave this here (after malloc(), environment and PCI are working) **/
- /* Initialize devices */
- devices_init ();
- jumptable_init ();
- /* Initialize the console (after the relocation and devices init) */
- console_init_r ();
- /** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/
- /* 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 */
- #if defined(CONFIG_MISC_INIT_R)
- /* miscellaneous platform dependent initialisations */
- misc_init_r ();
- #endif
- #if (CONFIG_COMMANDS & CFG_CMD_NET)
- #if defined(CONFIG_NET_MULTI)
- puts ("Net: ");
- #endif
- eth_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 */
- }
复制代码
3、最后uboot编译出来了,但是提示lzma:command not found,好像是没有找到压缩工具
- mips-openwrt-linux-objcopy --gap-fill=0xff -O binary bootstrap bootstrap.bin
- make: /home/zyw/work/u-boot/../../../util/lzma/bin/lzma: Command not found
- make: *** [u-boot.lzimg] Error 127
复制代码
希望知道的大神提点一下。。。。。
|
|