週末!プログラミング部

ソフトウェア開発ネタを中心に自分でいろいろ調べた内容を自分の勝手な解釈で思うがままに書いくためのブログ。サンプルソースコード、API、プラットフォーム、プログラミング言語、開発環境などを調査、分析して追求いく予定です。

ベアメタル

Cortex-M4でCMSISライブラリを使わずにSysTickを制御してみる

前回までは、Cortex-M4でCMSISライブラリを使わずにGPIO制御してみました。 今回は、Cortex-M4でCMSISライブラリを使わずにSysTickを制御してみたいと思います。 SysTickとは ARMマイコンが周辺機器とは別に持っている24ビットのシステム・タイマです。 特徴…

Cortex-M4でCMSISライブラリを使わずにGPIO制御してみる(拡張)

前回は、Cortex-M4でCMSISライブラリを使わずにGPIO制御してみました。 今回は、その延長で複数のGPIOを制御してLチカさせます。 内容は前回やったことに毛が生えたような感じですが、今後やりたいことがあり、そのデバッグ目的のためにやります。 User LED…

Cortex-M4でCMSISライブラリを使わずにGPIO制御してみる

前回は、eclipse Embedded CDTでSTM32F407VG(Cortex-M4)のベアメタルをデバッグしました。 今回は、CMSISライブラリを使わずにGPIOを制御してUser LED(green)をLチカさせてみたいと思います。 User LED(green)の接続先 まずはUser LED(green)の接続先を探し…

eclipse Embedded CDTを使ってAMR用のベアメタルをデバッグしてみる

前回はeclipse Embedded CDTをインストールしてWidnowsだけで動くAMR用のベアメタル開発環境を構築してみました。 今回はeclipse Embedded CDTを使用してAMR用のベアメタルをデバッグしてみました。 備忘録として残します。 プロジェクトを作成する eclipse…

eclipse Embedded CDTでAMR用のベアメタル開発環境を作ってみる

eclipseを使用したARMの開発環境 eclipse Embedded CDT が便利だという話を小耳にはさみました。 eclipse Embedded CDT はeclipseにクロスツールチェーンやプラグインを追加して使うような開発環境のようです。 今回は、Windows 10 64bitマシンにeclipse Emb…

システムコールを実装してnewlibのprintfを使えるようにする

Raspberry pi のベアメタル開発環境構築の続編です。 以前、Crosstool-NGでRPiのベアメタル開発環境を作るときに、newlibも一緒にインストールしました。 今回は、システムコールを実装してnewlibのprintf()を使えるようにしてみようと思います。 printfがな…

RPiでAMP環境を構築してみる

今回は、Crosstool-NGで作ったRPiのベアメタル開発環境を使用して、Raspberry Pi(以降、RPi)でAMPシステムを作ってみたいと思います(・`ω´・)b AMPシステムとは Raspberry Pi OSをインストールしてみる Raspberry Pi OSが使用するメモリとCPUコア数を制限…

QEMUでRPiをエミュレートしてみる

前回は、Crosstool-NGでtoolchainを構築して、RPi3のチュートリアルをビルドしてみました。 今回は、ビルドしたカーネルを動かしてみたいと思います(・`ω´・)b ・・・が、ビルドするたびにカーネルをSDカードにコピーするのも手間なのでQEMUというエミュ…

Crosstool-NGを使ってRPiのベアメタル開発環境を構築してみる

前回、格安でRasperry Piを手に入れたのでこれらを使ってベアメタルプログラミングをしてみようと思います。 まずは開発環境の構築から(・`ω´・)b 開発環境の構築にはCrosstool-NGを使います。 Crosstool-NGは、toolchain(コンパイラ、アセンブラ、リン…