問題タブ [mspgcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
384 参照

c - mspgcc での予期しない結果

C で簡単なコードを書きましたが、それを mspgcc に移植すると、正しい値が得られません。これは私のコードの一部です:

私が期待する結果はxk1=443118yk1=49908ですが、mspgcc では が得られますxk1=yk1=49902。タイプの選択のどこに問題があるのか​​ わかりませんか?

編集

これは私の完全なコードです

0 投票する
2 に答える
7985 参照

msp430 - Mspgcc で割り込みハンドラ (ISR) を宣言する方法は?

mspgcc で割り込みハンドラを宣言するための推奨される方法は何ですか?

0 投票する
4 に答える
3359 参照

c - MSP430-GCC で小さい整数に対して (unsigned) char よりも int が好まれる理由

msgpcc (MSP430 マイクロコントローラ用の GCC)マニュアルの著者は次のように書いています。

関数内で小さな整数が必要な場合は、char または unsigned char の代わりに int を使用します。生成されるコードはより効率的になり、ほとんどの場合、ストレージは実際には無駄になりません。

なぜintより効率的なのですか?

アップデート。そして、なぜ(u)int_fast8_tmspgcc で(unsigned) charではなくに定義されているのでしょうか(unsigned) int。私が理解(u)int_fast*_tしているように、十分なサイズの最も効率的な型に定義する必要があります。

0 投票する
1 に答える
938 参照

embedded - msp430 UART およびタイマー割り込み

私は msp430 ファミリ MCU (実際にはランチパッド ボード上の msp430g2553) を持っています。uart ドライバーを作成しましたが、動作します。しかし、タイマー ドライバーを追加した後、いくつかの問題が見つかりました。uart は、最初のタイマー割り込み後に動作を停止します。タイマー割り込みハンドラーでいくつかのフラグを復元する必要がありますか?

0 投票する
1 に答える
228 参照

c - TI の Red Hat mspgcc-430 コンパイル エラー

それで、Linux SO の msp430fx 用に C で書かれたコードをコンパイルしようとしています。最近 mspgcc の新しいバージョンを再コンパイルしました。以前に使用されたのは 4.3 で、拡張モード (20 ビット -mlarge) との互換性/安定性がなかったためです。

このサイトをフォローしました。

インストール後、私は単純な(メイン、いくつかのランダム関数を呼び出す)を実行し、それはうまくコンパイルされましたが、今、この大きなプロジェクトをコンパイルすると、最後にこのエラーが発生します:

msp430-gcc -o build/MoteISTv5_mspgcc/projects/common/03oos_macpong_prog -mmcu=msp430f5438a -Wall -Wno-main -mlarge -O0 -g -ggdb build/MoteISTv5_mspgcc/projects/common/03oos_macpong/03oos_macpong.o -Lbuild/MoteISTv5_mspgcc/ bsp/boards -Lbuild/MoteISTv5_mspgcc/kernel/openos -Lbuild/MoteISTv5_mspgcc/drivers -Lbuild/MoteISTv5_mspgcc/openstack -Lbuild/MoteISTv5_mspgcc/openapps -lopenstack -lopenapps -lkernel -ldrivers -lbsp /opt/msp430-toolchain/lib/gcc/ msp430-none-elf/4.9.1/../../../../msp430-none-elf/bin/ld: リンカー スクリプト ファイルを開けません msp430f5438a.ld: そのようなファイルまたはディレクトリはありません collect2: エラー: ld は 1 つの終了ステータス scons を返しました: *** [build/MoteISTv5_mspgcc/projects/common/03oos_macpong_prog] エラー 1 scons: エラーのためにビルドが終了しました。

私はコンパイラについてあまり理解していないので、この問題を解決する助けが必要です。誰でも助けることができますか?

事前にサンクス、

ディオゴ・ゲラ

0 投票する
1 に答える
952 参照

clang - LLVM/Clang+GCC で MSP430 の割り込みサービス ルーチンを定義する方法は?

GCC でコンパイルする場合、ISR は、TI が配布する GCC ツールチェーンに同梱されているヘッダーでinterrupt定義されたベクトル番号を持つ属性でマークすることによって定義されます。msp430fr*.h

ただし、LLVM/ClangでコンパイルしてGCCでアセンブル・リンクすると

上記はコンパイル時エラーを引き起こします:

0 投票する
1 に答える
420 参照

gcc - GCC を使用して MSP430 でフラッシュ メモリの場所を特定の値に設定する

msp GCC ツールチェーンを使用して、mcu のプログラミング中にフラッシュ プログラマによってプログラムされるフラッシュの数バイトを特定の値に設定するにはどうすればよいですか? たとえば、TI C/C++ コンパイラ ツールチェーンにはアセンブラーが含まれており、アセンブリの次の行によってメモリ位置が目的の値に設定されます。

msp GCC ツールチェーンを使用して同様のことを行う方法はありますか?