<div>HI, ALL!</div><div><br></div><div><b><font color="#ff6600">when i run fileio test case, i got nothing;</font></b></div><div><br></div><div>when i run example from here http://zhgyuan.cn/downloads/uploads-file/201707/myapp.tar.gz </div><div><br></div><div><div><span style="font-size: 14px;">[19:51:16.847]收←◆hello,this is my print task test!</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size: 14px;">[/] # </span></div><div><span style="font-size: 14px;">[19:51:17.177]收←◆hello,this is my print task test!</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size: 14px;">[/] # </span></div><div><span style="font-size: 14px;">[19:51:18.020]收←◆hello,this is my print task test!</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size: 14px;">[/] # </span></div><div><span style="font-size: 14px;">[19:51:19.306]收←◆hello,this is my print task test!</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size: 14px;">[/] # </span></div><div><span style="font-size: 14px;">[19:51:20.589]收←◆hello,this is my print task test!</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size: 14px;">[/] # </span></div><div><span style="font-size: 14px;">[19:56:17.932]TX→◇help</span></div><div><span style="font-size: 14px;">□</span></div><div><span style="font-size: 14px;">[19:56:17.941]RX←◆h</span></div><div><br></div><div><br></div><div>i dont know why. the uart read also does not work for me </div><div><br></div><div><div><span style="font-size: 14px;">void testCom1(void) {</span></div><div><span style="font-size: 14px;">  char buffer[256] = {0};</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  printf("*** Simple COM1 Test ***\n");</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  //int fd = open("/dev/ttyS1", O_RDWR | O_NOCTTY | _FNDELAY);</span></div><div><span style="font-size: 14px;">  int fd = open("/dev/ttyS2", O_RDWR | O_NOCTTY);</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  printf("\nOpened COM1, fd=%d\n\n", fd);</span></div><div><span style="font-size: 14px;">  if(fd < 0)</span></div><div><span style="font-size: 14px;">      printf("open error\n");</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  #if 0</span></div><div><span style="font-size: 14px;">  if(fcntl(fd, F_SETFL, 0) < 0)  </span></div><div><span style="font-size: 14px;">  {  </span></div><div><span style="font-size: 14px;">    printf("fcntl failed!\n");  </span></div><div><span style="font-size: 14px;">    return;  </span></div><div><span style="font-size: 14px;">  }       </span></div><div><span style="font-size: 14px;">  else  </span></div><div><span style="font-size: 14px;">  {  </span></div><div><span style="font-size: 14px;">      printf("fcntl=%d\n",fcntl(fd, F_SETFL,0));  </span></div><div><span style="font-size: 14px;">  }</span></div><div><span style="font-size: 14px;">  #endif</span></div><div><span style="font-size: 14px;">  //fcntl(fd, F_SETFL, 0); // set blocked</span></div><div><span style="font-size: 14px;">  </span></div><div><span style="font-size: 14px;">  struct termios options;</span></div><div><span style="font-size: 14px;">  tcgetattr(fd, &options);</span></div><div><span style="font-size: 14px;">  bzero(&options, sizeof(options));</span></div><div><span style="font-size: 14px;"><span style="white-space:pre">     </span>/* setting the baud rate */</span></div><div><span style="font-size: 14px;">  cfsetispeed(&options, B115200);</span></div><div><span style="font-size: 14px;">  cfsetospeed(&options, B115200);</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="white-space: pre; font-size: 14px;">    </span></div><div><span style="font-size: 14px;">  options.c_cflag |= (CLOCAL | CREAD);</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  //options.c_cflag &= ~PARENB;</span></div><div><span style="font-size: 14px;">  //options.c_cflag &= ~CSTOPB;</span></div><div><span style="font-size: 14px;">  //options.c_cflag &= ~CSIZE;</span></div><div><span style="font-size: 14px;">  options.c_cflag |= (CS8 | CRTSCTS);</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  options.c_iflag = IGNPAR| ICRNL;</span></div><div><span style="font-size: 14px;">  options.c_oflag = 0;</span></div><div><span style="font-size: 14px;">  options.c_lflag = ICANON;</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  options.c_cc[VEOF] = 4;</span></div><div><span style="font-size: 14px;">  options.c_cc[VMIN] = 1;</span></div><div><span style="font-size: 14px;">  options.c_cc[VTIME] = 0;</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  tcflush(fd, TCIFLUSH);</span></div><div><span style="font-size: 14px;">  tcsetattr(fd, TCSANOW, &options);  </span></div><div><span style="font-size: 14px;">      </span></div><div><span style="font-size: 14px;">  if(0 == isatty(fd))  </span></div><div><span style="font-size: 14px;">  {  </span></div><div><span style="font-size: 14px;">      printf("input is not a terminal device\n");  </span></div><div><span style="font-size: 14px;">      //return;  </span></div><div><span style="font-size: 14px;">  }</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  int numBytes = write(fd, "Hello, I'm waiting for input..\r\n", 33);</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  if (numBytes < 0) {</span></div><div><span style="font-size: 14px;">    printf("\nFailed to send from COM1!\n");</span></div><div><span style="font-size: 14px;">  }</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  </span></div><div><span style="font-size: 14px;">  //wait input </span></div><div><span style="font-size: 14px;">  printf("wait 5s \n");</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  #if 1</span></div><div><span style="font-size: 14px;">  //(void) rtems_task_wake_after( 5 * rtems_clock_get_ticks_per_second() );</span></div><div><span style="font-size: 14px;">  numBytes = read(fd, buffer, 20);</span></div><div><span style="font-size: 14px;">  printf("read bytes %d\n", numBytes);</span></div><div><span style="font-size: 14px;">  strerror(errno);</span></div><div><span style="font-size: 14px;">  if (numBytes < 0) {</span></div><div><span style="font-size: 14px;">    printf("\nFailed to read from COM1!\n");</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  }</span></div><div><span style="font-size: 14px;">  else if(numBytes == 0)</span></div><div><span style="font-size: 14px;">  {</span></div><div><span style="font-size: 14px;">    printf("read error return 0\n");</span></div><div><span style="font-size: 14px;">  }</span></div><div><span style="font-size: 14px;">  else</span></div><div><span style="font-size: 14px;">  {</span></div><div><span style="font-size: 14px;">    //buffer[numBytes] = 0; // terminate</span></div><div><span style="font-size: 14px;">    printf("rev: %s\n", buffer);</span></div><div><span style="font-size: 14px;">  }</span></div><div><span style="font-size: 14px;">  #endif</span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">  //int read_cnt = uart_recv(fd, buffer, 20);</span></div><div><span style="font-size: 14px;">  //printf("rev: %s\n", buffer);</span></div><div><span style="font-size: 14px;">  //printf("read_cnt: %d\n", read_cnt);</span></div><div><span style="font-size: 14px;">  close(fd);</span></div><div><span style="font-size: 14px;">  rtems_task_delete(RTEMS_SELF);</span></div><div><span style="font-size: 14px;">}</span></div></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;"><br></span></div><div><span style="font-size: 14px;">hope you could help me check it , thx!</span></div><div><span style="font-size: 14px;"></span></div></div>