STM32F4の情報 / STM32プログラム開発環境


  • STM32F4のFPUを使えるように、binutils gcc newlib をセッティングする。
  • 現状の調査では、以下の組合せでは、FPUも正常に動く。
    • binutils-2.22
    • gcc-4.7.0
    • newlib-1.19.0
    • 上記以外のもっと新しい組合せで動作したら、情報提供お願いしたい。
    • ちなみに、FPUを使わないなら、下記の組合せで動く。
      • binutils-2.20.1a.tar.bz2
      • gcc-4.4.4.tar.bz2
      • newlib-1.18.0.tar.gz
  • WindowsもしくはLinuxパソコン上でプログラムできる。
    • MACでプログラム開発環境を構築できたら、情報提供お願いしたい。
  • Windowsでのプログラム開発環境の構築
  • Linuxでのプログラム開発環境の構築

Windowsでのプログラム開発環境の構築

Cygwin自体のインストール

  • setup.exe Cygwin のセットアップファイルをダウンロード
  • 上記の setup.exe を実行。
  • 基本的に、全て、デフォルトでインストール。
  • 追加アプリは、「Devel」の中の
    • autoconf (全パッケージ)
    • automake (全パッケージ)
    • binutils
    • gcc
    • gcc-core
    • gcc-g++
    • git
    • libtool
    • libusb1.0
    • libusb-win32
    • libusb1.0-devel
    • make
    • mingw-binutils
    • mingw-gcc
    • mingw-gcc-core
    • mingw-gcc-g++
    • mingw-pthreads
    • mingw-runtime
    • patchutils
    • ibsカテゴリ
      • mpfr
      • libgmp-devel
      • libmpfr-devel
  • mingw 系はコマンドラインだけで使う分には必要は無いらしい。

Cygwin上に STM32プログラム開発環境を構築

準備

  • cygwin のホームディレクトリに C:\cygwin\home\Owner\.bashrc を作り、
export PATH=${PATH}:/opt/stm32-tools/bin
  • とする。もし、ホームディレクトリに C:\cygwin\home\Owner\.bashrc があれば、最後の行に、前の一行を追加する。

binutils

  • cygwin 起動(.bashrc の作成の後で、起動すること)
  • 以降、cygwin 上での作業
    • ウィルス対策ソフトを止めておく。私は、これでエラーが出た。
$ cd /home
$ mkdir -p /opt/stm32-tools/bin
$ tar xjvf binutils-2.22.tar.bz2
$ cd binutils-2.22
$ mkdir build
$ cd build
$ ./configure  --target=arm-m4-eabi --prefix=/opt/stm32-tools/ --enable-interwork --enable-multilib --disable-nls --disable-libssp
$ make
$ make install

gcc と new-lib

$ cd /home
$ tar zxvf newlib-1.19.0.tar.gz
$ tar jxvf gcc-4.7.0.tar.bz2
$ cd gcc-4.7.0
$ mkdir build
$ cd objdir/
$ ../configure --target=arm-m4-eabi --prefix=/opt/stm32-tools/ --enable-interwork --enable-multilib --enable-languages="c" --with-newlib --with-headers=../../newlib-1.19.0/newlib/libc/include/ --disable-libssp --disable-nls --with-system-zlib
$ make all-gcc
$ make install-gcc
$ cd /home
$ cd newlib-1.19.0/
$ ./configure --target=arm-m4-eabi --prefix=/opt/stm32-tools/ --enable-interwork --enable-multilib --disable-libssp --disable-nls
$ make CFLAGS_FOR_TARGET="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" all
$ make install

$ cd /home
$ cd gcc-4.4.4/build
$ make -j`getconf _NPROCESSORS_ONLN` CFLAGS_FOR_TARGET="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" CXXFLAGS="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" all
$ make install

Linuxでのプログラム開発環境の構築

  • Ubnutu 10.04 にインストールした時の記録。
    • 2012.12.16 Ubuntu 12.04 と Debian Squeeze にも対応。
  • ホームディレクトリの .bashrc と /root/.bashrc に下の行を追加する。
export PATH=${PATH}:/opt/stm32-tools/bin
  • 下記を実行
$ sudo apt-get install flex bison libgmp3-dev libmpc-dev libmpfr-dev libncurses5-dev zlib1g-dev texinfo
$ mkdir src
$ cd src
$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2
$ wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
$ wget ftp://mirrors.kernel.org/gnu/gcc/gcc-4.7.0/gcc-4.7.0.tar.bz2
$ wget http://ftp.gnu.org/gnu/gdb/gdb-7.3.1.tar.bz2
$ tar xjvf binutils-2.22.tar.bz2
$ tar zxvf newlib-1.19.0.tar.gz
$ tar jxvf gcc-4.7.0.tar.bz2
$ tar jxvf gdb-7.3.1.tar.bz2
$ sudo su
# mkdir -p /opt/stm32-tools/
# cd binutils-2.22/
# ./configure  --target=arm-m4-eabi --prefix=/opt/stm32-tools/ --enable-interwork --enable-multilib --disable-nls --disable-libssp
# make -j`getconf _NPROCESSORS_ONLN` all
# make -j`getconf _NPROCESSORS_ONLN` install
# cd ..
# cd gcc-4.7.0/
# mkdir objdir
# cd objdir/
# ../configure --target=arm-m4-eabi --prefix=/opt/stm32-tools/ --enable-interwork --enable-multilib --enable-languages="c" --with-newlib --with-headers=../../newlib-1.19.0/newlib/libc/include/ --disable-libssp --disable-nls --with-system-zlib
# make -j`getconf _NPROCESSORS_ONLN` CFLAGS_FOR_TARGET="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" CXXFLAGS="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" all-gcc
# make -j`getconf _NPROCESSORS_ONLN` CFLAGS_FOR_TARGET="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" CXXFLAGS="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" install-gcc
# cd ../..
# cd newlib-1.19.0/
# ./configure --target=arm-m4-eabi --prefix=/opt/stm32-tools/ --enable-interwork --enable-multilib --disable-libssp --disable-nls
# make CFLAGS_FOR_TARGET="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -Wl,--no-as-needed" all
# make CFLAGS_FOR_TARGET="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -Wl,--no-as-needed" install
# cd ..
# cd gcc-4.7.0/objdir/
# make -j`getconf _NPROCESSORS_ONLN` CFLAGS_FOR_TARGET="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" CXXFLAGS="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" all
# make -j`getconf _NPROCESSORS_ONLN` CFLAGS_FOR_TARGET="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" CXXFLAGS="-mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16" install
# cd ../..
# cd gdb-7.3.1/
# ./configure --target=arm-m4-eabi --prefix=/opt/stm32-tools/ --enable-interwork --enable-multilib --disable-libssp --disable-nls
# make -j`getconf _NPROCESSORS_ONLN` all
# make -j`getconf _NPROCESSORS_ONLN` install

プロジェクト


共通



最新の20件

2020-11-14 2014-11-10 2014-08-17 2013-12-23 2013-09-29 2013-08-09
  • STM32F4の情報/STM32プログラム開発環境
2013-08-07 2013-08-03 2012-11-28 2012-08-25 2012-07-05 2012-07-03 2012-07-01

今日の16件

  • counter: 7569
  • today: 1
  • yesterday: 0
  • online: 1