組込みシステム構築実習
マイコン比較
開発
設計メモ
- 設計メモ by てきーらサンドム
- ユーザーインターフェイス設計メモ | Blog | Yuya Kinoshita
- 顧客インタビューの質問設計・メモの取り方・発言を深堀するテクニック……ノウハウをプロから学ぶ!:MarkeZine(マーケジン)
- 設計メモ
- 【基本設計】メモ帳のデータ整理|Dai_K
- Unityでの設計メモ - Qiita
- ATMega32u4を使う場合の設計メモ.md · GitHub
- クラス設計メモ - Cube Lilac
- NoSQLの設計メモ - Qiita
PySimpleGUI
- PySimpleGUI · PyPI
- Call reference - PySimpleGUI
- PySimpleGUI Windowエレメント(ウィジェット)の初期化引数 | なおとしブログ
- 【PySimpleGUI備忘録】Windowの機能とZオーダー・モーダルの設定方法 - Qiita
- tkinterで”too early to create image”と出てしまう - Qiita
- Tkinterを使うのであればPySimpleGUIを使ってみたらという話 - Qiita
- PySimpleGUI: Working with Multiple Windows - Mouse Vs Python
- PySimpleGUIでGUIアプリを作ってみた ~その3~ イベント処理
- Python画像処理のためのGUI入門(PySimpleGUI解説) - Qiita
- PySimpleGUI イベント処理 〜応用編〜
- CodeSkulptor3
- CodeSkulptor Demos
- astroid
- PostedInMonth Post :: Coding Cheat Sheets
- Python画像処理のためのGUI入門(PySimpleGUI解説) - Qiita
- SimpleGUICS2Pygame · PyPI
- Pythonの画像処理ライブラリPillow(PIL)の使い方 | note.nkmk.me
- Pillow (PIL Fork) 9.5.0 documentation
- serverあれこれ: PySimpleGUIでグラフ要素を作成して画像を描画する
- PySimpleGUI - Graph Element
- PySimpleGUI - Image Element
- コラム - ゼロから歩くPythonの道 | 第26回 tkinterのcanvasをつかってみよう!|CTC教育サービス 研修/トレーニング
- 【Python/tkinter】線や円などの図形の描画 | イメージングソリューション
- 【Python/tkinter】Canvasに画像を表示する | イメージングソリューション
- Tkinterの使い方:Canvasクラスで図形を描画する | だえうホームページ
- Tkinterの使い方:Canvasクラスで描画した図形を操作する | だえうホームページ
- How to Move an Image in Tkinter canvas with Arrow Keys
- PySimpleGUIで画像処理ビューアーを作る - Qiita
- とほほのPython入門 - リスト・タプル・辞書 - とほほのWWW入門
- 【Python】listとarrayとNumPy配列の違い - 理系のための備忘録
- NumPyで使われる多次元配列のデータ構造「ndarray」とは?|CodeZine(コードジン)
- Pythonで関数を定義・呼び出し(def, return) | note.nkmk.me
- Pythonのlambda(ラムダ式、無名関数)の使い方 | note.nkmk.me
- 6. モジュール — Python 3.11.3 ドキュメント
- Pythonでランダムな小数・整数を生成するrandom, randrange, randintなど | note.nkmk.me
- random --- 擬似乱数を生成する — Python 3.11.3 ドキュメント
- 束縛について(初期化/代入/束縛)(Haskell)
組込みPython
sed
- sed (コンピュータ) - Wikipedia
- sedでマッチする複数行のうちはじめの行だけ置換する方法 - grep Tips *
- GitHub - mbuilov/sed-windows: Instructions for building sed.exe as a native windows application
ファイル共有
netコマンド
Windowsのルーティング
- Windowsのレジストリを設定してIPルーティングを有効にする(WindowsマシンをIPルーターにする):Tech TIPS - @IT
- WINDOWS端末でIPルーティングを有効にする方法(レジストリ設定編): NETWORK FREAK
アセンブラ オブジェクト指向
- Microsoft PowerPoint - プログラミング言語.pptx
- 法政大学国際文化学部
- 言語の歴史1(機械語〜構造化言語)|関数型言語とは何か?(Haskellで学ぶ)
- アセンブラを学ぶ意義 | 日経クロステック(xTECH)
- TECH_I_Vol.28 組み込みC/C++プログラミング入門 第6章 - オブジェクトやクラスをC言語で表現する
- 2.1 オブジェクト指向プログラミングの概要|組込み現場の「C++」プログラミング 明日から使える徹底入門
- オブジェクト指向に基づくアセンブリ言語プログラミング環境 | 文献情報 | J-GLOBAL 科学技術総合リンクセンター
- ダメ出し Blog
- はてなブックマーク - アセンブリ言語のみで言語処理系を作った話 // Speaker Deck
- トヨタの誤算とルネサスの苦悩マイコンシェア1位で何故か赤字
ルネサス復活の条件 | The Capital Tribune Japan- 「強み:自動車用のマイコン分野は良好。 弱み:利益率が悪い。 事業展望:現在もなお給与カット、人員削減... ルネサスエレクトロニクス Vorkers
メインフレーム
- 富士通の撤退する「メインフレーム」ってそもそも何?
- ASCII.jp:業界に多大な影響を与えた現存メーカー 日本の産業スパイに狙われたIBM (1/6)
- 【電子産業史】1982年:IBM産業スパイ事件 | 日経クロステック(xTECH)
- System/370 - Wikipedia
- System/360 - Wikipedia
- IBM 3090 Model 600J compared with modern desktop PC's.
- The Hercules System/370, ESA/390, and z/Architecture Emulator
- |GitHub - SDL-Hercules-390/hyperion: The SDL Hercules 4.x Hyperion version of the System/370, ESA/390, and z/Architecture Emulator
- パソコンの歴史 1989年
- MDBNCH: A molecular dynamics benchmark
- (IUCr) MDBNCH
- MDBNCH - A Molecular Dynamics Benchmark
- sci.astro.mail: Molecular dynamics benchmark data available on WWW
- Index of /~jburkardt/f77_src/mdbnch
人月の神話
- 人月の神話 - Wikipedia
- 読まれない名著「人月の神話」を本気で読み込んでみた(まとめ) - GiXo Ltd.
- 『人月の神話』新人エンジニアにオススメする技術書 | IIJ Engineers Blog
- 「人月の神話」の個人的まとめ - Qiita
- 人月の神話 | blog.tai2.net
- 人月の神話を読んでみた | フューチャー技術ブログ
- 「人月の神話」の要点 | PICO LAB
- 人月の神話|Takashi Suda / かんた
- 『人月の神話』|感想・レビュー - 読書メーター
- 「人月の神話」の個人的まとめ
技術者と技能者
- 工学系大学卒業者は皆エンジニアか ? │ Webty Staff Blog
- エンジニア(技術者)/テクニシャン(技能者)/他の違い その1 | とある機械エンジニアの資格ブログ
- エンジニア(技術者)/テクニシャン(技能者)/他の違い その2 | とある機械エンジニアの資格ブログ
- エンジニア(技術者)/テクニシャン(技能者)/他の違い その3 | とある機械エンジニアの資格ブログ
- 技術者と技能者|技術者の仕事を探そう
バーティカルバー|
高精度演算
- 高精度数の高速基数変換法とその性能
- 超高速!多倍長整数の計算手法【前編:大きな数の四則計算を圧倒的な速度で!】 - Qiita
- 超高速!多倍長整数の計算手法【後編:N! の計算から円周率 100 万桁の挑戦まで】 - Qiita
- 欅樹雑記: 多倍長整数の基数変換(2進数→10進数)
データ型モデル
階乗の計算
- [A Factorial Example - Practical Programming in Tcl & Tk, Third Edition Book]
- factorial
- Factorial in TCL - Stack Overflow
- tailcall manual page - Tcl Built-In Commands
- recursion - Can I recursively source a TCL script indefinitely? - Stack Overflow
- 【2進法にも対応】末尾に続く0の個数を求める方法 | 大学入試数学の考え方と解法
QEMU
Windows
- Internet Connection Sharing (ICS)サービスを自動起動するコマンド | Windows
- 【Windows 10】 Internet Connection Sharing (ICS) サービス起動の必要性 | 個人PCの性能とセキュリティ向上
Linuxコマンド
ls
shutdown -h now
poweroff
Alpine Linux
- Raspberry pi に Alpine Linux(64ビット)をインストールする方法 - Qiita
- AlpineLinuxをRaspberryPiに簡単インストール - スイッチサイエンス 開発者ブログ
- sgerrand/alpine-pkg-glibc: A glibc compatibility layer package for Alpine Linux
shutdownはない
poweroff
pingはファイヤーウォールを越えられない
ssh
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config rc-service sshd restart
プロキシの設定
setup-proxy http://hproxy.hokkaido-pc.ac.jp:8080 source //etc/profile.d/proxy.sh
タイムゾーン
localhost:~# setup-timezone Which timezone are you in? ('?' for list) [UTC] ? Africa/ Chile/ GB-Eire Israel Navajo US/ America/ Cuba GMT Jamaica PRC UTC Antarctica/ EET GMT+0 Japan PST8PDT Universal Arctic/ EST GMT-0 Kwajalein Pacific/ W-SU Asia/ EST5EDT GMT0 Libya Poland WET Atlantic/ Egypt Greenwich MET Portugal Zulu Australia/ Eire HST MST ROC posixrules Brazil/ Etc/ Hongkong MST7MDT ROK right/ CET Europe/ Iceland Mexico/ Singapore CST6CDT Factory Indian/ NZ Turkey Canada/ GB Iran NZ-CHAT UCT Which timezone are you in? ('?' for list) [UTC] Japan localhost:~# date Tue Apr 12 18:02:42 JST 2022
最新状態にする
apk update apk upgrade
パッケージのインストール
apk add vim apk add bash
パッケージの検索
apk search キーワード
man
apk add mandoc man-pages
useradd
adduser [OPTIONS] USER [GROUP]
- Setting up a new user - Alpine Linux
- Linuxでadduserに-gecosを指定したら何ができるか。なぜ gecosという名前なのか。 - フリーランチ食べたい
- GECOSフィールド - UnixClassWiki
gccをインストールする
apk add build-base
tccをインストールする
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing tcc
#!/usr/bin/tcc -run #include <stdio.h> int main() { printf("Hello World\n"); return 0; }
echo 'main(){puts("hello");}' | tcc -run -
Apacheをインストールする
apk add apache2 echo 'ServerName localhost:80' > /etc/apache2/conf.d/servername.conf rc-service apache2 start rc-update add apache2
PHPをインストールする
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.15/community php8-apache2 rc-service apache2 start
PHPのテスト
cd /var/www/localhost/htdocs echo "<?php echo phpinfo();" > index.php
- Setting Up Apache with PHP - Alpine Linux
- GitHub - codecasts/php-alpine: PHP APK Repository for Alpine Linux
MySQLをインストールする - 素早く簡単に使う
apk add mysql mysql-client
/etc/init.d/mariadb setup
/etc/init.d/mariadb start
mysql_secure_installation
rc-service mariadb restart
rc-update add mariadb default
sed -i "s|.*bind-address\s*=.*|bind-address=0.0.0.0|g" /etc/my.cnf.d/mariadb-server.cnf
sed -i "s|.*skip-networking.*|skip-networking|g" /etc/my.cnf.d/mariadb-server.cnf
apk add php8-pdo_mysql apk add php8-mysqlnd apk add php8-mysqli
Pythonをインストールする
apk add python3-dev
pip3をインストールする
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.15/community py3-pip
MySQL Python
apk add --update mariadb-dev pip3 install mysqlclient
OpenCVをインストールする
pip3 install opencv-python
tcl/tkをインストールする
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.15/community tcl tk apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community rlwrap
SCP
PHPによるファイルのアップロード
MQTT
apk add mosquitto apk add mosquitto-clients rc-update add mosquitto
echo "listener 1883" >> /etc/mosquitto/mosquitto.conf echo "allow_anonymous true" >> /etc/mosquitto/mosquitto.conf rc-service mosquitto restart
- サブスクライバー(受信)
$ mosquitto_sub -d -t test -v
- パブリッシャー(送信)
$ mosquitto_pub -d -t test -m "こんにちは"
- Python用MQTTライブラリ
$ pip install paho-mqtt
ルーティング
route add -net 10.2.1.0 netmask 255.255.255.0 gw 10.0.2.2
ルーティングの恒久化
rc-update add staticroute
vim /etc/conf.d/staticroute
staticroute="net 10.2.1.0 netmask 255.255.255.0 gw 10.0.2.2;net 10.2.39.0 netmask 255.255.255.0 gw 10.0.2.2"
BusyBox
- BusyBox
- Index of /downloads/binaries/1.31.0-defconfig-multiarch-musl
- Index of /downloads/binaries/1.28.1-defconfig-multiarch
Tiny C Compiler
C言語
Linuxプログラミング
- Linuxシステムプログラミング | Ohmsha
- シグナルの一覧 - Qiita
- c - linux application > signal > SA_RESTARTの使いどころ - スタック・オーバーフロー
- Linux シグナル入門 - 6. SIGALRM と sigaction システム・コール
- POSIXスレッドにて複数スレッドのタイミング制御をまとめて行う(セマフォと条件変数を使う場合) - 千里霧中
多倍長整数
Windows
- WindowsのmklinkコマンドとUNIXのlnコマンドは引数が逆 - C Sharpens you up
- コマンドプロンプトからexeを起動したときの戻り値(終了コード)を取得する | 猫型iPS細胞研究所
ここからは、古い内容です。
SH-4 Linux
Das U-Boot -- the Universal Boot Loader (ウーボート)
スプラッシュ画像の変更方法
音声出力
音声入力
アナログ入力
アナログ出力
Fedora 14
yumのリポジトリ設定を変更する
Fedora 14は2010年11月2日に公開されたもので今となってはかなり古くなっています。2011年12月9日にはサポートが切れており、当時のリポジトリは既にアーカイブに移されています。
http://archive.fedoraproject.org/pub/archive/fedora/linux/
そこで、設定ファイルに書かれているリポジトリのURLを書き換えます。
ディレクトリ/etc/yum.repos.dの中に設定ファイルがあります。拡張子は.repoです。
fedora.repo、fedora-updates.repo
これらのファイル中の、
「http://download.fedoraproject.org/pub/」を
「http://archives.fedoraproject.org/pub/archive/」に書き換えます。
- [unable to install packages fedora 14 closed] - Ask Fedora: Community Knowledge Base and Support Forum
Errno 14ファイルが見つからない。リポジトリの設定を見直す。
Errno 256キャッシュが壊れている
yum clean all