(C) by T.IZUMI @ Ritsumeikan U, Jan 2026 - 無断複製・再配布を禁ず。リンクは歓迎。
Acknowledgements:
the base design is presented by Kaitlyn Franz and
the base kit is provided by Digilent Inc.
Department of Electronic Systems, Graduate School of Science and Engineering, Ritsumeikan University
立命館大学 大学院 理工学研究科 電子システム専攻
Advanced Topics in Embedded Systems
-- development of a robot car --
組込みシステム特論
〜ロボット車両の開発〜
Prerequisite Courses / 前提科目
This course is intended for those who have already mastered the following topics.
この講義は次の項目を習得済みの者を対象とする。
- Fundamentals of Computer Architecture (Processors, Buses, Memory, Registers, I/O)
計算機アーキテクチャの基本(プロセッサ、バス、メモリ、レジスタ、I/O)
- Fundamentals of Operating Systems and Compilers
OS, コンパイラの基本
- Digital Circuit Design, Verilog HDL, Simulation
ディジタル回路設計、Verilog HDL、シミュレーション
- C Language, Programming
C言語、プログラミング
- Unix Operations
Unix 操作
Learning Objectives / 学習項目
The learning objectives for this lecture and lab are as follows.
この講義&演習による学習項目は次の通り。
Section 1: Embedded System Configuration and Robot Operation Verification
Section 1 : 組込みシステムの構成とロボットの動作確認
- Lecture / 講義
- Notes for equipment handling, power supply voltage and current consumption, rechargeable battery characteristics, power supply system, logic signals and control signals, inputs and outputs
機器取扱の注意、電源電圧と消費電流、二次電池の特性、電源系統、レベル信号と作動信号、入力と出力
- System configuration, Zybot-R, ZYBO, FLASH, DRAM, USB, HDMI, Pmod, JTAG, SPI, LED &SW
システムの構成、Zybot-R, ZYBO, FLASH, DRAM, USB, HDMI, Pmod, JTAG, SPI, LED&SW
- Embedded Processors, FPGA, Memory
組込みプロセッサ、FPGA、メモリ
- All Programmable SoC - Zynq, ZYBO, PS and PL
All Programmable SoC - Zynq, ZYBO, PSとPL
- Linux Configuration, Boot, and Operation
Linuxの構成、起動と運用
- Networking, Wi-Fi, TCP/IP, SSH, SCP, Server-Client Programs, HTTP, motion
ネットワーク、無線LAN、TCP/IP, ssh, scp, サーバクライアントプログラム, http, motion
- Exercises / 演習
Section 2: Cooperation of Programmable Logic and Processor
Section 2 : プログラマブルロジックとプロセッサの連携
- Lecture / 講義
- memory mapped I/O, GPIO
- Logic Development, Synthesis, and Implementation Using Vivado
Vivado によるロジック開発、Synthesis, Implement
- Building a Zynq PL+PS Embedded System with Vivado IP Integrator
Vivado IP Integrator によるZynq PL+PS 組込みシステムの構築
- Software Development with Vitis IDE (Standalone)
Vitis IDE によるソフトウェア開発 (standalone)
- Colaboration of PL and PS
PL と PS の連携
- Exercises / 演習
Section 3: Development of Motor Control Modules
Section 3 : モータ制御モジュールの開発
- Lecture / 講義
- PWM Control
PWM 制御
- Motor Control Circuits
モータ制御回路
- Development of PWM Control Modules Using Programmable Logic
プログラマブルロジックによる PWM 制御モジュールの開発
- Circuit Control from a Standalone (OS-less) Processor
OS 無し (standalone) プロセッサからの回路の制御
- Exercises / 演習
Section 4: Circuit Control from Linux
Section 4 : Linux からの回路制御
- Lecture / 講義
- Access Permissions, Virtual Memory, Paging, MMU
アクセス権限、仮想メモリ、ページング、MMU
- /dev/mem and mmap()
/dev/mem と mmap()
- Device Drivers, Character Devices and Block Devices
デバイスドライバ、キャラクタデバイスとブロックデバイス
- /dev/uio*, /sys/class/gpio*, /proc/*
- Exercises / 演習
Section 5: Control of Devices over Network
Section 5 : ネットワーク経由での機器制御
- Lecture / 講義
- TCP/IP, socket(), listen()/connect() , recv()/send()
- Exercises / 演習
Development Environment / 開発環境
While our FPGA Design Room provides the necessary development tools,
you are recommended to install the tools on your own PC to have your own development environment.
For the boards used in this exercise,
the free version — which requires only Xilinx user registration — is sufficient.
However, the installation requires approximately 80GB to 120GB
(Note: GB, not MB!) of drive space,
so it might be better to install it on a larger external drive.
Please note that the installer must be placed on the C: drive and run from there,
not from an external drive. (as of 2026)
FPGAデザインルームには必要な開発ツールを用意してありますが、
できれば自身のPCにインストールして実行環境を整えるとよいでしょう。
本演習で使用するボードならXilinxのユーザー登録をするだけで使える無償版でOKです。
ただし、インストールには
80GBから120GB程度 (注:MBではなくGBです!) のドライブ容量が
必要ですので、外付けの大容量ドライブにインストールした方がいいかも知れません。
なお、インストーラは外付けドライブではなく C: ドライブに置いて実行する必要があるようです。
(2026時点での経験則)
- Xilinx Vitis 2026.1 (including Vivado)
Vivado can cause issues if the folder hierarchy is too deep,
so you should place your working folder in a shallow location,
or assign a drive letter to the folder using the 'subst' command.
Vivado はフォルダ階層が深いとトラブルを起こすので、
作業フォルダは浅い場所に置くか、
substコマンドでドライブ文字を割り当てるなどするとよい。
- Cygwin (including gcc, ssh)
- MobaXterm
- Chrome
Target Board and FPGA / ターゲットボードとFPGA
Preparation / 準備
Handouts / 配布資料
- Handouts would be distributed during class if needed.
必要に応じて講義にて配布する。
References / 参考資料
Tomonori IZUMI
@
Dept. Electronic & Computer Eng.,
College of Sci. & Eng.,
Ritsumeikan Univ.
泉 知論
@
立命館大学
理工学部
電子情報工学科
その他の講義&演習資料はこちら