3

私は TI Stellaris LM3S1968 を使用しています。この MCU には ARM Cortex-M3 が搭載されています。

Windows 7 を搭載したラップトップに VM をインストールし、そこにGNU Tools for ARM Embedded Processorsをインストールしました。次に、Stellaris Flash Programmer、GUI、およびコマンド ラインをインストールしました。Stellaris FTDI Driversもインストールしました。

最後に、EK-LM3S1968 Firmware Development Packageをダウンロードして解凍しました。

解凍したフォルダには、いくつかの例があります。それらの1つは点滅です。/StellarisWare/board/ek-lm3s1968/blinky/gcc/ に移動すると、blinky.bin というファイルがあります。Stellaris Flash Programmer を使用して、コンピューターに接続してフラッシュするだけで動作します。さまざまな例で試してみましたが、すべてうまくいきました。

ここでの目標は、/StellarisWare/board/ek-lm3s1968/blinky/ で提供されているサンプル コードをコンパイルし、フラッシュすることです。しかし、私は C やプログラミング マイクロコントローラーの経験があまりないので、あまり運がありませんでした。

LM3S1968 ライブラリを StellarisWare フォルダからコンパイラの include フォルダにコピーしました。次に、オンラインで見つけたいくつかの例に従いましたが、成功しませんでした。これは私が試したものです:

arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb blinky.c -nostartfile -T blinky.ld -o blinky.o
arm-none-eabi-ld -T blinky.ld -o blinky.out blinky.o
arm-none-eabi-objcopy -Obinary blinky.out blinky.bin

この .bin ファイルをフラッシュしても何もせず、LED は点灯したままです。

プログラムを実行する前にMCUの起動を処理するstartup_gcc.cファイルがあるためだと思います。しかし、私はそれをバンドルする方法がわかりません。

さまざまな IDE 用のファイルがたくさんありますが、フリーではないため、GNU ツールを使用したいと考えています。

ここで StackOverflow とググって検索してみましたが、答えが見つかりませんでした。

4

1 に答える 1