I have downloaded "i.MX 6 Series Platform SDK" from the link provided by the freescale community. And followed all the steps written in readme.pdf provided with sdk package itself while build command it's giving following errors.
....
.
.
.
.
.
.
Building caam_blob_gen [mx6dq sabre_ai a]
Compiling apps/caam_blob_gen/src/caam_blob_gen.c
Compiling apps/common/ivt.c
Compiling apps/common/platform_init.c
Linking caam_blob_gen
/root/mgc/embedded/codebench/bin/../arm-none-eabi/lib//libc.a(lib_a-assert.o): In function `__assert_func':
assert.c:(.text+0x3c): undefined reference to `abort'
/root/sdk/iMX6_Platform_SDK/output/mx6dq/lib/libsdk.a(runtime_support.o): In function `_execve':
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:77: undefined reference to `errno'
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:77: undefined reference to `errno'
/root/sdk/iMX6_Platform_SDK/output/mx6dq/lib/libsdk.a(runtime_support.o): In function `_fork':
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:83: undefined reference to `errno'
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:83: undefined reference to `errno'
/root/sdk/iMX6_Platform_SDK/output/mx6dq/lib/libsdk.a(runtime_support.o): In function `_sbrk':
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:255: undefined reference to `abort'
/root/sdk/iMX6_Platform_SDK/output/mx6dq/lib/libsdk.a(runtime_support.o): In function `_kill':
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:269: undefined reference to `errno'
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:269: undefined reference to `errno'
/root/sdk/iMX6_Platform_SDK/output/mx6dq/lib/libsdk.a(runtime_support.o): In function `_link':
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:280: undefined reference to `errno'
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:280: undefined reference to `errno'
/root/sdk/iMX6_Platform_SDK/output/mx6dq/lib/libsdk.a(runtime_support.o): In function `_unlink':
/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:286: undefined reference to `errno'
/root/sdk/iMX6_Platform_SDK/output/mx6dq/lib/libsdk.a(runtime_support.o):/root/sdk/iMX6_Platform_SDK/sdk/utility/src/runtime_support.c:286: more undefined references to `errno' follow
make[1]: *** [/root/sdk/iMX6_Platform_SDK/output/mx6dq/caam_blob_gen/sabre_ai_rev_a/caam_blob_gen.elf] Error 1
make: *** [caam_blob_gen] Error 2
+ result=2
+ build_name='mx6dq sabre_ai rev_a ALL'
+ '[' 2 -eq 0 ']'
+ printf '\n\033[31mBuild mx6dq sabre_ai rev_a ALL failed with return code 2!\033[92m\n\n'
Build mx6dq sabre_ai rev_a ALL failed with return code 2!
+ exit 1
root@swdev:~/sdk/iMX6_Platform_SDK#
I checked all the paths related with libraries in paths.mk and flags.mk and seems to be in right location.
How can I resolve this error.
Thanx in advance.
Regards,
Ganesh
Solved! Go to Solution.
I provided "toolchain_exec.tar.gz", which is just tarball of toolchain directory after installation.
It may be copied to Your home directory and also it is needed to set PATH environment for Linux,
including the toolchain. Next, please read carefully doc files and follow recommendations there.
Regards,
Yuri.
Hi Yuri,
I am using Ubuntu. And I tried the command you have suggested to program the SD card using the 'stream.bin' file. But it is not copying any file to SD card. Also, I have tried to run the 'stream.elf' file on the target board using '$ ./stream.elf' command, but immediately it exits with 'Killed' output.
Can you please help me how can I create executable from the SDK and run it on the target machine?
Thanks,
Dhaval
Dhaval, hi !
Please pay attention - the Platform SDK generates bare metal images. They are not intended
to run under OS. Bare metal .elf may be loaded and run via a JTAG debugger (witjout OS running).
Linux shell is waiting special .elf files, built for Linux.
The .bin file, copied to SD card via Linux command "dd" usually is not visible thru a filesystem.
It is just seqence of physical blocks, located on free area, which is not accessible by a filesystem.
Regards,
Yuri.
Hi,
I have used arm-none-eabi-gcc version 4.8
GCC ARM Embedded project files : GCC ARM Embedded
And I have no issues. I wonder if you can try with that one.
/Alejandro
Hi Alejandro,
Thanks for your help!
I download the arm-none-eabi-gcc version 4.8 and extract it to /opt directory. It has created a "/opt/gcc-arm-none-eabi-4_8-2014q3" directory. Now to build the SDK v1.1.0, I modified the '<SDK Directory>/mk/common.mk':
CROSS_COMPILE = /opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-
And then I ran './tools/build_sdk' to build the SDK. But still I am getting following errors:
----------------------------------------------------------------------------------------------------------------------------------------------
Preprocessing apps/common/basic_sdk_app.ld.S
Linking filesystem
/opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-ld: cannot find crtbegin.o
/opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-ld: cannot find crti.o
/opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-ld: cannot find crtend.o
/opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-ld: cannot find crtn.o
make[1]: *** [/home/build/sdk/iMX6_Platform_SDK/output/mx6sl/filesystem/evk_rev_a/filesystem.elf] Error 1
make: *** [filesystem] Error 2
----------------------------------------------------------------------------------------------------------------------------------------------
Can you please help me to resolve this? Am I doing something wrong?
Thanks,
Dhaval