Hi!! I am having problems with both the cyg_io_read and the cyg_io_write functions... With the cyg_io_write, the problem is that if I write the string ONCE or twice, it's ok. But when I have a loop that keeps on writing, I get a SIGTRAP error... The code looks like follows: #include /* printf */ #include /* strlen */ #include /* All the kernel specific stuff */ #include /* I/O functions */ #include /* CYGNUM_HAL_STACK_SIZE_TYPICAL */ #include #include int cyg_user_start(void) { cyg_io_handle_t serial_handle; Cyg_ErrNo ErrorLookup,ErrorNumberWrite,ErrorConfig; cyg_serial_info_t ser_info; cyg_uint32 config_len; char strang[10]="TESTING \n"; cyg_uint32 len; //Find device ErrorLookup = cyg_io_lookup("/dev/tty0",&serial_handle ); //Set up device ser_info.baud = CYGNUM_SERIAL_BAUD_38400; ser_info.stop = CYGNUM_SERIAL_STOP_1; ser_info.parity = CYGNUM_SERIAL_PARITY_EVEN; ser_info.word_length = CYGNUM_SERIAL_WORD_LENGTH_8; ser_info.flags = CYG_SERIAL_FLAGS_DEFAULT; config_len = sizeof(ser_info); ErrorConfig = cyg_io_set_config(serial_handle,CYG_IO_SET_CONFIG_SERIAL_INFO,&ser_info,&con fig_len); //Write to device len=sizeof(strang); ErrorNumberWrite = cyg_io_write(serial_handle,&strang,&len); if(ErrorNumberWrite == 0) { printf("Writing to COM2 FAILED! \n"); } while(1) { len=sizeof(strang); ErrorNumberWrite = cyg_io_write(serial_handle,&strang,&len); } } When I use the step option in insigth, I see that the variable "len" is INCREASED each time I run the cyg_io_write()...Why??? That is why I declare the value of "len" for each loop. Strange isn't it!! When I step at a slow speed, there is no problem, but when I "let go", I get the error... Then comes the problem with the read... The code is exactly the same (with the lookup and configure parts), but the difference lies in the change of cyg_io_write() to cyg_io_read()... //Read from device len=1; ErrorRead=cyg_io_read(serial_handle,&strang,&len); if(ErrorRead == 0) { printf("Läsning av COM2 lyckades! \n"); printf( " %s ",strang); } When I get to the cyg_io_read() part, I get a SIGTRAP error...And I haven't written anything in the terminal!! The cyg_io_read() uses the blocking per default, so it should wait until something has been written on the terminal and ENTER has been pressed, right? WHAT AM I DOING WRONG??? I'd really appreciate if someone could help me out. I am using a StrongArm processor on a mediaEngine board (quite similiar to the supported nanoEngine). THANK YOU! Regards Arif