From: Mike Line Date: Wed, 3 Nov 2010 18:33:46 +0000 (-0400) Subject: Added template files for dual endian build X-Git-Tag: IBL_1_0~23^2~1^2~5 X-Git-Url: https://git.ti.com/gitweb?p=keystone-rtos%2Fibl.git;a=commitdiff_plain;h=5b4bb4c06d927643d4ce1d5d8e1f264542fadce8 Added template files for dual endian build A single linker command file is used for both the big and little endian IBL. The template file is used by make to create the list of object files with the correct endian values to be used during link. --- diff --git a/src/make/ibl_c6472/ibl_common.inc b/src/make/ibl_c6472/ibl_common.inc new file mode 100644 index 0000000..aebda61 --- /dev/null +++ b/src/make/ibl_c6472/ibl_common.inc @@ -0,0 +1,38 @@ +/************************************************************************************ + * FILE PURPOSE: Provide common memory and sections definitions for ibl_init and ibl + ************************************************************************************ + * FILE NAME: ibl_common.inc + * + * DESCRIPTION: Defines the common memory map and section placement required + * to get ibl and ibl_init to work together in a two stage load + * process. + *************************************************************************************/ + +-c +-stack 0x800 +-heap 0x6000 + + +MEMORY +{ + TEXT_INIT : origin = 0x800000, length = 0x2700 + TEXT : origin = 0x802700, length = 0xd900 + STACK : origin = 0x810000, length = 0x0800 + HEAP : origin = 0x810800, length = 0x6000 + DATA_INIT : origin = 0x816800, length = 0x0200 + DATA : origin = 0x816a00, length = 0x2e00 + CFG : origin = 0x819800, length = 0x0300 + STAT : origin = 0x819b00, length = 0x0200 +} + + +SECTIONS +{ + .stack > STACK + .sysmem > HEAP + + .ibl_config_table > CFG + .ibl_status_table > STAT + +} + diff --git a/src/make/ibl_c6472/ibl_init_objs_template.inc b/src/make/ibl_c6472/ibl_init_objs_template.inc new file mode 100644 index 0000000..3ec796f --- /dev/null +++ b/src/make/ibl_c6472/ibl_init_objs_template.inc @@ -0,0 +1,18 @@ +/* ibl_init_objs_template.inc + * + * list of object files tagged with the endian field for replacement during make + */ + +../main/c64x/make/iblinit.ENDIAN_TAG.oc +../device/c64x/make/c6472init.ENDIAN_TAG.oc +../hw/c64x/make/pll.ENDIAN_TAG.oc +../hw/c64x/make/i2c.ENDIAN_TAG.oc +../interp/c64x/make/btblwrap.ENDIAN_TAG.oc +../interp/c64x/make/btblpr.ENDIAN_TAG.oc +../interp/c64x/make/gem.ENDIAN_TAG.oc + + + + + + diff --git a/src/make/ibl_c6472/ibl_objs_template.inc b/src/make/ibl_c6472/ibl_objs_template.inc new file mode 100644 index 0000000..3ace89f --- /dev/null +++ b/src/make/ibl_c6472/ibl_objs_template.inc @@ -0,0 +1,37 @@ +/* ibl_objs_template.inc + * + * list of oject files tagged with the endian field for replacement during make + */ + +../main/c64x/make/iblmain.ENDIAN_TAG.oc +../device/c64x/make/c6472.ENDIAN_TAG.oc +../ethboot/c64x/make/ethboot.ENDIAN_TAG.oc +../nandboot/c64x/make/nandboot.ENDIAN_TAG.oc +../driver/c64x/make/net.ENDIAN_TAG.oc +../driver/c64x/make/arp.ENDIAN_TAG.oc +../driver/c64x/make/ip.ENDIAN_TAG.oc +../driver/c64x/make/udp.ENDIAN_TAG.oc +../driver/c64x/make/stream.ENDIAN_TAG.oc +../driver/c64x/make/timer.ENDIAN_TAG.oc +../driver/c64x/make/bootp.ENDIAN_TAG.oc +../driver/c64x/make/tftp.ENDIAN_TAG.oc +../driver/c64x/make/nand.ENDIAN_TAG.oc +../hw/c64x/make/t64.ENDIAN_TAG.oc +../hw/c64x/make/cpmacdrv.ENDIAN_TAG.oc +../hw/c64x/make/psc.ENDIAN_TAG.oc +../hw/c64x/make/emif31.ENDIAN_TAG.oc +../hw/c64x/make/mdio.ENDIAN_TAG.oc +../hw/c64x/make/gpio.ENDIAN_TAG.oc +../hw/c64x/make/nandgpio.ENDIAN_TAG.oc +../interp/c64x/make/bis.ENDIAN_TAG.oc +../interp/c64x/make/cload.ENDIAN_TAG.oc +../interp/c64x/make/osal.ENDIAN_TAG.oc +../interp/c64x/make/blob.ENDIAN_TAG.oc + +../interp/c64x/make/dload.ENDIAN_TAG.oc +../interp/c64x/make/elfwrap.ENDIAN_TAG.oc +../interp/c64x/make/dlw_client.ENDIAN_TAG.oc +../interp/c64x/make/dload_endian.ENDIAN_TAG.oc +../interp/c64x/make/ArrayList.ENDIAN_TAG.oc + +../ecc/c64x/make/3byte_ecc.ENDIAN_TAG.oc