This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Re: diag_printf via serial port
Hello Alexey,
I didn't return to epk v1_0, I just set FIX_GDB_ISR to 0 (that is same,
you see). I aplied your patch and test it. Hardware: LPC-H2294,
software: GDB5.3, sz+RedBoot. Test: stress_threads (from kernel test
suite).
All works very smoothly. Thanks for your "lab" :-) I'm really didn't
suppose that lpc2xxx variant had a missing (UxIIR).
Kind regards,
Sergei
Ð ÐÐÐ, 04/06/2007 Ð 14:36 +0700, Alexey Shusharin ÐÐÑÐÑ:
> Sergei Gavrikov wrote:
> > On Fri, Jun 01, 2007 at 11:35:39PM +0700, Alexey Shusharin wrote:
> >
> >> It's strange, that your board works via serial. Maybe in your
> >> configuration interrupt driven serial driver is enabled. It overwrites
> >> variant implementation. In that case, my board works too. But, it
> >> doesn't matter now.
> >
> > At least one time in a week I rsync the eCos anonymous cvs tree with my
> > worked copy of the ECOS_REPOSITORY. I've done that today too. I'd done
> > no changes in Olimex plf HAL since 2007/01/31. So, I would want be sure
> > that your RedBoot, eCos test and your eCos repository is a freshmeat.
> > AFAIK, default ecos.ecc (configuration) uses ROM monitor (ROM calling
> > interface). Therefore, any out dated RedBoot stuff can be a reason of
> > the difference.
> >
> > So, 1) do cvs checkout; 2) download the latest epk, add it to ecos db
> > (ecosadmin.tcl), apply that CS8900A patch; 3) rebuild/upgrade RedBoot;
> > 4) build the 'examples/twothreads'.
> >
> > Note: Be sure that you didn't mess any sources in $ECOS_REPOSITORY
> > before. As I did note, it's better to rsync cvs tree with your worked
> > tree.
> >
> > Only in such a case, it will be possible to compare our lab's results.
> >
> > A moment ago, I did repeat that lab with 1 only difference. I began do
> > that with line a 'ecosconfig new olpce2294' instead of that 'ecosconfig
> > new olpch2294' :-) The results are same (as I got for LPC-H2294). The
> > 'twothreads' worked as expected. I even didn't connect RJ-45 for the
> > lab :-)
> >
> > Kind regards,
> >
> > -- Sergei
> >
>
> Hello Sergei,
>
> I found a differences in our results. It was my inattentiveness :-( . I
> got a olpce2294.epk via a reference in your article, which points to the
> old epk. Then I had gotten the latest one our results had coincided.
>
> static void first_thread(CYG_ADDRESS data)
> {
> while(1)
> {
> cyg_thread_delay(100);
> diag_printf("\nWe should see this string\n");
> }
> }
>
> arm-elf-gdb -q -nx /home/alex/smalltest.elf
> (gdb) set remotebaud 38400
> (gdb) target remote /dev/ttyUSB0
> Remote debugging using /dev/ttyUSB0
> 0x00007e20 in ?? ()
> (gdb) load
> Loading section .rom_vectors, size 0x40 lma 0x81010000
> Loading section .text, size 0x69a4 lma 0x81010040
> Loading section .rodata, size 0x2dc lma 0x810169e4
> Loading section .data, size 0x348 lma 0x81016cc0
> Start address 0x81010040, load size 28680
> Transfer rate: 25493 bits/sec, 295 bytes/write.
> (gdb) cont
> Continuing.
> enter cyg_user_start()
> exit cyg_user_start()
>
> We should see this string
>
> We should see this string
>
> We should see this string <---------- press Ctrl + C
>
> [New Thread 3]
>
> Program received signal SIGINT, Interrupt.
> [Switching to Thread 3]
> cyg_hal_user_break (regs=0x0) at
> /opt/ecos/packages/hal/common/current/src/hal_misc.c:138
> 138 CYGARC_HAL_GET_RETURN_ADDRESS_BACKUP(_cyg_hal_compiler_dummy);
> Current language: auto; currently c
> (gdb) cont
> Continuing.
> We should see this string
>
> We should see this string
>
> We should see this string
>
>
> As far as I understand, In the latest epk you masked the interrupt to
> prevent unceasing calling. But the error isn't in your code and changes
> in your layer are not necessary. Moreover, this changes leads to other
> issues. As example:
>
> RedBoot> load -m xmodem
>
> CEntry point: 0x81010040, address range: 0x81010000-0x81017008
>
> xyzModem - CRC mode, 482(SOH)/0(STX)/0(CAN) packets, 1 retries
>
> RedBoot> go
>
> enter cyg_user_start()
>
> exit cyg_user_start()
>
>
> We should see this string
>
>
> We should see this string
>
> We should see this string <---------- press Ctrl + C
>
> We should see this string <---------- oops
>
> We should see this string
>
>
> Then I use your epk v1.0 with my patch of cyg_hal_plf_serial_isr
> application works as provided.
>
> RedBoot> load -m xmodem
>
> CEntry point: 0x81010040, address range: 0x81010000-0x81016efc
>
> xyzModem - CRC mode, 478(SOH)/0(STX)/0(CAN) packets, 2 retries
>
> RedBoot> go
>
> enter cyg_user_start()
>
> exit cyg_user_start()
>
>
> We should see this string
>
>
> We should see this string
>
> We should see this string <---------- press Ctrl + C
> $T02thread:00000001;0f:40300181;0d:0ca40181;#bb
>
> :-)
>
> Best regards
> Alexey Shusharin
>
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss