[Armadillo:05901] Re: A440で複数スレッドプログラムを実行するとリセットする。

nakai email@hidden
2010年 10月 8日 (金) 18:41:49 JST


nakaiです。

現在弊社でリリースしています、Armadillo-400シリーズのソフトウェア
・linux-a400-1.03.bin.gz
・linux-2.6.26-at10
・(上記よりも過去のバージョンも含みます)
については、

	『タイマー(GPT : i.MX25内蔵汎用タイマー)ドライバに不具合』

があることがわかりました。
この不具合は、タイマーアクセス時にコア内部の不整合が起因して、
Watchdog Timerのkickができず、結果的にリセットされてしまう現象です。
通常利用においては、非常に再現しづらい現象ですが、
アプリケーションやカーネルで多くのタイマーを使用すると現象が発生しやすくなります。

上記の不具合の修正は、次のリリースに含める予定でいます。


まだリリースの準備ができていなくフライング気味ですが、
ダウンロードサイトに最新のイメージ(※)をおきました。
こちらで動作を確認していただけますか?
http://download.atmark-techno.com/armadillo-4x0/image/linux-a400-1.04.bin.gz

※ 現在テスト中ですので、実際のリリースイメージと異なる可能性があります。




(2010/10/08 12:48), email@hidden wrote:
> こんにちは、お世話になります。ichiと申します。
> 
> Armadillo440で複数スレッドを持つプログラムを実行すると
> 再起動してしまいます。
> 再起動するタイミングは、バラバラで数10分後のときもあれば
> 20時間後のときもあります。
> 再起動時は、リセットがかかったような状況です。
> (いきなりhermitが起動する。)
> 
> 以下に環境とテストプログラムのソースを記載します。
> みなさまのアドバイスを頂きたくお願いします。
> 
> ■機器構成
>    Armadillo440
>    ブートローダ 2.0.3
>    カーネル     linux-a400-1.03.bin.gz
>    ユーザランド romfs-a440-1.02.img.gz
>    周辺機器接続無し
> 
> ■プログラム
>    メインから20個のスレッドを作成する。その後1秒スリープの
>    単純ループ
>    スレッドは、20msecのスリープを行なうだけの単純ループ
>    (コンパイル時、-lpthread 追加)
> 
> ■原因は?
>    スレッド利用方法(プログラム)が悪い?
>    20msecのスリープだけのスレッド20個も実行するのが過酷?
>    外的要因?
> 
> 
> -- ソース ここから ---------------------------------------------------
> #include<stdio.h>
> #include<stdlib.h>
> #include<unistd.h>
> #include<pthread.h>
> 
> 
> pthread_t ThreadTable[20];
> 
> static void *ThreadFunction(void *argp);
> 
> 
> int main(int argc, char *argv[])
> {
> int rc,tno;
> 
> 	printf("Thread test program. ver 0.02\n");
> 
> 	for (tno = 0; tno<  20; tno++) {
> 		rc = pthread_create(&ThreadTable[tno],NULL,
> ThreadFunction,NULL);
> 		printf("THREAD(%d): pthread_create rc=%d\n",tno,rc);
> 	}
> 
> 	for (;;) {
> 		sleep(1);
> 	}
> 
> 	exit(0);
> }
> 
> 
> static void *ThreadFunction(void *argp)
> {
> 	for (;;) {
> 		usleep(20000);
> 	}
> }
> --  ここまで ---------------------------------------------------------
> 
> 以上、よろしくお願いします。
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 




armadillo メーリングリストの案内