I'm sure that is not "arm_gnu" related, something is wrong witch eCos
configuration. Forget about own application. You have to make work two
famous eCos examples for your target: these are `twotreads' and `serial'
(see $ECOS_REPOSITORY/../examples). Twothreads is exactly that what you
need. First, it's hardy help using a `configtool' way. I'm sorry. BUT, I
will try. What's your target's name exactly? (It seems I missed the
name). As I could understand you use ROM startup and the target has at
the least two serial ports.
$ ecosconfig new <target> default
At least, you have to set the below options to get non-blocking serial
I/O.
cdl_component CYGPKG_IO_SERIAL_DEVICES {
user_value 1
};
cdl_option CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING {
user_value 1
};
Put the above in serial.ecm and import this file then.
$ ecosconfig import serial.ecm
About printf() channel...
$ less -p 'DEFAULT_CONSOLE \{' ecos.ecc
cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE sets a device name which
will be used for printf(). Set it properly (edit ecos.ecc).
$ ecosconfig resolve && ecosconfig tree && make -s
cp -a $ECOS_REPOSITORY/../examples .
make -C examples INSTALL_DIR=`pwd`/install twothreads
make -C examples INSTALL_DIR=`pwd`/install serial
There will be your test stuff under examples directory. Make twothreads
works with JTAG.
Note: I do not know about your target, if your default startup RAM, it's
possible you have to import and the below before to build eCos examples
cdl_component CYG_HAL_STARTUP {
user_value ROM
};
Robert, only if you will manage `twothreads' then you will manage own
application.
Sergei