marvell 88f6282 工程包制作

一、uboot的编译

下载uboot 1.1.4,并用marvell提供的补丁覆盖

根据板子的uboot启动信息,判断出编译参数:

#
         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
_   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/    |____/ \___/ \___/ \__|
** MARVELL BOARD: RD-88F6282A LE

U-Boot 1.1.4 (Jul  8 2010 - 14:33:12) Marvell version: 3.5.6

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CFB00

Soc: 88F6282 A0CPU running @ 1600Mhz L2 running @ 533Mhz
SysClock = 533Mhz , TClock = 200Mhz

DRAM (DDR3) CAS Latency = 7 tRP = 8 tRAS = 20 tRCD=8
DRAM CS[0] base 0x00000000   size 256MB
DRAM CS[1] base 0x10000000   size 256MB
DRAM Total size 512MB  16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB
Flash:  0 kB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled

Module 0 is RGMII
Module 1 is TDM

USB 0: host mode
PEX 0: interface detected no Link.
PEX 1: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0
Marvell>>

make rd88f6282a_config  SPIBOOT=1 DDR3=1

make 发现错误

/bin/sh: -c: line 0: 在未预料的“(”附近出现语法错误

/bin/sh: -c: line 0: `arm-mv5sft-linux-gnueabi-gcc -M \044(MV_IMAGE_FLAGS) \044(MV_FLAGS) -g

。。。

修改include/config.mk

CPPFLAGS += \044(MV_IMAGE_FLAGS) \044(MV_FLAGS)

把它改为CPPFLAGS += $(MV_IMAGE_FLAGS) $(MV_FLAGS) 就可以了

make

。。。。

arm-mv5sft-linux-gnueabi-gcc -DMV_SEC_256K -DMV_BOOTSIZE_16M -DMV_LARGE_PAGE -DMV88F6282 -DRD_88F6282A -DMV_BOOTROM -DMV_MMC -DMV_USB -DCONFIG_CMD_USB -DMV_SPI -DMV_SPI_BOOT -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -Wall -Wstrict-prototypes -c -o spartan2.o spartan2.c
arm-mv5sft-linux-gnueabi-gcc -DMV_SEC_256K -DMV_BOOTSIZE_16M -DMV_LARGE_PAGE -DMV88F6282 -DRD_88F6282A -DMV_BOOTROM -DMV_MMC -DMV_USB -DCONFIG_CMD_USB -DMV_SPI -DMV_SPI_BOOT -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -Wall -Wstrict-prototypes -c -o spartan3.o spartan3.c
arm-mv5sft-linux-gnueabi-gcc -DMV_SEC_256K -DMV_BOOTSIZE_16M -DMV_LARGE_PAGE -DMV88F6282 -DRD_88F6282A -DMV_BOOTROM -DMV_MMC -DMV_USB -DCONFIG_CMD_USB -DMV_SPI -DMV_SPI_BOOT -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -Wall -Wstrict-prototypes -c -o usb.o usb.c
usb.c:71: warning: function declaration isn't a prototype
usb.c: In function 'usb_stop':
usb.c:153: warning: unused variable 'i'
usb.c: In function 'usb_new_device':
usb.c:842: warning: case label value exceeds maximum value for type
arm-mv5sft-linux-gnueabi-gcc -DMV_SEC_256K -DMV_BOOTSIZE_16M -DMV_LARGE_PAGE -DMV88F6282 -DRD_88F6282A -DMV_BOOTROM -DMV_MMC -DMV_USB -DCONFIG_CMD_USB -DMV_SPI -DMV_SPI_BOOT -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -Wall -Wstrict-prototypes -c -o usb_kbd.o usb_kbd.c
arm-mv5sft-linux-gnueabi-gcc -DMV_SEC_256K -DMV_BOOTSIZE_16M -DMV_LARGE_PAGE -DMV88F6282 -DRD_88F6282A -DMV_BOOTROM -DMV_MMC -DMV_USB -DCONFIG_CMD_USB -DMV_SPI -DMV_SPI_BOOT -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -Wall -Wstrict-prototypes -c -o usb_storage.o usb_storage.c
usb_storage.c: In function 'usb_stor_scan':
usb_storage.c:228: warning: assignment from incompatible pointer type
arm-mv5sft-linux-gnueabi-gcc -DMV_SEC_256K -DMV_BOOTSIZE_16M -DMV_LARGE_PAGE -DMV88F6282 -DRD_88F6282A -DMV_BOOTROM -DMV_MMC -DMV_USB -DCONFIG_CMD_USB -DMV_SPI -DMV_SPI_BOOT -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -Wall -Wstrict-prototypes -c -o virtex2.o virtex2.c
arm-mv5sft-linux-gnueabi-gcc -DMV_SEC_256K -DMV_BOOTSIZE_16M -DMV_LARGE_PAGE -DMV88F6282 -DRD_88F6282A -DMV_BOOTROM -DMV_MMC -DMV_USB -DCONFIG_CMD_USB -DMV_SPI -DMV_SPI_BOOT -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -g  -Os   -fno-strict-aliasing  -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DTEXT_BASE=0x00600000 -I/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv5t -Wall -Wstrict-prototypes -c -o xilinx.o xilinx.c
arm-mv5sft-linux-gnueabi-ar crv libcommon.a  main.o ACEX1K.o altera.o bedbug.o circbuf.o cmd_ace.o cmd_autoscript.o cmd_bdinfo.o cmd_bedbug.o cmd_bmp.o cmd_boot.o cmd_bootm.o cmd_cache.o cmd_console.o cmd_date.o cmd_dcr.o cmd_diag.o cmd_display.o cmd_doc.o cmd_dtt.o cmd_eeprom.o cmd_elf.o cmd_ext2.o cmd_fat.o cmd_fdc.o cmd_fdos.o cmd_flash.o cmd_fpga.o cmd_i2c.o cmd_ide.o cmd_immap.o cmd_itest.o cmd_jffs2.o cmd_load.o cmd_log.o cmd_mem.o cmd_mii.o cmd_misc.o cmd_mmc.o cmd_nand.o cmd_net.o cmd_nvedit.o cmd_pci.o cmd_pcmcia.o cmd_portio.o cmd_reginfo.o cmd_reiser.o cmd_scsi.o cmd_spi.o cmd_universe.o cmd_usb.o cmd_vfd.o command.o console.o devices.o dlmalloc.o docecc.o environment.o env_common.o env_nand.o env_dataflash.o env_flash.o env_eeprom.o env_nvram.o env_nowhere.o exports.o flash.o fpga.o ft_build.o hush.o kgdb.o lcd.o lists.o lynxkdi.o memsize.o miiphybb.o miiphyutil.o s_record.o serial.o soft_i2c.o soft_spi.o spartan2.o spartan3.o usb.o usb_kbd.o usb_storage.o virtex2.o xilinx.o
a - main.o
a - ACEX1K.o
a - altera.o
a - bedbug.o
a - circbuf.o
a - cmd_ace.o
a - cmd_autoscript.o
a - cmd_bdinfo.o
a - cmd_bedbug.o
a - cmd_bmp.o
a - cmd_boot.o
a - cmd_bootm.o
a - cmd_cache.o
a - cmd_console.o
a - cmd_date.o
a - cmd_dcr.o
a - cmd_diag.o
a - cmd_display.o
a - cmd_doc.o
a - cmd_dtt.o
a - cmd_eeprom.o
a - cmd_elf.o
a - cmd_ext2.o
a - cmd_fat.o
a - cmd_fdc.o
a - cmd_fdos.o
a - cmd_flash.o
a - cmd_fpga.o
a - cmd_i2c.o
a - cmd_ide.o
a - cmd_immap.o
a - cmd_itest.o
a - cmd_jffs2.o
a - cmd_load.o
a - cmd_log.o
a - cmd_mem.o
a - cmd_mii.o
a - cmd_misc.o
a - cmd_mmc.o
a - cmd_nand.o
a - cmd_net.o
a - cmd_nvedit.o
a - cmd_pci.o
a - cmd_pcmcia.o
a - cmd_portio.o
a - cmd_reginfo.o
a - cmd_reiser.o
a - cmd_scsi.o
a - cmd_spi.o
a - cmd_universe.o
a - cmd_usb.o
a - cmd_vfd.o
a - command.o
a - console.o
a - devices.o
a - dlmalloc.o
a - docecc.o
a - environment.o
a - env_common.o
a - env_nand.o
a - env_dataflash.o
a - env_flash.o
a - env_eeprom.o
a - env_nvram.o
a - env_nowhere.o
a - exports.o
a - flash.o
a - fpga.o
a - ft_build.o
a - hush.o
a - kgdb.o
a - lcd.o
a - lists.o
a - lynxkdi.o
a - memsize.o
a - miiphybb.o
a - miiphyutil.o
a - s_record.o
a - serial.o
a - soft_i2c.o
a - soft_spi.o
a - spartan2.o
a - spartan3.o
a - usb.o
a - usb_kbd.o
a - usb_storage.o
a - virtex2.o
a - xilinx.o
make[1]:正在离开目录 `/opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/common'
UNDEF_SYM=`arm-mv5sft-linux-gnueabi-objdump -x lib_generic/libgeneric.a board/mv_feroceon/config_kw/libconfig_kw.a cpu/arm926ejs/libarm926ejs.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/usb/libusb.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
        arm-mv5sft-linux-gnueabi-ld -Bstatic -T /opt/qt-everywhere/marvell/BSP/u-boot-1.1.4/board/mv_feroceon/config_kw/u-boot.lds -Ttext 0x00600000  $UNDEF_SYM cpu/arm926ejs/start.o \
            --start-group lib_generic/libgeneric.a board/mv_feroceon/config_kw/libconfig_kw.a cpu/arm926ejs/libarm926ejs.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/usb/libusb.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a --end-group -L /opt/qt-everywhere/marvell/SDK/cross/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2 -lgcc \
            -Map u-boot.map -o u-boot
arm-mv5sft-linux-gnueabi-objcopy --gap-fill=0xff -O srec u-boot u-boot.srec
cp -f u-boot.srec u-boot-rd88f6282a.srec
arm-mv5sft-linux-gnueabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin
cp -f u-boot.bin u-boot-rd88f6282a.bin
./tools/doimage -T flash -D 0x600000 -E 0x670000 -R dramregs_533ddr3db_A.txt u-boot-rd88f6282a.bin u-boot-rd88f6282a_533ddr3db_flash.bin
u-boot-rd88f6282a_533ddr3db_flash.bin was created
./tools/doimage -T uart -D 0x600000 -E 0x670000 -R dramregs_533ddr3db_A.txt u-boot-rd88f6282a.bin u-boot-rd88f6282a_533ddr3db_uart.bin
u-boot-rd88f6282a_533ddr3db_uart.bin was created
cp -f u-boot u-boot-rd88f6282a

二、工程包制作

M25PX64型号的flash

选择numonyx so16封装

使用 u-boot-rd88f6282a_533ddr3db_flash.bin制作

具体看工程包文档

原文地址:https://www.cnblogs.com/cute/p/1997909.html