This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]