[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: RE: Compile errors building Etrax 82 tools



Nathan,

Your reply was enormously helpful.  I think it's rather apalling that the
documentation is so lacking in this area.  As I'm going along I'm
documenting my own proess.  I'll post it here for comments, corrections,
etc.

The fundamentals that you outlined work perfectly and it was nice to have
sermon running, although the boot_linux -f echoes back as it's erasing...
writing... erasing... writing, leaving nothing to guess.

My goal was by the end of the weekend to get the thing re-flashed and with a
test application.  That's done thanks to your help.

We are sort-of data logging.  The device will sit at a remote site and
through either an RS232-connected modem or via ethernet will transfer
temperature and other readings to a remote server.

What interface are you looking to build for the 82?

Mark Richards



> -----Original Message-----
> From: Nathan.Smith@xxxxxxx.gov">mailto:Nathan.Smith@xxxxxxx.gov]
> Sent: Friday, July 02, 2004 17:45
> To: Mark Richards
> Cc: dev-etrax@xxxxxxx.com
> Subject: Re: RE: Compile errors building Etrax 82 tools
>
>
> Mark,
> Oh yes, I remember when I was in your shoes. The online docs
> leave out a lot of tidbits, and in some cases have
> information that is from older releases, and no longer are
> fully correct. Anyway, the doc you may be looking for is
> linked from the Documentation page...
> http://developer.axis.com/doc/software/apps/apps-howto.html
> That document takes you through information about how to
> 'install' a hello world application. There are a couple
> things that come to my mind that might help you. In spite of
> all the web docs, doing a "make help" in the devboard_82
> directory will tell you about all the "make <options>" available.
>
> One make of interest is "make images". In
> /devboard/target/cris-axis-linux-gnu/  there is a mirror of
> what is put onto your axis device. Make images (when run from
> devboard/) as far as I can tell, simply puts those things
> into a couple of image files, kimage and fimage.
>
> So what puts stuff into the target/cris-axis-linux-gnu
> directory to be made into images? Whenever you do "make
> install" in devboard/ it runs the make installs in probably
> all of the directories in devboard/apps/ and puts the
> binaries into devboard/target/cris-axis-linux-gnu/. "make
> kernel" is for the kernel (obviously) and "make files" is for
> anything else I guess. Anytime you do one of those 3 makes,
> you will need to remake the images.
>
> One thing the docs have been bad for are for how to get the
> new images onto the axis device. I usually like to run sermon
> in tools/build/sermon  because it lets me know when the
> device reboots itself (indicating a finished image write).
> You'll need a null modem cable for sermon. Now, there seem to
> be 4 ways to write images (in order of 'permanence'): ktest
> (writes to RAM) kflash (writes to flash) boot_linux -f
> (permantently written) boot_linux -F (writes like -f but also
> overwrites the 'rescue' partition) I fail to see the
> difference between ktest and kflash, I think they both  lose
> their changes when the unit is rebooted. boot_linux is
> permanent, and one should never use -F, AFAIK. You do not
> need any arguments for ktest of kflash. Once the image is
> written, sermon will show the device rebooting, and then u
> can login and try uname -a and see if ur kernel is  updated.
>
> I'm just a summer student here, so I have time to play around
> with this thing. I've successfully re-compiled the kernel for
> the ability to mount a usb stick, although I've only tested
> it on 2 sticks, a sony (worked) and a pny attache (didn't
> work). You don't happen to be using the axis for data logging
> do you? I'd like to hear if you can successfully interface
> with another comp through serial.
>
> Good luck getting the tools running,
> -Nathan
>
>
> ----- Original Message -----
> From: "Mark Richards" <mark.richards@xxxxxxx.com>
> Date: Friday, July 2, 2004 12:15 pm
> Subject: RE: Compile errors building Etrax 82 tools
>
> > Nathan,
> >
> > Thanks for offering your assistance.
> >
> > You had it right.  I ended up re-building the box (redhat 7.3 with
> > the stock
> > kernel and tools) and the process is now underway.  I didn't like
> > some of
> > the errors I've seen during the compilation process, but with such
> > a complex
> > system and different levels of tools, it's understandable.
> >
> > Following this I need to figure out how to get the kernel and then
> > the rest
> > of the O/S to the 82 board.  I'm at a loss, so if you have any
> > ideas???Unless the ./install process takes care of this, too?
> > (It's still running,
> > so I don't know :) )
> >
> > I might be missing something in the documentation that AXIS
> provides.
> > There's a gap between setting up the tools and building your first
> > application.  Seems to me a step is missing as to how to
> re-flash the
> > 82.
> >
> > The board boots and has a 2.4.20 kernel on it, but I want
> to start out
> > clean.
> >
> > Mark Richards
> >
> >
> >
> > -----Original Message-----
> > From: owner-dev-etrax@xxxxxxx.com">mailto:owner-dev-etrax@xxxxxxx.com] On
> > BehalfOf Nathan.Smith@xxxxxxx.gov
> > Sent: Friday, July 02, 2004 10:14
> > To: Mark Richards
> > Cc: dev-etrax@xxxxxxx.com
> > Subject: Re: Compile errors building Etrax 82 tools
> >
> >
> >
> > I have some tips, take them at your own risk, I have limited
> > experience
> > and these are just based on my observations. First tip, create an
> >
> > axis.sh file the same as init_env and add it to /etc/profile.d/ and
> >
> > change profile.d to run the axis.sh script. That way you can be sure
> >
> > each new bash you start has those variable set, whether it be root
> > or a
> >
> > normal user.
> >
> >
> >
> > My second tip is: upgrade. When your kernel is older than
> the one your
> >
> > trying to cross-compile, to me that seems a little odd. So your gcc,
> >
> > rpm, and other things are probably all old.
> >
> >
> >
> > Third: try not to be root when you do this stuff. Unless
> you have too
> >
> > (when install rpm). And then, you might want to chown user:user -R
> > dir/ .
> >
> >
> >
> > Details about my own experience getting the SDK going: You seem to
> > have
> > a better grip on things than I do, but I did have a little bit of
> >
> > trouble when I was using the devboard_82_R1-92 package. I did the
> > kernel
> > patch like you did, etc. The patch seemed to upload to the box just
> > fine
> > as well. I had issues when I was doing make install and make files
> > after
> > doing the demo "Hello World" program. Sometimes it seemed
> to randomly
> >
> > crap out after I don't remember having made any changes. After that
> >
> > happened and I re-followed the SDK install, I began to make tar
> > backups
> > of my axis directory.
> >
> >
> >
> > ----- Original Message -----
> >
> > From: "Mark Richards" <mark.richards@xxxxxxx.com>
> >
> > Date: Thursday, July 1, 2004 8:15 pm
> >
> > Subject: Compile errors building Etrax 82 tools
> >
> >
> >
> > > I am evaluating an AXIS 82 board as a platform for our
> application.
> >
> > > Actually, a new board will be developed using the ETRAX.
> >
> > >
> >
> > > I have the CRIS tools installed and see that init_env
> takes care of
> >
> > > settingup the path for it, etc.
> >
> > >
> >
> > > I also untar'd the 2.4.26 kernel. I have a fresh copy from
> >
> > > kernel.org that
> >
> > > is on CD and that I use whenever building.
> >
> > >
> >
> > > The RPM put CRIS wherever it is supposed to go with no errors. I
> >
> > > put the
> >
> > > devboard_82-R1_92.tar.gz in my /home/dev/ directory and
> unzipped it
> >
> > > there.
> >
> > > I did . ./init_env without a problem and checked the SET list to
> > make
> > > certain
> >
> > >
> >
> > > I ran ./install and pointed to the os/linux-2.4.26.
> >
> > >
> >
> > > The patches seemed to go off fine...
> >
> > >
> >
> > > I then told it to go ahead and build. Here's where things went
> >
> > > bad... Some
> >
> > > of the errors seem fundamentally wrong...
> >
> > >
> >
> > > Do you want to build the software now (default y)? y
> >
> > > *** Building software
> >
> > > make tools
> >
> > > make[1]: Entering directory `/home/dev/axis/devboard_82'
> >
> > > make -C tools/build install
> >
> > > make[2]: Entering directory
> `/home/dev/axis/devboard_82/tools/build'
> >
> > > make -C ccdv install
> >
> > > BINDIR="/home/dev/axis/devboard_82/tools/build/bin"make[3]:
> >
> > > Entering directory `/home/dev/axis/devboard_82/tools/build/ccdv'
> >
> > > gcc -Wall -Wshadow
> -I/home/dev/axis/devboard_82/target/host/include
> >
> > > -O0 -g
> >
> > > -fno-omit-frame-pointer -
> >
> > > L/home/dev/axis/devboard_82/target/host/lib ccdv.c
> >
> > > -o ccdv
> >
> > > install -p -d /home/dev/axis/devboard_82/tools/build/bin
> >
> > > install -p -m 0755 ccdv @ccdv
> >
> > > /home/dev/axis/devboard_82/tools/build/binmake[3]: Leaving
> >
> > > directory `/home/dev/axis/devboard_82/tools/build/ccdv'
> >
> > > make -C scripts install
> >
> > > BINDIR="/home/dev/axis/devboard_82/tools/build/bin"make[3]:
> >
> > > Entering directory
> `/home/dev/axis/devboard_82/tools/build/scripts'
> >
> > >
> >
> > > install -p -d /home/dev/axis/devboard_82/tools/build/bin
> >
> > > install -p -m 0755 arpping axls.pl axrequires boot_argus
> boot_elinux
> >
> > > boot_linux buildsrc compiler-version convertcomments.pl
> cris-sym-tab
> >
> > > cvs_diff cvs2cl.pl diff_prodspec find-needed-shlibs.pl fix_cvsroot
> >
> > > gcc_crisgenindex init_env_elinux.pl install_elinux ksymoops-cris
> >
> > > meta_name2nbrmke2fs_elinux mkfdscript mknod_elinux mkprod mkptable
> >
> > > mkswinfo multiflash
> >
> > > optlibs padflashimage prodspec.pm prodspec2configure remotecmd
> >
> > > strrpl.pl/home/dev/axis/devboard_82/tools/build/bin
> >
> > > ln -sfn gcc_cris
> >
> > > /home/dev/axis/devboard_82/tools/build/bin/arm_linux_gccmake[3]:
> >
> > > Leaving directory `/home/dev/axis/devboard_82/tools/build/scripts'
> >
> > > make -C axis_internal_scripts install
> >
> > > BINDIR="/home/dev/axis/devboard_82/tools/build/bin"
> >
> > > make[3]: Entering directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/axis_internal_scripts'
> >
> > > install_elinux -p -d /home/dev/axis/devboard_82/tools/build/bin
> >
> > > install_elinux -p -m 0755 axis2sf cvsget.cgi jasm juliette_regs.pl
> >
> > > sf2axisTGasm.pl /home/dev/axis/devboard_82/tools/build/bin
> >
> > > make[3]: Leaving directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/axis_internal_scripts'
> >
> > > make -C genromfs install
> >
> > > BINDIR="/home/dev/axis/devboard_82/tools/build/bin"
> >
> > > make[3]: Entering directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/genromfs'
> >
> > > gcc -Wall -Wshadow
> -I/home/dev/axis/devboard_82/target/host/include
> >
> > > -O0 -g
> >
> > > -fno-omit-frame-pointer -c -o genromfs.o genromfs.c
> >
> > > genromfs.c: In function `processdir':
> >
> > > genromfs.c:690: warning: declaration of `dirfd' shadows global
> >
> > > declarationgenromfs.c:692: warning: declaration of `link' shadows
> >
> > > global declaration
> >
> > > genromfs.c: In function `main':
> >
> > > genromfs.c:839: warning: implicit declaration of function `time'
> >
> > > genromfs.c:839: warning: long unsigned int format,
> unsigned int arg
> >
> > > (arg 3)
> >
> > > gcc -L/home/dev/axis/devboard_82/target/host/lib genromfs.o -o
> >
> > > genromfs_elinux install_elinux -p -d
> >
> > > /home/dev/axis/devboard_82/tools/build/bin
> >
> > > install_elinux -p -m 0755 genromfs_elinux
> >
> > > /home/dev/axis/devboard_82/tools/build/bin
> >
> > > make[3]: Leaving directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/genromfs'
> >
> > > make -C imgsum install
> >
> > > BINDIR="/home/dev/axis/devboard_82/tools/build/bin"make[3]:
> >
> > > Entering directory `/home/dev/axis/devboard_82/tools/build/imgsum'
> >
> > > gcc -Wall -Wshadow
> -I/home/dev/axis/devboard_82/target/host/include
> >
> > > -O0 -g
> >
> > > -fno-omit-frame-pointer
> -L/home/dev/axis/devboard_82/target/host/lib
> >
> > > imgsum.c -o imgsum
> >
> > > install_elinux -p -d /home/dev/axis/devboard_82/tools/build/bin
> >
> > > install_elinux -p -m 0755 imgsum
> >
> > > /home/dev/axis/devboard_82/tools/build/binmake[3]: Leaving
> >
> > > directory `/home/dev/axis/devboard_82/tools/build/imgsum'
> >
> > > make -C mkcramfs install
> >
> > > BINDIR="/home/dev/axis/devboard_82/tools/build/bin"
> >
> > > make[3]: Entering directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/mkcramfs'
> >
> > > gcc -Wall -Wshadow
> -I/home/dev/axis/devboard_82/target/host/include
> >
> > > -O0 -g
> >
> > > -fno-omit-frame-pointer -I. -
> >
> > > L/home/dev/axis/devboard_82/target/host/libmkcramfs.c -lz -o
> >
> > > mkcramfs gcc -Wall -Wshadow
> >
> > > -I/home/dev/axis/devboard_82/target/host/include -O0 -g
> >
> > > -fno-omit-frame-pointer -I. -
> >
> > > L/home/dev/axis/devboard_82/target/host/libcramfsck.c -lz -o
> >
> > > cramfsck In file included from /usr/include/linux/fs.h:12,
> >
> > >
> >
> > > from cramfsck.c:56:
> >
> > > /usr/include/linux/wait.h:4: warning: `WNOHANG' redefined
> >
> > > /usr/include/bits/waitflags.h:26: warning: this is the location
> > of the
> >
> > > previous definition
> >
> > > /usr/include/linux/wait.h:5: warning: `WUNTRACED' redefined
> >
> > > /usr/include/bits/waitflags.h:27: warning: this is the location
> > of the
> >
> > > previous definition
> >
> > > cramfsck.c: In function `usage':
> >
> > > cramfsck.c:110: warning: declaration of `stream' shadows global
> >
> > > declarationcramfsck.c: At top level:
> >
> > > cramfsck.c:376: warning: declaration of `fd' shadows global
> >
> > > declarationcramfsck.c: In function `do_uncompress':
> >
> > > cramfsck.c:377: warning: declaration of `fd' shadows global
> >
> > > declarationcramfsck.c: In function `do_file':
> >
> > > cramfsck.c:510: warning: declaration of `fd' shadows global
> >
> > > declarationinstall_elinux -p -d
> >
> > > /home/dev/axis/devboard_82/tools/build/bininstall_elinux
> -p -m 0755
> >
> > > mkcramfs cramfsck
> >
> > > /home/dev/axis/devboard_82/tools/build/bin
> >
> > > make[3]: Leaving directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/mkcramfs'
> >
> > > make -C mkfs.jffs install
> >
> > > BINDIR="/home/dev/axis/devboard_82/tools/build/bin"
> >
> > > make[3]: Entering directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/mkfs.jffs'
> >
> > > gcc -Wall -Wshadow
> -I/home/dev/axis/devboard_82/target/host/include
> >
> > > -O0 -g
> >
> > > -fno-omit-frame-pointer
> -L/home/dev/axis/devboard_82/target/host/lib
> >
> > > mkfs.jffs.c -o mkfs.jffs
> >
> > > mkfs.jffs.c: In function `write_file':
> >
> > > mkfs.jffs.c:230: warning: unused variable `size'
> >
> > > install_elinux -p -d /home/dev/axis/devboard_82/tools/build/bin
> >
> > > install_elinux -p -m 0755 mkfs.jffs
> >
> > > /home/dev/axis/devboard_82/tools/build/bin
> >
> > > make[3]: Leaving directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/mkfs.jffs'
> >
> > > make -C mkfs.jffs2 install
> >
> > > BINDIR="/home/dev/axis/devboard_82/tools/build/bin"
> >
> > > make[3]: Entering directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/mkfs.jffs2'
> >
> > > cc -I. -O2 -Wall -c -o crc32.o crc32.c
> >
> > > gcc: No input files
> >
> > > make[3]: *** [crc32.o] Error 1
> >
> > > make[3]: Leaving directory
> >
> > > `/home/dev/axis/devboard_82/tools/build/mkfs.jffs2'
> >
> > > make[2]: *** [mkfs.jffs2] Error 2
> >
> > > make[2]: Leaving directory
> `/home/dev/axis/devboard_82/tools/build'
> >
> > > make[1]: *** [tools] Error 2
> >
> > > make[1]: Leaving directory `/home/dev/axis/devboard_82'
> >
> > > make: *** [everything] Error 2
> >
> > >
> >
> > >
> >
> > > What seems strange is that the stock GCC is invoked as the
> >
> > > compiler.  Maybe
> >
> > > there's something wrong with the environment.  Shouldn't the CRIS-
> >
> > > GCC be
> >
> > > invoked?
> >
> > >
> >
> > > I checked everything I could think of. The only issue I found was
> >
> > > that in
> >
> > > the Makefile, the statement:
> >
> > >
> >
> > > PATH := $(PATH):/usr/local/cris/r56
> >
> > >
> >
> > > is set. However the r56 directory does not exist under
> cris. The ls
> >
> > > of cris
> >
> > > is:
> >
> > >
> >
> > > The path is:
> >
> > >
> >
> >
> PATH=/home/dev/axis/devboard_82/tools/build/bin:/home/dev/axis
> /devboard_82/t
> >
> > > ools
> >
> > >
> >
> >
> /build/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin
> :/usr/bin:/usr
> >
> > > /X11
> >
> > > R6/bin:/root/bin:/usr/local/cris:/usr/local/cris
> >
> > >
> >
> > > which puts the /usr/local/cris at the end of the parsed
> path.  Even
> >
> > > thisdoesn't point to bin, which is another level down.  Also
> >
> > > there's no link
> >
> > > file to gcc in the cris directory (or bin) to replace the cris
> >
> > > compiler with
> >
> > > gcc.
> >
> > >
> >
> > > I'm building on a Linux 7.2 box with a 2.4.7-10 kernel.
> >
> > >
> >
> > > Maybe the RPM install of CRIS didn't work (although it indicated
> >
> > > success) or
> >
> > > perhaps I should do a binary build?  I'm beginning to suspect this
> >
> > > is at
> >
> > > least part of the problem.
> >
> > >
> >
> > > Anyone have any suggestions?
> >
> > >
> >
> > >
> >
> > >
> >
> >
> >
> >
>