目次

C言語, 作品

+
その他

C言語 | 仕組み

ここでは, C言語に関する詳細を説明します.

マクロの機能 | C言語

C言語には, マクロと呼ばれるものがあります. マクロとは, コンパイル前にある規則に従って文字を置き換える機能を持ちます[1].

ここでは, マクロの詳しい機能の説明を行います.

タスクコントロールブロック(TCB) | タスク管理

タスクを管理するにあたり, 各タスクの情報を保持しておく必要があります. このような情報の塊をタスクコントロールブロック(TCB)と呼びます.

編集中
Port.c | スクリプティング

PortMacro.hで宣言されているOSコア部分の関数をここで定義します. このファイルはAVRマイコン専用です.

OS, メモリ
メモリの構造 | タスク管理

ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.

メモリ管理 | 仕組み

OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.

今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.

このページでは, OSによるメモリ管理をどのように実装するのか説明します.

Stack
メモリの構造 | タスク管理

ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.

タイマ
システム割り込み | タスク管理

OSがタスクの切り替えを行うためには, 定期的にOSが現在実行中のタスクの処理を中断してタスク切り替え処理を行う必要があります.

ここでは, このようなOSが定期的に割り込み処理を行う方法を説明します. また, 割り込み時の処理について説明します.

メモリ管理
メモリ管理 | 仕組み

OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.

今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.

このページでは, OSによるメモリ管理をどのように実装するのか説明します.

Arduino
作品例 | Arduino

ここには, Arduinoを用いた作品を紹介します.

自作
端末第四世代(TerminalPro4) | 作品例
本体外観
本体外観

TerminalPro4とはSDカードに保存されている任意のプログラムを選択, 実行することができるものです. また外部のマイコン(optibootのみ対応)に対してプログラムを書き込むことも可能です. プログラマはTerminalPro4が備えている液晶, 音楽再生機, ボタンを自由に使用することができます. TerminalPro4が音楽プレイヤーからゲーム機まで様々なものになるのは, プログラマ次第です.

このページでは, TerminalPro4のハードウェア製作方法, TerminalPro4用のソフトウェア(アプリケーション)作製方法を説明していきます.

大まかな仕様は次のようになっています.

  • マイコン数: 3(ArduinoUno)
  • 入出力デバイス: 白黒ディスプレイ, スイッチ, 音声, SD
  • 音声出力法: PWM方式

TerminalPro4は次のライブラリを使用します.

音楽
作品集 | 音楽

ここでは, 筆者が作成した楽曲を挙げていきます.

掲載サイト
「https://contentsviewer.work/Master/:tagmap/C言語,作品?layer=ja」から取得