ATK Tool compilation error

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ATK Tool compilation error

2,058 Views
arumugamramasam
Contributor II

Hi,

I am trying to compile the ATK tool source under ubuntu using the same tool chain which I am using for LTIB. When I run the make file as mentioned in the application note AN3985, I am facing an error as attached. The log file is attached for better undersatnding. Need help to resolve this compilation error.

 

Thanks,

Arumugam R

 

arumugam@arumugam-laptop:~/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program$ make clean

make -C ram_kernel/ clean

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/ram_kernel'

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/ram_kernel'

make -C fuse/ clean

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/fuse'

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/fuse'

make -C flash/ clean

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/flash'

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/flash'

make -C init/ clean

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/init'

rm -rf *.o

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/init'

rm -f bin/*.elf

rm -f bin/*.map

arumugam@arumugam-laptop:~/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program$ make MCU=mx25 FLASH_TYPE=nand

start building ...

 

[Building initial ...]

make -C init/

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/init'

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -o init.o init.s

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/init'

 

[Building RAM Kernel ...]

make -C ram_kernel/ all

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/ram_kernel'

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/bl_transreceiver.o src/platform/mx25/src/bl_transreceiver.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/bl_transreceiver.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/bl_transreceiver.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/channel.o src/platform/mx25/src/channel.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/channel.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/channel.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/platform.o src/platform/mx25/src/platform.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/platform.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/platform.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/serial_downloader.o src/platform/mx25/src/serial_downloader.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/serial_downloader.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/serial_downloader.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/usb_hwinterface_layer.o src/platform/mx25/src/usb_hwinterface_layer.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/usb_hwinterface_layer.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/usb_hwinterface_layer.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/usb_transaction_layer.o src/platform/mx25/src/usb_transaction_layer.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/usb_transaction_layer.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/usb_transaction_layer.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/main.o src/main.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/main.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/main.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ld  -r -o ramkernel.o  src/platform/mx25/src/bl_transreceiver.o  src/platform/mx25/src/channel.o  src/platform/mx25/src/platform.o  src/platform/mx25/src/serial_downloader.o  src/platform/mx25/src/usb_hwinterface_layer.o  src/platform/mx25/src/usb_transaction_layer.o src/main.o

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/ram_kernel'

 

[Building Flash Library ...]

make -C flash/ all

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/flash'

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/flash_lib.o nand_flash/src/flash_lib.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/flash_lib.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/flash_lib.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/nand_bbt.o nand_flash/src/nand_bbt.c

nand_flash/src/nand_bbt.c: In function 'mark_bbt_region':

nand_flash/src/nand_bbt.c:760: warning: implicit declaration of function 'nand_update_bbt'

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/nand_bbt.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/nand_bbt.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/nand_device_info.o nand_flash/src/nand_device_info.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/nand_device_info.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/nand_device_info.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/nand_flash.o nand_flash/src/nand_flash.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/nand_flash.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/nand_flash.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/nfc_base.o nand_flash/src/nfc_base.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/nfc_base.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/nfc_base.c >> .depend

Start

nand_flash

nand_flash

End

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ld  -r -o flashlib.o  nand_flash/src/flash_lib.o  nand_flash/src/nand_bbt.o  nand_flash/src/nand_device_info.o  nand_flash/src/nand_flash.o  nand_flash/src/nfc_base.o

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/flash'

 

[Building Fuse Library ...]

make -C fuse/ all

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/fuse'

make[1]: *** No rule to make target `fuse_lib.o', needed by `all'.  Stop.

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/fuse'

make: *** [all] Error 2

arumugam@arumugam-laptop:~/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program$

 


Original Attachment has been moved to: ATKTool_Compilation_log.zip

Labels (1)
0 Kudos
8 Replies

1,417 Views
JasonLiu
NXP Employee
NXP Employee

Dear Arumugam Ramasamy:

Since you are using the STD source code package, you need add flashlib into the build command:

arumugam@arumugam-laptop:~/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program$ make MCU=mx25 flashlib FLASH_TYPE=nand


flashlib:

The option "flashlib" will build only the Flash library and the fuse library will be built out since the STD package not support fuse library.

Details, please read FSL_ATK_ReferenceManual_Std.pdf, which located into your source code package.

Jason  Liu


0 Kudos

1,417 Views
arumugamramasam
Contributor II

Hi Jason Liu,

Thanks for the information. I tried including flashlib as make command parameter, but this time it throws a different error. Please find the below log...

arumugam@arumugam-laptop:~/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program$ make MCU=mx25 flashlib FLASH_TYPE=nand

start building ...

[Building initial ...]

make -C init/

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/init'

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -o init.o init.s

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/init'

[Building RAM Kernel ...]

make -C ram_kernel/ all

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/ram_kernel'

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/bl_transreceiver.o src/platform/mx25/src/bl_transreceiver.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/bl_transreceiver.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/bl_transreceiver.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/channel.o src/platform/mx25/src/channel.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/channel.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/channel.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/platform.o src/platform/mx25/src/platform.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/platform.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/platform.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/serial_downloader.o src/platform/mx25/src/serial_downloader.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/serial_downloader.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/serial_downloader.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/usb_hwinterface_layer.o src/platform/mx25/src/usb_hwinterface_layer.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/usb_hwinterface_layer.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/usb_hwinterface_layer.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/platform/mx25/src/usb_transaction_layer.o src/platform/mx25/src/usb_transaction_layer.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/platform/mx25/src/usb_transaction_layer.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/platform/mx25/src/usb_transaction_layer.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc -o src/main.o src/main.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'src/main.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DREV_ -Isrc/platform/mx25/inc/ -I../global_inc src/main.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ld  -r -o ramkernel.o  src/platform/mx25/src/bl_transreceiver.o  src/platform/mx25/src/channel.o  src/platform/mx25/src/platform.o  src/platform/mx25/src/serial_downloader.o  src/platform/mx25/src/usb_hwinterface_layer.o  src/platform/mx25/src/usb_transaction_layer.o src/main.o

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/ram_kernel'

[Building Flash Library ...]

make -C flash/ all

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/flash'

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/flash_lib.o nand_flash/src/flash_lib.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/flash_lib.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/flash_lib.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/nand_bbt.o nand_flash/src/nand_bbt.c

nand_flash/src/nand_bbt.c: In function 'mark_bbt_region':

nand_flash/src/nand_bbt.c:760: warning: implicit declaration of function 'nand_update_bbt'

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/nand_bbt.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/nand_bbt.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/nand_device_info.o nand_flash/src/nand_device_info.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/nand_device_info.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/nand_device_info.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/nand_flash.o nand_flash/src/nand_flash.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/nand_flash.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/nand_flash.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc -o nand_flash/src/nfc_base.o nand_flash/src/nfc_base.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'nand_flash/src/nfc_base.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DMCU_MX25 -DREV_ -Inand_flash/inc/  -I../global_inc nand_flash/src/nfc_base.c >> .depend

Start

nand_flash

nand_flash

End

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ld  -r -o flashlib.o  nand_flash/src/flash_lib.o  nand_flash/src/nand_bbt.o  nand_flash/src/nand_device_info.o  nand_flash/src/nand_flash.o  nand_flash/src/nfc_base.o

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/flash'

make -C fuse/ all UNIT_TEST=y

make[1]: Entering directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/fuse'

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -c -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DTO1 -DMCU_MX25 -DREV_ -I./ -I../global_inc -o unit_test/fake_fuselib.o unit_test/fake_fuselib.c

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -MM -MT 'unit_test/fake_fuselib.o' -Wall -Wstrict-prototypes -Wno-trigraphs  -nostartfiles -O0  -nostdlib -static -feliminate-unused-debug-symbols -fno-strict-aliasing -fno-common -pipe -fno-builtin  -g -mapcs -mlittle-endian -msoft-float -mfpu=fpa -mcpu=arm926ej-s -DTO1 -DMCU_MX25 -DREV_ -I./ -I../global_inc unit_test/fake_fuselib.c >> .depend

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ld  -r -o fuselib.o unit_test/fake_fuselib.o

make[1]: Leaving directory `/home/arumugam/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program/fuse'

[Generate RAM Kernel image ...]

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -nostartfiles -static -Wl,-Map,bin/mx25_nand.map -Tram_kernel_mx25.lds -o bin/mx25_nand.elf init/init.o ram_kernel/ramkernel.o fuse/fuselib.o flash/flashlib.o

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: BFD 2.17 assertion fail /usr/src/redhat/BUILD/cross-mlib/source/binutils-2.17/bfd/elf.c:3878

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/lib/gcc/arm-none-linux-gnueabi/4.1.2/libgcc_eh.a(unwind-arm.o): In function `get_eit_entry':

/usr/src/redhat/BUILD/cross-mlib/source/gcc-4.1.2/gcc/config/arm/unwind-arm.c:459: undefined reference to `__exidx_start'

/usr/src/redhat/BUILD/cross-mlib/source/gcc-4.1.2/gcc/config/arm/unwind-arm.c:459: undefined reference to `__exidx_end'

collect2: ld returned 1 exit status

make: *** [flashlib] Error 1

arumugam@arumugam-laptop:~/ATK_Tool/AdvancedToolKit1.71_Source_STD/device_program$

Thanks,

Arumugam R


0 Kudos

1,417 Views
JasonLiu
NXP Employee
NXP Employee

Please add the following into the end lds file: ram_kernel_mx25.lds

__exidx_start = .;

__exidx_end = .;

Jason Liu

0 Kudos

1,417 Views
erickang
Contributor II

Dear Hui Liu,

I have a question to build the ATK binary for i.MX25.

I'm using the ubuntu 11.04 to build the ATK.

For building ATK in ubuntu, I modified below 2 files.

1) rules.make

# in Cygwin
#CC = arm-elf-gcc
#AS = arm-elf-as
#LD = arm-elf-ld
#NM = arm-elf-nm
#OBJDUMP = arm-elf-objdump
#OBJCOPY = arm-elf-objcopy
#READELF = arm-elf-readelf

# in Linux // Eric
CC = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc
AS = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-as
LD = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ld
NM = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-nm
OBJDUMP = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-objdump
OBJCOPY = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-objcopy
READELF = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-readelf

2) ram_kernel_mx25.lds

SECTIONS                  

{

   ...

}

__exidx_start = .;

__exidx_end = .;

And I just built the ATK image with below commands. I could confirm the created mx25_nand.bin in bin folder.

But the file was not operated in EVK using Samsung Nandflash, K9LBG08U0M-PCB0.

(This nandflash is included in the default ATK code.)

Could you give me any advice to build mx25_nand.bin of ATK?

Best Regards,

Eric.

0 Kudos

1,417 Views
arumugamramasam
Contributor II

Hi Jason,

I have another issue in booting. Please let me know if you could interpret something from the logs attached, which will be helpful for me to solve the issue.

I am using iMX25 PDK with 3 stack configuration. I have reproduced the CPU boards and using with the personality board supplied by freescale. While booting from SD card, the original CPU is booting and one of my newly produced CPUs is also booting. But without changing the SD Card, if I change the CPU, it is not booting up. Saying that can't load kernel image. The log of bad booting is given below. Need help to find the reason why is it malfunctioning between CPU to CPU.

Thanks,

Arumugam R

U-Boot 2009.08 (Feb 18 2013 - 10:40:36)

CPU:   Freescale i.MX25 at 398 MHz

mx25 cpu clock: 398MHz

ipg clock     : 66498560Hz

Board: i.MX25 MAX PDK (3DS)

I2C:   ready

DRAM:  64 MB

NAND:  Unrecognized NAND Flash device.

256 MiB

MMC:   FSL_ESDHC: 0

UnCorrectable RS-ECC Error

UnCorrectable RS-ECC Error

*** Warning - bad CRC or NAND, using default environment

In:    serial

Out:   serial

Err:   serial

Net:   smc911x-0 [PRIME], FEC0

Hit any key to stop autoboot:  0

MMC read: dev # 0, block # 2048, count 4096 ... 4096 blocks read: OK

Wrong Image Format for bootm command

ERROR: can't get kernel image!

STEPS U-Boot >

0 Kudos

1,417 Views
JasonLiu
NXP Employee
NXP Employee

Hi Arumugam R:

From the log:

NAND:  Unrecognized NAND Flash device.

256 MiB

MMC:   FSL_ESDHC: 0

UnCorrectable RS-ECC Error

UnCorrectable RS-ECC Error

*** Warning - bad CRC or NAND, using default environment

Which means the NAND is not detected and thus you can't get the correct environment variables if the env is stored in the NAND.


And the following log:

MMC read: dev # 0, block # 2048, count 4096 ... 4096 blocks read: OK

Wrong Image Format for bootm command

ERROR: can't get kernel image!

I suspect that some default environment is correct, please check your bootcmd and see anything wrong. And also, please check whether the uImage in the SD card is correct or not.

1,417 Views
arumugamramasam
Contributor II

Thanks jason.. I am able to produce new flash library..

Thanks,

Arumugam R

0 Kudos

1,417 Views
Yuri
NXP Employee
NXP Employee

Please try to use a toolchain, that generates non-Linux (stand-alone) application. In app note GNU ARM gcc is recommended.