2012/07/28

[os]大山鳴動してスタック不足

タイトルがすべてを表しているが・・・。

あまりに原因がわからないので、タスクのスタックを512byteから1024byteに増やしてみた。

そしたら・・・動いた。

 

えー、スタックオーバーフローかよー。
そりゃ、ソースを見ている分にはわからんはずだ。
それより、そんなに使うようなソース書いた、という方がショックだ。

 

確かにSNEPに関する部分は、プロトコルスタックそのまま実装したので、SNEP→LLCP→DEPと階層が深い。
その分、関数コールも深くなってしまった。

また、いつも仕事で使っているのが16bitマイコンで、その気分が抜けないまま32bitマイコンを使っているというのもあるだろう。

 

nfcpyを相手にすると、ちゃんとサンプルが動いた。
なので、実装自体はそんなに間違っていないようである。

めでたしめでたし、とするには、ちょっと早いようであるが、少し気が楽になった。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。