サンプルのスカイシェルを構築しようとしましたが、失敗しています。contiki-2.6 と contiki-2.7 で試しました。おそらくコンパイラ自体が非効率的か何かだと思っていたので、contiki-2.7で試したときに、必ずmsp430-4.5.3、4.6.3、および4.7.0を試してみました(このフォーラムの質問への回答を使用してmspgccバージョンを切り替えます: https://askubuntu.com/questions/187253/how-to-update-a-package-from-command-line-gcc-compiler )。これはどれも役に立たないようでした。また、「SMALL=0」でコンパイルしようとしましたが、これはオーバーフローを増やすだけのようでした。
次に、sky-upload.c のコード (shell_netfile_init()、shell_rim_init()、shell_rim_netcmd_init() など) をコメントアウトしてみました。これにより、コンパイルのオーバーフローを回避できるようにコンパイルが十分に短縮されたように見えましたが、関数 vuprintf で __udivmodsi4 への参照が欠落していると表示されます。この問題を調査してみましたが、コンパイルの一部で、現在考えているものとは異なるバージョンの gcc を使用しているようです (フォーラムの投稿はこちら: http://sourceforge.net/p/mspgcc/mailman/mspgcc- users/thread/D45E6EE7-2771-41EC-9999-F773C6B22AA4@imag.fr/ )
上記の init() 呼び出しがコメントアウトされていなくても、この例は機能するはずだと思います。また、最終的に例を意図したとおりに動作させる (つまり、ELF ファイルを無線でモートに送信してからロードする) ようにするには、上記の init() 呼び出しをコメント化することはできず、さらに多くのコードが必要になる場合があります。例で提供されているものの上部。
ここには 2 つの主な質問があり、通常、投稿は一度に 1 つしか扱わないことを認識していますが、それらがごちゃ混ぜになっているため、両方の問題 (オーバーフローと参照の欠落) を投稿するのが最善だと考えました。
ここで何がうまくいかないのか誰か知っていますか?私はすべてのコンティキに関して初心者なので、可能な限り追加の説明を追加してください:)。
ありがとう