This is the mail archive of the ecos-discuss@sources.redhat.com 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]

Re: UART communication


You might try the [untested] attached patch.  No guarantees, but it
will give you an idea of where to look and what to try.

Of course if you get it working, we'd appreciate any feedback/patches.

On 05-Sep-2000 Dave Airlie wrote:
> 
> With eCos on the ARM AEB you cannot choose 57600, I up came against
> something similiar a while back.. check the return from
> cyg_io_set_config I found it by tracing the code ...
> 
> I think you can use a different clock multiplier to get 57600 but it
> involves changing eCos code...
> 
> Dave.
> 
> 
> On Tue, 5 Sep 2000 Andreas.Karlsson@combitechsystems.com wrote:
> 
>> Hi,
>> 
>> While receiving several bytes on the UART0 port on my AEB-board the
>> eCos-serialdriver says it only received 1 byte with the value of 0.
>> 
>> The incoming data looks very nice on an oscilloscope. 
>> 
>> Just to be sure that I hadn't messed something up in my receiver-thread I
>> connected the TX and the RX pin and sent 4 bytes, the packet was received
>> just as it should.
>> 
>> 
>> 
>> I compiled the ser0 with a baud rate of 57600 since that's the only one I
>> can use. The other settings are 1 stop bit, no parity, wordsize=8 and
>> CTS/RTS enabled.
>> 
>> I noticed that the baudrate of 57600 wasn't supported in aeb_serial.h but
>> what happens when I make this selection in the configuration?
>> 
>> To be able to enable CTS/RTS I had to modify the select_baud-array in
>> aeb_serial.h. This because I should be able to set all fields in the
>> cyg_serial_info_t struct. I added the value of 26 on the bauddivisor for
>> 57600, maybe this is the problem.
>> 
>> I really don't know what could be wrong so if anybody has a clue...
>> 
>> /Andreas
>> 
> 
> -- 
>       David Airlie, Software Engineer, Parthus Technologies plc.,
>        Mary Rosse Centre, National Tech Park, Limerick, Ireland.
>    t: +353-61-508116 / f: +353-61-508101 / David.Airlie@parthus.com
> 

============= Patch to support 57600 and 115200 baud on AEB-1 ================
Index: devs/serial/arm/aeb/current/src/aeb_serial.h
===================================================================
RCS file: /local/cvsfiles/ecc/ecc/devs/serial/arm/aeb/current/src/aeb_serial.h,v
retrieving revision 1.1
diff -u -5 -p -r1.1 aeb_serial.h
--- devs/serial/arm/aeb/current/src/aeb_serial.h        2000/04/10 14:44:46     1.1
+++ devs/serial/arm/aeb/current/src/aeb_serial.h        2000/09/05 15:59:29
@@ -144,11 +144,11 @@ static unsigned short select_baud[] = {
         69*3,  // 7200
         52*3,  // 9600
     (69*3)/2,  // 14400
         26*3,  // 19200
         13*3,  // 38400
-           0,  // 57600
-           0,  // 115200
+          26,  // 57600
+          13,  // 115200
            0,  // 230400
 };
 
 #endif // CYGONCE_ARM_AEB_SERIAL_H



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