#author("2021-04-04T23:41:50+00:00","default:admin","admin") #author("2021-04-04T23:41:59+00:00","default:admin","admin") -[[Armadillo:http://armadillo.atmark-techno.com]] -[[アットマークテクノ ユーザーズサイト:https://users.atmark-techno.com]] -[[組み込みLinux開発・製品化のガイドブック教材:https://armadillo.atmark-techno.com/news/101019/aguide-release]] -[[Armadillo実践開発ガイド:http://armadillo.atmark-techno.com/armadillo-guide]] --[[Armadillo実践開発ガイド 第1部:https://manual.atmark-techno.com/armadillo-guide/armadillo-guide-1_ja-3.1.0/]] --[[Armadillo実践開発ガイド 第2部:https://manual.atmark-techno.com/armadillo-guide/armadillo-guide-2_ja-1.0.0/]] --[[Armadillo実践開発ガイド 第3部:https://manual.atmark-techno.com/armadillo-guide/armadillo-guide-3_ja-3.0.0/]] -[[Armadillo標準ガイド ハードウェア拡張編:https://manual.atmark-techno.com/armadillo-guide-std/armadillo-guide-std-hardware-expansion_ja-1.0.0/]] -Armadillo標準ガイド Armadillo入門編 -[[デベロッパーズガイド(Armadillo-400シリーズ編) - OpenRTM-aist:http://www.openrtm.org/openrtm/ja/book/export/html/149]] -[[技術者たちの挑戦 - ARM+Linux組込プラットフォーム「Armadillo」誕生秘話:http://news.mynavi.jp/series/armadillo/001/]] -[[CPUボードの「ありえない!」を覆した組み込みプラットフォームのリーディングカンパニー:http://deviceplus.jp/people/atmarktechno/]] -[[Howto : Armadillo-440 で Android を使ってみる:http://armadillo.atmark-techno.com/howto/try-android-on-armadillo440]] -[[Linux素人がAndroidを組込み基板(Armadillo)に搭載:http://blog.livedoor.jp/kshinsuk/archives/2670362.html]] -[[へにゃぺんて@日々勉強@Wiki Armadillo-440設定メモ:https://www40.atwiki.jp/cupnes/pages/45.html]] *製品 [#m4112c0c] **[[Armadillo-X1:https://armadillo.atmark-techno.com/armadillo-x1]] [#m2233e60] ***仕様 [#g3d793e9] -SoC: [[i.MX 7Dual:https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-7-processors/i-mx-7dual-processors-heterogeneous-processing-with-dual-arm-cortex-a7-cores-and-cortex-m4-core:i.MX7D]] -Boot Loader: [[U-Boot:http://www.denx.de/wiki/U-Boot/]] ***CON8 拡張インターフェース [#idb7b9e3] -搭載コネクタ:[[DF40C-100DP-0.4V(51):https://www.hirose.com/product/p/CL0684-4032-1-51?lang=ja#]] -対向コネクタ:[[DF40HC(3.0)-100DS-0.4V(51):https://www.hirose.com/product/p/CL0684-4151-0-51?lang=ja]] ***デフォルトコンフィグレーション [#e191684c] -SMP Symmetric Multi-Processing -SMP_ON_UP Allow booting SMP kernel on uniprocessor systems -ARM_CPU_TOPOLOGY Support cpu topology definition -HAVE_ARM_ARCH_TIMER Architected timer support -VMSPLIT_2G Memory split (2G/2G user/kernel split) -NO_HZ Tickless System (Dynamic Ticks) -PREEMPT Preemptible Kernel -ARM_PATCH_IDIV Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv() -AEABI Use the ARM EABI to compile the kernel -HIGHMEM High Memory Support -CPU_SW_DOMAIN_PAN Enable use of CPU domains to implement privileged no-access -COMPACTION Allow for memory compaction -BOUNCE Enable bounce buffers -CMA Contiguous Memory Allocator ***Node-RED [#l8a9362a] -[[Armadillo IoT ゲートウェイ G3: Node-REDを自動起動させるルートファイルシステムを構築する:https://armadillo.atmark-techno.com/blog/10002/4275]] -[[Armadillo上のNode-REDでシリアル(RS232C, UART)からのデータを受け取る:https://armadillo.atmark-techno.com/blog/53/3986]] ***[[Electron:https://www.electronjs.org/]] [#h70cc94a] -[[Armadillo-X1: Electronを使ってJavaScript, HTML, CSSを使ったデスクトップアプリケーションを作ってみる:https://armadillo.atmark-techno.com/blog/53/4223]] -[[ようこそ!Electron入門:https://qiita.com/umamichi/items/6ce4f46c1458e89c4cfc]] -[[23 Best Electron Apps (2020 Edition):https://www.omgubuntu.co.uk/2019/02/best-electron-apps]] **[[Armadillo-640:https://armadillo.atmark-techno.com/armadillo-640]] [#l2c04618] -[[Debian GNU/Linux 9 (stretch) 対応 製品マニュアル:https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_manual_ja-1.17.0/]] -[[Debian GNU/Linux 10 (buster) 対応 製品マニュアル:https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_manual_ja-2.1.0/]] -[[ソフトウェアダウンロード:https://armadillo.atmark-techno.com/armadillo-640/resources/software]] -[[Armadillo-640: CON3、CON4(シリアルインターフェース)をコンソールとして利用する:https://armadillo.atmark-techno.com/howto/armadillo-640-uart3-console]] -[[Armadillo-640でMQSオーディオを使う:https://armadillo.atmark-techno.com/howto/mqs-a640]] -[[Armadillo-640でNode.jsを使ってみる:https://armadillo.atmark-techno.com/blog/8700/3334]] -[[emmcへの書き込み回数を確認する方法:https://armadillo.atmark-techno.com/forum/armadillo/3208]] -[[PCのSDカードスロットに挿入されたSDカードをVMware Workstation Playerに認識させる方法:https://armadillo.atmark-techno.com/blog/8700/3163]] ***modprobe [#kd8c7708] -[[Armadillo640にてmodprobeを使うには?:https://armadillo.atmark-techno.com/forum/armadillo/3948]] -Enable loadable module support を有効にしてカーネルをビルド [atde]$ cd ~/linux-v4.14-at29 [atde]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x82000000 uImage [atde]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- [atde]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/tmp/mod modules_install -uImage を armadillo へ転送 [atde]$ scp arch/arm/boot/uImage atmark@[armadilloのip]:~/ -/tmp/mod の中身を armadillo へ転送 [atde]$ cd /tmp/mod [atde]$ tar czf lib.tar.gz lib [atde]$ scp lib.tar.gz atmark@[armadilloのip]:~/ -armadillo 側でファイルを配置 [armadillo]# cp uImage /boot/uImage [armadillo]# tar zxvf lib.tar.gz [armadillo]# cp -r lib/modules /lib -kmod パッケージをインストール [armadillo]# apt-get install kmod ***GPIO [#pd704c51] -[[Armadillo-640:デバイスツリーで、GPIOのデフォルトを出力に設定する(その1):https://armadillo.atmark-techno.com/blog/615/3916]] -[[Armadillo-640:デバイスツリーで、GPIOのデフォルトを出力に設定する(その2):https://armadillo.atmark-techno.com/blog/615/3917]] -[[Armadillo-640:pythonでGPIO制御:https://armadillo.atmark-techno.com/blog/615/4300]] ***SPI [#r746a1ba] -[[SPIデバイスの活用:https://manual.atmark-techno.com/armadillo-guide-std/armadillo-guide-std-hardware-expansion_ja-1.0.0/ch06.html]] -[[SPI接続のADC(アナログ・デバイセズ AD7988)を使用する:https://armadillo.atmark-techno.com/howto/SPI-ADC-AD7988]] **[[Armadillo-440:http://armadillo.atmark-techno.com/armadillo-440]] [#qb34ff42] -[[Armadillo-440 ドキュメント・ダウンロード:https://armadillo.atmark-techno.com/armadillo-440/downloads]] *開発 [#h5c1bf0f] -[[組み込みシステム構築の定石:https://manual.atmark-techno.com/armadillo-guide/armadillo-guide-2_ja-1.0.0/ch08.html]] **Perl [#hd6b17cf] -[[Armadillo-420でPerl5を使う:https://users.atmark-techno.com/blog/1562/1595]] **Python [#h5dbb81c] -[[Pythonのインストール方法:https://users.atmark-techno.com/node/1561]] **LCD(VGA) [#q8ad0731] -[[Armadillo-440 にVGAのLCDを接続したい:https://users.atmark-techno.com/node/2921]] -[[Howto : Armadillo-440にタッチスクリーンディスプレイを接続する方法:https://armadillo.atmark-techno.com/howto/a440-custom-lcd-and-touch-panel]] -[[Armadillo-440の液晶への表示について:https://users.atmark-techno.com/node/1602]] -[[FAQ : 液晶画面(LCD)、またはHDMIモニターに起動ログを表示するには?:https://armadillo.atmark-techno.com/faq/bootlog-on-lcd]] -[[表示用のビデオ環境設定ファイルについて:https://users.atmark-techno.com/node/1415]] -[[VGAデバイスドライバ仕様:https://manual.atmark-techno.com/armadillo-9/armadillo-9_software_manual_ja-1.2.2/ch11.html]] -[[EABI ARM マシン用 fbset_2.1-28_armel.deb:https://packages.debian.org/ja/jessie/armel/fbset]] --ダウンロードして、dbkg -x でパッケージ展開し、bin 配下をビルド対象の 適当な場所(atmark-dist/AtmarkTechno/[***]/usr/local/bin など)に配置してビルド --入っているコマンド ---fbset ---con2fbmap ---modeline2fb ***解像度 [#df63d87c] ***画面のローテート [#e280ecef] -Xfbdev のオプションで指定 -screen 480x640@90 -[[Re: FrameBuffer - Xfbdev Rotation:https://marc.info/?l=linux-arm-kernel&m=100946070626006&w=2]] **LCD(ST7920) [#e3569725] -[[LCDグラフィックディスプレイモジュール G1226D1N000 (128×64ドット 白色バックライト):https://akizukidenshi.com/catalog/g/gP-07532/]] -[[最近 LCDばっかり買っています:https://zigsow.jp/item/334598/review/336920]] -[[C Code for Text Mode on ST7920 Graphic LCD:https://www.onetransistor.eu/2018/03/code-text-mode-st7920-arduino.html]] -[[Simple Text Menu for ST7920 Graphic LCD:https://www.onetransistor.eu/2018/03/simple-text-menu-for-st7920-graphic-lcd.html]] -[[An 128×64 graphic LCD display with ST7920 controller for the Arduino, displaying temperature and relative humidity:https://thesolaruniverse.wordpress.com/2017/08/11/an-128x64-graphic-lcd-display-with-st7920-controller-for-the-arduino-displaying-temperature-and-relative-humidity/]] -インタフェースはパラレル/シリアル --SPI([[シリアル・ペリフェラル・インタフェース:https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%BB%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9]])接続がお勧め ***ドライバなど [#efd4f295] -[[dsvost/st7920fb:https://github.com/dsvost/st7920fb]] ... Linux kernel module for ST7920 based GLCD -[[Luma.LCD: Display drivers for PCD8544, ST7735, ST7567, HT1621, UC1701X, ILI9341, HD44780:https://luma-lcd.readthedocs.io/en/latest/]] --[[Luma.LCD:https://luma-lcd.readthedocs.io/_/downloads/en/feature-st7920/pdf/]] -[[bitbank2/uc1701:https://github.com/bitbank2/uc1701]] ... Fixed CS line and properly wrapped SPI access -[[bitbank2/ArmbianIO:https://github.com/bitbank2/ArmbianIO]] -[[enricocanardi/NodeJS_ST7920:https://github.com/enricocanardi/NodeJS_ST7920]] ... A NodeJS library for ST7920 based 128x64 display -[[JMW95/pyST7920:https://github.com/JMW95/pyST7920]] ... Python library to control ST7920 128x64 monochrone LCD panel using Raspberry Pi and SPI -[[wjakobczyk/st7920:https://github.com/wjakobczyk/st7920]] ... ST7920 LCD driver in Rust ***参考情報 [#v585a50f] -[[Implementing an LCD Module to the MCF5223x:https://www.nxp.com/docs/en/application-note/AN3559.pdf]] **GUI [#bc5bc2d1] -[[Armadillo-440:GTKのGUIサンプリアプリ(functester)を単独でビルドする(ATDE5版):https://users.atmark-techno.com/blog/615/1942]] -[[Armadillo-440:GTKのGUIサンプリアプリ(functester)を単独でビルドする:https://users.atmark-techno.com/blog/615/1738]] -[[Armadillo-440:3軸加速度センサー(MMA8452Q)から取得した加速度をGTKでLCDに表示するサンプルプログラム:https://users.atmark-techno.com/blog/615/2013]] **フォント [#s3e41b05] -[[Armadillo-410 表示できないフォントがある:https://users.atmark-techno.com/node/1407]] **シリアル通信 [#n77967f9] -[[FAQ : シリアル通信をおこなうプログラムを作成するには?:https://armadillo.atmark-techno.com/faq/serial-programming]] -[[Armadilloでシリアル通信:http://d.hatena.ne.jp/toshifusa1423/20100714/1279073442]] -[[シリアルポートの入出力:https://manual.atmark-techno.com/armadillo-guide/armadillo-guide-2_ja-1.0.0/ch06.html#sec_using_serial_port]] **GPIO [#l7c39afa] -[[GPIO - Armadillo-400シリーズ ソフトウェアマニュアル:https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_ja-1.4.0/ch09.html#sec-GPIO]] -[[LCD拡張ポートのGPIO化:https://users.atmark-techno.com/node/2046]] -[[Armadilllo-400シリーズで、CAN1を有効にする:https://users.atmark-techno.com/blog/750/1087]] -カーネルコンフィギュレーションで機能が割り当てられなかったピンは、全て GPIO として設定される ***GPIO sysfs [#ja53cb46] -標準状態で有効になっている -GPIO sysfsでは、/sys/class/gpio/(GPIO_NAME) ディレクトリ以下のファイルで入出力方向の設定、出力レベルの設定、入出力レベルの取得を行うことができる ***Armadillo-200 シリーズ互換 GPIO ドライバー [#bb6b3b62] -標準状態では無効になっている -有効にするには Linux カーネルコンフィギュレーションで、CONFIG_GPIO_SYSFS を無効に、CONFIG_ARMADILLO2X0_GPIO を有効にして、カーネルをビルドする必要がある **i2c [#e0ee37fe] -[[I2C接続A/Dコンバーター:https://manual.atmark-techno.com/armadillo-guide/armadillo-guide-3_ja-3.0.0/ch02.html#sec_using_i2c_with_adc]] -Armadillo-400シリーズでは、標準のカーネルでi2cdevドライバーが有効になっているため、特に何も設定しなくとも使用可能 **USB [#m0878688] ***libusb 0.1系 [#z2a39ebb] -[[特集 : 最新組み込みLinux実践講座Part5:https://armadillo.atmark-techno.com/articles/sd-a500-embedded-course-ch5]] -[[Armadillo-300でUSB⇔シリアル変換ケーブルを使えるようにする:http://aquacity0611.blog90.fc2.com/blog-entry-35.html]] ***HID [#od709cb7] -[[USBキーボードの読み取りかた:https://users.atmark-techno.com/node/1042]] -入力デバイス情報の見方 # cat /proc/bus/input/devices *デバイスドライバ [#j7dc1c30] -[[新規デバイスドライバの追加方法:https://manual.atmark-techno.com/dist/atmark-dist_developers_guide_ja-1.0.7/ch11]] *カーネルコンフィギュレーション [#q4d7414b] -[[FAQ : Armadilloで動作中のLinuxカーネルのコンフィギュレーションを確認するには:https://armadillo.atmark-techno.com/faq/check-kernel-config]] **Kconfig [#i263bd0c] **System.map [#w758861d] -System.mapファイルとはカーネルが使用するシンボルテーブル -シンボルテーブルはメモリ上でシンボル名とアドレスの対応関係を示す -シンボル名は、値もしくは関数名である場合が多い -System.mapファイルは、シンボル名のアドレスまたはアドレスの示すシンボル名が必要とされるケースにおいて要求される。とりわけこれはカーネルパニックやLinux kernel oopsが発生した場合、そのデバッグの役に立つ。 -カーネルは、コンフィグレーション(Kconfig)にてCONFIG_KALLSYMSを有効化すると自身のアドレス-名前変換を行う *ATDE [#m8b4bad9] **設定 [#o6bf954c] -[[ATDEで共有フォルダを使う方法:https://users.atmark-techno.com/blog/53/886]] *OpneCV [#c9f6cce2] -[[Armadillo-X1でOpenCVを使って見る:https://armadillo.atmark-techno.com/blog/750/2367]] -[[Armadillo-X1: OpenCVによる画像処理結果をネットワーク経由でPCで確認する:https://armadillo.atmark-techno.com/blog/750/2464]] -[[How to configure the linking g++ with opecv properly in ubuntu 18.04?:https://stackoverflow.com/questions/52186417/how-to-configure-the-linking-g-with-opecv-properly-in-ubuntu-18-04]] *Tips [#p2987060] **コンフィグ領域 [#x61e5acc] -コンフィグ領域の保存 # flatfsd -s -コンフィグ領域の初期化(注意!) # flatfsd -w --初期化時には「/etc/default」ディレクトリ以下のファイルがコンフィグ領域に保存され、且つ「/etc/config」ディレクトリにファイルが複製される -書き換え回数 --[[/etc/config - Armadilloフォーラム:https://armadillo.atmark-techno.com/forum/armadillo/4156]] ---1ブロック(128KB)単位でイレース/プログラムされる ---そのイレース回数の限度はおよそ10万回 ---イレース=「flatfsd -s」 **コンソール [#x2ca0f92] -[[Armadillo-440:USBキーボードを接続して、LCDをコンソール表示に使う:https://users.atmark-techno.com/blog/615/1744]] **ブラウザ [#fd0a67b6] -[[Howto : Chromiumを Fullscreen で起動する方法:https://armadillo.atmark-techno.com/howto/chromium-fullscreen]] --Raspbian (Raspberry Pi 用の Debian)からパッケージを持ってきて入れるという裏技 -iceweasel なら ARM系でもいけそう **USB-HID [#n531564c] -[[USBキーボードの読み取りかた:https://users.atmark-techno.com/node/1042]] **ファイルシステム [#x8bb55ed] ***cramfs [#y511ef76] -[[Howto : ルートファイルシステムをcramfsにする:https://armadillo.atmark-techno.com/cramfs-rootfs]] **Docker [#l158d836] -[[Armadillo-610へのDocker-CEのインストール:https://armadillo.atmark-techno.com/forum/armadillo/8827 -[[Armadillo-610へのDocker-CEのインストール:https://armadillo.atmark-techno.com/forum/armadillo/8827]] *2038年問題 [#v17db23e] -[[2038年問題対策:https://users.atmark-techno.com/node/2035]] -[[2038年問題:https://users.atmark-techno.com/node/2981]] -[[2038年問題について:https://users.atmark-techno.com/node/1114]]