VMware, debian amd64
I was trying to start a hello world in uclinux to my BF609 board. However I had problems both during compiling the hello.c and compiling the kernel.
First, the GNU tool chain. I attemped apt-get to install the tool chain first but the link didn't work (life is not so easy). So I manually downloaded and tried different combinations one by one:
1. 2012R2 i386: didn't work. Though installed and set the path, it can never be found.
2. 2012R1 x86_64: blackfin-toolchain-2012R1-RC2.x86_64.tar.bz2 + blackfin-toolchain-uclibc-default-2012R1-RC2.x86_64.tar.bz2
I can use it to compile the hello.c without problem but when I was trying to compile the kernel, it complains sth like versionsort() not defined. I googled it and found a patch but it didn't work. The corresponding buildroot that I was using is from git clone http://git.code.sf.net/p/adi-buildroot/code adi-buildroot-code. Because git clone git://blackfin.uclinux.org/git/buildroot didn't work for me (I guess it's because of the proxy that my company is using, only http link works though I attemped socat to circumvent it).
3. 2012R2 x86_64: blackfin-toolchain-2012R2-RC2.x86_64.tar.bz2 + blackfin-toolchain-uclibc-full-2012R2-RC2.src.tar.bz2
Unlike 2012R1 toolchain, the second .bz2 didn't decompress into /opt automatically. Instead, it generates many small packages. I don't know to which place should I put them. I tried to compile hello.c, and got
error: no include path in which to search for stdio.h
Guess it's because the uclibc files are missing since they were never decompressed into /opt/uClinux/.
Secondly, the kernel compilation. Both 2012R1 and R2 work for the buildroot downloaded from their official website. But I cannot generate the image file according to the method AaronWu answered in another thread one day back. The buildroot I cloned from ADI (http://git.code.sf.net/p/adi-buildroot/code adi-buildroot-code) will tell me versionsort() error if I am using 2012R1 as I expalined before, or:
Checking external toolchain settings
Incorrect selection of the C library
make: *** [/home/y/adi-buildroot-code/output/stamps/ext-toolchain-checked] Error 255
, if I am using 2012R2.
My question is:
1). Which toolchain should I use?
2). Depending on 1), a) what should I do to get rid of versionsort() error if I pick 2012R1,
b) how do I treat the .bz2 files generated by blackfin-toolchain-uclibc-full-2012R2-RC2.src.tar.bz2, if I choose 2012R2 as my toolchain? I just tar them under /opt/uClinux/ and don't have to do anything else(say, set the path in .bashrc)?
I am new to uClinux and balckfin DSP and have been stucked in setting up the develop environment for quite a time. If you need any log files and additional error messages, please tell me. I would appreciate any help and support you offer. Thanks,