AnsweredAssumed Answered

Develop Environment Setting Up

Question asked by pengpeng on Oct 1, 2013
Latest reply on Oct 9, 2013 by pengpeng

system environment:

VMware, debian amd64

network connection:

company proxy

 

Hi,

 

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,

Outcomes