PJSIP in ARM

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

 



Hi Andre,

On Nov 9, 2007 1:26 AM, Andre Brenes <tensk8 at gmail.com> wrote:
> A couples of weeks ago I wrote about this topic, PJSIP in ARM. I'm very new
> for both sides of the coin, PJSIP and ARM, so I have a lot of questions,
> hoping someone can help me. I'm going to explain a little bit more about my
> problem.
>
> We are using an embedded system base in ARM technology, is an TS-7250 board.
> This board comes with TS-Linux. TS-Linux is a compact Linux distribution,
> based on Busybox, ideal for small footprint. Therefore, a C/C++ development
> environment is not installed. For development we can use two ways:
>
>
> use cross-compilation
> or boot the board from an USB device with Debian.I reading about Disk Space
> Requirements using PJSIP and found that I need about 50-60 MB of disk space
> to store the uncompressed source files and about 30-50 MB of additional
> space for building each target.
>
> My questions are:
> My board have just 62M of memory, 32 in NAND flash and 32 of SDRAM. Can I
> use PJSIP?
>
> If I used cross-compilation do I need to download in my board the source
> files or just the application built in my host computer?

In this case, cross-compilation is the way to go because your system
is not capable of building PJSIP from the source itself.

To do the cross-compilation, you will need a development machine, e.g.
laptop or dedicated PC and the right cross-toolchain, i.e.
cross-compiler, cross-linker, cross-debugger, cross-binutils (if you
are using GCC) and some other utilities as needed. You also need to
connect to the TS-7250 board with your development machine via _both_
serial and ethernet interfaces because you will need to use the serial
port to "forward" the embedded linux console to the development
machine and you need the ethernet connection to download large binary
images and for running the cross-debugger.
It's much more convenient to use the ethernet than to "lump"
everything via the serial connection.

Assuming that you have all the prerequisite I explain above, then you
can cross compile PJSIP. Below is an example of configuring and
cross-compiling pjsip for Blackfin using GNU toolchain from the root
directory of PJSIP source code:

./configure CC=bfin-uclinux-gcc --host=bfin-uclinux --build=i686-linux
--with-lib-path=/opt/uClinux/bfin-uclinux/lib  LDFLAGS='-Wl,-elf2flt'
CFLAGS=-O2 &&
make dep && make


To do the same thing for the ARM9, simply replace the toolchain and
default library paths as needed. For example, let's say your
cross-toolchain is prefixed with 'arm9-uclinux-' and the cross-library
is located at /opt/uClinux/arm9-uclinux/lib, then you would invoke the
following from Pjsip root directory for cross-compilation (the
assumption is your development machine is an x86):

./configure CC=arm9-uclinux-gcc --host=arm9-uclinux --build=i686-linux
--with-lib-path=/opt/uClinux/arm9-uclinux/lib  LDFLAGS='-Wl,-elf2flt'
CFLAGS=-O2 &&
make dep && make

After the cross compilation successfully completed, you can test it by
using the pjlib test and pjlib-util test binaries. They are located at
/pjlib/bin/ and /pjlib-util/bin/. To test the binaries, you can run
FTP on the TS-7250 board to download the cross-compiled binaries from
your development PC and test them.

I know, this must be a premature information. Please don't hesitate to
ask if something is still unclear to you

Regards,

Darmawan Salihun
--------------------------------------------------------------------
-= Human knowledge belongs to the world =-



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux