PJSIP in ARM

AB
Andre Brenes
Thu, Nov 8, 2007 6:26 PM

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?

Thanks

--
André Brene Vargas

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? Thanks -- André Brene Vargas
OB
Olivier Beytrison
Thu, Nov 8, 2007 7:45 PM

Andre Brenes a écrit :

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?

That's it. You download pjsip on another linux box, you make your
software there, and you cross-compile it for ARM. Then you juste have to
copy the Binary file to your board and run it from there. So you won't
need more than 2 or 3 megs of space, depending what you're doing with PJSIP.

--

Olivier Beytrison
Telecommunication Engineer
Mobile: +41 (0)78 619 73 53
Mail: olivier@heliosnet.org
GPG: 0x4FB83528 http://pgp.mit.edu/

Andre Brenes a écrit : > 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? That's it. You download pjsip on another linux box, you make your software there, and you cross-compile it for ARM. Then you juste have to copy the Binary file to your board and run it from there. So you won't need more than 2 or 3 megs of space, depending what you're doing with PJSIP. > > Thanks > > > -- > André Brene Vargas > > > ------------------------------------------------------------------------ > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -- Olivier Beytrison Telecommunication Engineer Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org GPG: 0x4FB83528 http://pgp.mit.edu/
DS
Darmawan Salihun
Thu, Jan 24, 2008 5:25 AM

Hi Andre,

On Nov 9, 2007 1:26 AM, Andre Brenes tensk8@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 =-

Hi Andre, On Nov 9, 2007 1:26 AM, Andre Brenes <tensk8@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 =-