Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
NuttX RTOS
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
f4grx
NuttX RTOS
Commits
c6459a79
Commit
c6459a79
authored
11 years ago
by
Gregory Nutt
Browse files
Options
Downloads
Patches
Plain Diff
Fix problems with host build of the Zmodem tools
parent
b7f15de1
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
Documentation/NuttX.html
+8
-1
8 additions, 1 deletion
Documentation/NuttX.html
configs/olimex-lpc1766stk/README.txt
+48
-19
48 additions, 19 deletions
configs/olimex-lpc1766stk/README.txt
with
56 additions
and
20 deletions
Documentation/NuttX.html
+
8
−
1
View file @
c6459a79
...
...
@@ -8,7 +8,7 @@
<tr
align=
"center"
bgcolor=
"#e4e4e4"
>
<td>
<h1><big><font
color=
"#3c34ec"
><i>
NuttX RTOS
</i></font></big></h1>
<p>
Last Updated: Ju
ne 27
, 2013
</p>
<p>
Last Updated: Ju
ly 16
, 2013
</p>
</td>
</tr>
</table>
...
...
@@ -498,6 +498,13 @@
<li>
PATH variable support.
</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
<p>
<li>
File transfers via TFTP and FTP (
<code>
get
</code>
and
<code>
put
</code>
), HTML (
<code>
wget
</code>
), and Zmodem (
<code>
sz
</code>
and
<code>
rz
</code>
).
</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
...
...
This diff is collapsed.
Click to expand it.
configs/olimex-lpc1766stk/README.txt
+
48
−
19
View file @
c6459a79
...
...
@@ -1072,9 +1072,9 @@ Where <subdir> is one of the following:
CONFIG_LPC17XX_UART1=y
CONFIG_UART1_ISUART=y
CONFIG_UART1_RXBUFSIZE=
512
CONFIG_UART1_RXBUFSIZE=
1024
CONFIG_UART1_TXBUFSIZE=256
CONFIG_UART1_BAUD=
96
00
CONFIG_UART1_BAUD=
24
00
CONFIG_UART1_BITS=8
CONFIG_UART1_PARITY=0
CONFIG_UART1_2STOP=0
...
...
@@ -1163,10 +1163,13 @@ Where <subdir> is one of the following:
Linux PC. To send a file to the PC, first make sure that the serial
port is configured to work with the board:
$ sudo stty -F /dev/ttyS0
96
00 # Select
96
00 BAUD
$ sudo stty -F /dev/ttyS0 crtscts # Enables CTS/RTS handshaking
$ sudo stty -F /dev/ttyS0
24
00 # Select
24
00 BAUD
$ sudo stty -F /dev/ttyS0 crtscts # Enables CTS/RTS handshaking
*
$ sudo stty -F /dev/ttyS0 # Show the TTY configuration
* Only is hardware flow control is enabled. It is *not* in this
default configuration.
Start rz on the Linux host:
$ sudo rz </dev/ttyS0 >/dev/ttyS0
...
...
@@ -1199,13 +1202,20 @@ Where <subdir> is one of the following:
5. Receiving Files on the Target from the Linux Host PC
NOTE: There are issues with using the Linux sz command with the NuttX
rz command. See "STATUS" below. It is recommended that you use the
NuttX sz command on Linux as described in the next paragraph.
To send a file to the target, first make sure that the serial port on
the host is configured to work with the board:
$ sudo stty -F /dev/ttyS0
96
00 # Select
96
00 BAUD
$ sudo stty -F /dev/ttyS0 crtscts # Enables CTS/RTS handshaking
$ sudo stty -F /dev/ttyS0
24
00 # Select
24
00 BAUD
$ sudo stty -F /dev/ttyS0 crtscts # Enables CTS/RTS handshaking
*
$ sudo stty -F /dev/ttyS0 # Show the TTY configuration
* Only is hardware flow control is enabled. It is *not* in this
default configuration.
Start rz on the on the target:
nsh> rz -d /dev/ttyS1
...
...
@@ -1234,14 +1244,17 @@ Where <subdir> is one of the following:
install rzsz (or possibily lrzsz).
STATUS
2013-7-15: I have been able to send large and small files with the
sz command. I have been able to receive small files, but there are
problems receiving large files: The Linux SZ does not obey the
buffering limits and continues to send data while rz is writing
the previously received data to the file and the serial driver's RX
buffer is overrun by a few bytes while the write is in progress. As
a result, when it reads the next buffer of data, a few bytes may be
missing. The symptom of this missing data is a CRC check failure.
2013-7-15: Testing against the Linux rz/sz commands.
I have been able to send large and small files with the target sz
command. I have been able to receive small files, but there are
problems receiving large files using the Linux sz command: The
Linux SZ does not obey the buffering limits and continues to send
data while rz is writing the previously received data to the file
and the serial driver's RX buffer is overrun by a few bytes while
the write is in progress. As a result, when it reads the next
buffer of data, a few bytes may be missing. The symptom of this
missing data is a CRC check failure.
Either (1) we need a more courteous host application, or (2) we
need to greatly improve the target side buffering capability!
...
...
@@ -1249,9 +1262,25 @@ Where <subdir> is one of the following:
We might get better behavior if we use the NuttX rz/sz commands
on the host side (see apps/system/zmodem/README.txt).
2013-7-16: I have verified that with debug off and at lower serial
BAUD (2400), the transfers of large succeed without errors. I do
not consider this a "solution" to the problem. I also found that
the LPC17xx hardware flow control causes strange hangs; Zmodem
works better with hardware flow control disabled.
2013-7-16: More Testing against the Linux rz/sz commands.
I have verified that with debug off and at lower serial
BAUD (2400), the transfers of large files succeed without errors. I
do not consider this a "solution" to the problem. I also found that
the LPC17xx hardware flow control causes strange hangs; Zmodem works
much better with hardware flow control disabled.
At this lower BAUD, RX buffer sizes could probably be reduced; Or
perhaps the BAUD coud be increased. My thought, however, is that
tuning in such an unhealthy situation is not the approach: The
best thing to do would be to use the matching NuttX sz on the Linux
host side.
2013-7-16. More Testing against the NuttX rz/sz on Both Ends.
The NuttX sz/rz commands have been modified so that they can be
built and executed under Linux. In this case, there are no
transfer problems at all in either direction and with large or
small files. This configuration could probably run at much higher
serial speeds and with much smaller buffers (although that has not
been verified as of this writing).
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment