Armadilloフォーラム

シリアル通信アドオンモジュール R02のリセット

mkohei1122

2023年9月20日 9時33分

森と申します。

G3でアドオンモジュールをCON1にDA00、CON2にR02を使用して、
RS485のシリアル通信でスレーブ機器を短い時間間隔で
ポーリングしております。

ポーリングのプログラムは、ある程度の時間をポーリングすると、
R02がハングアップしてしまい、プログラムをとめて、再動作しても、
R02をopenをすることができず復帰しません。

詳細は、プラグラムの中身をデバック中ですが、短期的な対策として、
G3リブートすると復帰しますので、ハングが発生したら、R02をリセット
できないかと考えております。

シリアル通信やアドオンR02をリセットするような手段はございますでしょうか。
アドバイスいただけたら幸いです。

コメント

at_keitaro.takahashi

2023年9月22日 17時42分

高橋です。

添付のパッチを適用して、DMAを無効にすると問題が解決できる可能性があります。
お手数ですが、パッチを適用したカーネルで動作を確認いただけますでしょうか。

ファイル ファイルの説明
disable_dma.patch

中村です。

横から失礼します。

> 添付のパッチを適用して、DMAを無効にすると問題が解決できる可能性があります。

このパッチを投稿したの者です。
https://armadillo.atmark-techno.com/forum/armadillo/3520
の2018年12月18日 21時10分
(あれからもう5年なんですね)

そのあと、2020年6月30日 10時08分のドさんの投稿で、
> この修正を適用し、2日間連続動作させ不具合が発生しなかったので、
> 2020年6月の製品アップデートにて対応を入れております。
とあり、DMAの不具合は解消されたものと思っていましたが、
まだ何かDMAに問題が残っていた(あるいは、その後またDMAが
おかしくなるうような修正が入った)、というようなことでしょうか?

--
なかむら

森です。

当方ですが、カーネルは、at21を使用しております。
at21がリリースされたのが、2021年07月ですので、この修正がされたものと
思います。その後のカーネルのリリースで、シリアル周りの修正はなさそう
でしたので、そのまま使用しておりました。

まずは、DMAで問題が解消できるかどうか確認いたします。

> 中村です。
>
> 横から失礼します。
>
> > 添付のパッチを適用して、DMAを無効にすると問題が解決できる可能性があります。
>
> このパッチを投稿したの者です。
> https://armadillo.atmark-techno.com/forum/armadillo/3520
> の2018年12月18日 21時10分
> (あれからもう5年なんですね)
>
> そのあと、2020年6月30日 10時08分のドさんの投稿で、
> > この修正を適用し、2日間連続動作させ不具合が発生しなかったので、
> > 2020年6月の製品アップデートにて対応を入れております。
> とあり、DMAの不具合は解消されたものと思っていましたが、
> まだ何かDMAに問題が残っていた(あるいは、その後またDMAが
> おかしくなるうような修正が入った)、というようなことでしょうか?
>
> --
> なかむら
>
>