Renesas Community
Search Community
User
Join or sign in
Site
Search Community
User
Renesas Engineering Community
FAQ
HELP
More
Cancel
Forums & Groups
English Community
中文社区(Chinese Community)
More
Cancel
かふぇルネ
forums-groups
Microcontrollers and Microprocessors
RX MCU
More
Cancel
RX MCU
Forum
M3S-T4-Tinyについて その2
Home
Forum
Tags
More
Cancel
New
Replies
4 replies
Subscribers
457 subscribers
Views
4795 views
Users
0 members are here
Duplicate
M3S-T4-Tiny
CubeSuite+
beginner
V2.01.00サンプルプログラム
Retransmission
ACK
Options
Share
More
Cancel
Related
M3S-T4-Tinyについて その2
K.K
over 10 years ago
毎回皆様にはお世話になっております。
なっとうです。
シェルティ様 SAK様には前回大変お世話になりました。
M3S-T4-Tinyをなんとか組み込む事ができました。
(まだwebサーバーの確認はできていませんが、ファイルシステムを組み込む所まではできているかと思います。)
前回のお話の中で、送信したい時にtcp_can_cepを送るとの事で、受信をキャンセルして送信をする事ができました。
その後確かに送る事も受信する事もできましたが、以下の問題で悩んでおります。
wiresharkで確認をしていると、どういったタイミングで起こる事象なのか把握できておりませんが、
送信->ACK受信がきているのに、
Retransmissionが発生し、それの応答としてDuplicate ACKが返ってきます。
その後何事も無く動作できれば良いのですが、
その状態から次の送信に移ることができなく困っております。
もしかしたらこのサイトの趣旨と少しかけ離れているのかもしれませんが、ご教授いただけたらと思います。
前提条件は前回と同じです。
使用マイコンはRX63N
開発環境はCubeSuite+ V2.01.00
サンプルプログラムはパッチプログラムを入れて動かしております。
ソースはtcp_nonblocking_sampleを使用しております。
以上よろしくお願いいたします。
Parents
シェルティ
over 10 years ago
なっとうさん、お疲れ様です。
返信遅くなりすみません。
以下、教えていただけますか?
①tcp_can_cep()の第2引数は何でしょうか?
→TFN_TCP_ALL、TFN_TCP_RCV_DATのいずれかかと思いますが、TFN_TCP_ALLの場合、すべてキャンセルされてしまいますので、間違えて送信をキャンセルしていないかご確認ください。
②wiresharkのログ(*pcap\,*pcapng)を貼っていただけますか?
③tcpudp_open()に渡すワーク領域は十分でしょうか?サンプルのようにtcpudp_get_ramsize()で値の事前確認をしていれば問題ないと思います。
④tcp_snd_dat()の送信データ長にゼロを指定していませんか?
⑤スタックは十分でしょうか?
Callwalkerを使ってスタックを見てください。
\sample\rx63n_rsk\src\bsp\stacksct.h の、
#pragma stacksize si=0x400
で調整してください。
---
別方向で解決を図るとしたら、通信端点を送信用受信用とで分けてキャンセルを使わない方法がありますね。
こちらもご検討ください。
以上よろしくお願いします
Cancel
Up
0
Down
Reply
Cancel
Reply
シェルティ
over 10 years ago
なっとうさん、お疲れ様です。
返信遅くなりすみません。
以下、教えていただけますか?
①tcp_can_cep()の第2引数は何でしょうか?
→TFN_TCP_ALL、TFN_TCP_RCV_DATのいずれかかと思いますが、TFN_TCP_ALLの場合、すべてキャンセルされてしまいますので、間違えて送信をキャンセルしていないかご確認ください。
②wiresharkのログ(*pcap\,*pcapng)を貼っていただけますか?
③tcpudp_open()に渡すワーク領域は十分でしょうか?サンプルのようにtcpudp_get_ramsize()で値の事前確認をしていれば問題ないと思います。
④tcp_snd_dat()の送信データ長にゼロを指定していませんか?
⑤スタックは十分でしょうか?
Callwalkerを使ってスタックを見てください。
\sample\rx63n_rsk\src\bsp\stacksct.h の、
#pragma stacksize si=0x400
で調整してください。
---
別方向で解決を図るとしたら、通信端点を送信用受信用とで分けてキャンセルを使わない方法がありますね。
こちらもご検討ください。
以上よろしくお願いします
Cancel
Up
0
Down
Reply
Cancel
Children
No Data