Last Update 2023/03/27

550号特別企画 2大特集 Linuxでも正式サポート,組み込みや車載で注目を集める
Interface 2023年 5月号
質実剛健 Rust言語

Interface編集部 編
B5判 224ページ
別冊付録 プログラミング学園 Python部
特別号定価1,320円(税込)
2023年5月1日発行
好評発売中!
Interface 2023年 5月号

第1特集:C言語と比べて理解する
第2特集:マイコンで動くフル機能Rust
特別付録:初めてのRustプログラミング
新連載:毎号実験!自律移動ロボット
550号特別企画 2大特集
Linuxでも正式サポート,組み込みや車載で注目を集める
特集 質実剛健 Rust言語

目次

第1特集 C言語と比べて理解する

Linuxでも正式サポート,組み込みや車載でも注目を集める
イントロダクション Rustと歩む未来

第1部 実例で見るRustが質実剛健である理由

C言語プログラム歴45年の筆者が語る
第1章 ベテランC/C++プログラマからみたRustの安全性

一番簡単!GPIO読み取りとUSBHIDデバイスの実装
第2章 Rust+ラズパイPicoで作る簡易USBキーボード

Rustとラズベリー・パイ4のI2C&SPIで実装する環境モニタ
第3章 C言語版デバイス制御の潜在的バグを続々発見

アクセス回数をカウントするサーバ作りを例に
第4章 PythonとRustで比較するマルチスレッド処理

第2部 ラズパイ×RTOS…Rustは組み込みでも使える

メモリ・アクセス・エラーの起きないプログラムを作る
第1章 Rustの安全性をLチカで体験する

メモリ安全,所有権,借用
第2章 安全な変数アクセスの考え方と実現方法

変数アクセス/命名規則/省略可能な表現の制限
第3章 高い安全性を誇る理由

大規模開発向け…必要なパッケージをダウンロードし,ビルド&リンクを実行する
第4章 パッケージ・マネージャCargo

Appendix1 ラズパイ向けRust環境SOLIDのインストール

第3部 組み込みRust開発実例

実用的なデバイス開発をRustで
第1章 CMSIS-DAPの実装で実践するUSBデバイス開発

ハードウェアに極力依存しないデバイス・ドライバを実現
第2章 embedded-halでデバイス・ドライバを抽象化して実装する

第2特集 マイコンで動く フル機能Rust

入出力/ネットワーク機能の面倒な初期化や手続き不要!HTTPセンサ・ノード作りで使い勝手の良さを味わう
第1章 いよいよ試す環境が整った!フル機能Rust×マイコン

組み込みRustではおなじみのベアメタル環境とは違う!
第2章 std Rustを使う前に知っておきたい…no_stdとの違い

ESP32-C3用プログラムのコーディング/コンパイル/書き込みに使う各ツールのインストール
第3章 ステップ1…開発環境の構築

std環境だから2行のプログラムでサッと表示!プロジェクトの中身もチェック
第4章 ステップ2…コンソールに「HelloWorld」を出力

RustからESP-IDFの機能をフルに使えるようにしている仕組み
第5章 ステップ3…Rust開発環境の構成を理解する

(1)ログ・システム,(2)エラー・ハンドリング,(3)メモリ・アロケータ,(4)スレッド,(5)データ共有
第6章 ステップ4…便利なライブラリを試してみる

単純な接続から便利で強力なクレートまで
第7章 ステップ5…無線LAN接続

温湿度気圧センサ/ディスプレイ/スイッチで試す
第8章 ステップ6…I2C/SPI/GPIO/タイマのコントロール

デバイス制御,ネットワークを組み合わせた集大成
第9章 ステップ7…クライアント&サーバでセンサ・データ送信

組み込みマイコンでもGUIでデバッガが使える
第10章 VSCode+OpenOCD+GDBでデバッグ

特別付録 初めてのRustプログラミング

VisualStudio CodeをちょっとしたIDEに!定番「HelloWorld」の実行まで
第1章 PCでサッと試せるRust開発環境の構築

変数からデータ型,コメント,関数,フロー制御まで!コンパイル・エラー表示と合わせて理解
第2章 動かしながら覚えるRustの基本文法

テクノロジー掘り下げ

プロセッサ開発のセンス〈第9回〉
性能/電力/面積のバランスに苦労する…さらにコストも抑える

マイコンC言語転ばぬ先のつえ〈第22回〉
最適化(1)…実行速度と使用メモリ量はトレードオフ

作りながら学ぶ!プリント基板設計超入門〈第5回〉
プリント基板設計のお供!データシートの読み方

OS使いこなし

YoctoProjectではじめる組み込みLinux開発入門〈第7回〉
LinuxI/O制御の基本!Lチカ用レシピ作り

Windows11時代のデバイス・ドライバ開発〈第2回〉
開発環境構築からビルド&動作テストまで

人工知能や科学計算

AI自習ドリル〈第24回〉
ディープ・ラーニング入力用のデータを作る

RaspberryPiライフ

ハイレゾ&I2S伝送対応![新]ラズパイPicoDACの製作〈第3回〉
I2Sデータ受信対応(2)…PIOやDMAを活用して384kHz/32ビット対応!設計&評価編

回そう!モータ

新連載 毎号実験!自律移動ロボット〈第1回〉
積載物に適したモータ駆動ゲインを実験で確かめる

ブラシレス·モータを回すプログラム書き方講座〈第11回〉
模型ドローン用モータを使って最高回転数を追求(ホールセンサあり/なし)

TRY仮想開発…DCブラシレス・モータのベクトル制御を例に〈第2回〉
Simulinkによるモデリング

鉄道・航空コーナ

Arduino/ラズパイで作るコックピット〈第6回〉
自作機器とフライト・シミュレータ連携のキー・アイテム…AirManagerAPI

電鉄用モータ制御の旅〈第11回〉
VVVFインバータ装置トルク制御の実装

舞いあがれ人力飛行機〈第4回〉
機体のあちらこちらに取り付けたセンサ・データの集め方

ニュース&レポート&お知らせ

読者プレゼント

ほんのりInterface

作業部屋 ツール自慢〈第10回〉
オープンソースのプリント基板CAD

次号予告

別冊付録

プログラミング学園 Python部

詳細な内容はこちら