link もっと前
   2019年 5月 16日 -
      2019年 5月 7日  
link もっと後

link 未来から過去へ表示(*)
link 過去から未来へ表示

日々

link permalink

ARM SBC リスト

最近はたくさんの ARM のシングルボードコンピュータ(SBC)が市販されています。嬉しい時代になりました。これからのお買い物の参考としてリストアップしました。値段は変動するので参考です。

NVIDIA Parker
ボード Jetson TX2、Denver/2GHz x 2、A57/2GHz x 4、8GB LPDDR4、16nm、$600
NVIDIA Tegra X1
ボード Jetson TX1、A57/1.9GHz x 4、4GB LPDDR4、20nm、$500
HiSilicon Kirin 970
ボード HiKey 970、A73/2.36GHz x 4、A53/1.8GHz x 4、6GB LPDDR4-1866、10nm、$299
HiSilicon Kirin 960
ボード HiKey 960、A72 x 4、A53 x 4、3GB LPDDR4、16nm FinFET、$239
MediaTek Helio X20
ボード MediaTek X20、A72/2.1GHz x 2、A53/1.95GHz x 4、A53/1.4GHz x 4、2GB LPDDR3、$199
Rockchip RK3399
ボード NanoPC-T4、A72/2GHz x 2、A53/1.5GHz x 4、4GB LPDDR3-1866、$109
Samsung S5P6818
ボード NanoPC-T3 Plus、A53/1.4GHz x 8、2GB DDR3、$75
Amlogic S912
ボードが見当たらない、A53 x 8、
AllWinner H6
ボード PINE H64、A53 x 4、2GB LPDDR3-1600、$36

少し古い世代の SoC を採用したボード達です。

Amlogic S905
ボード ODROID C2、A53/1.5GHz x 4、2GB DDR3、$39
Rockchip RK3328
ボード ROCK64、A53/1.4GHz x 4、4GB LPDDR3-1866、$24.95 (1GB) $34.95 (2GB) $44.95 (4GB)
AllWinner H5
ボード NanoPi NEO2、A53/1.5GHz x 4、1GB DDR3、$20
Broadcom BCM2837B
ボード Raspberry Pi 3 Model B、A53/1.2GHz x 4、1GB LPDDR2、28nm、$35

以前(2018年 8月 12日の日記参照)載せた情報も含んでいます。

[編集者: すずき]
[更新: 2019年 5月 25日 11:32]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

GCC を調べる - その 1 - ビルド

最近 GCC のコードを書き換えたり、デバッガで追ったり、GCC とお友達になろうとしています。まだ仲良くなれていませんが、入り口に立つまでが色々大変だったのと、間違いなく数カ月後に手順を忘れるので、方法を書き残しておこうと思います。

GCC のコードを書き換えて、結果を反映させるには、何らかの方法で GCC をビルドする必要があります。クロスビルド用ツールチェーンの構築は、昔の日記(2019年 4月 28日の日記参照)に書いたとおりです。コンパイラを追うだけで、ルートファイルシステムが必要なければ、おそらく crosstool-NG を使うのが無難です。差分ビルドがうまく行かないので、何か変更した後に再ビルドするのがちょっと面倒ですが、それ以外は簡単で便利です。

私は再ビルドが遅くてイライラしたのと、ビルドの仕組みにも興味があったので、以前の日記(2019年 4月 29日の日記参照)に書いたとおり、昔作ったクロスコンパイラをビルドする Makefile(GitHub へのリンク)を改造して使っています。ブランチは origin/develop/separate-makefile です。もうこちらを本線にしても良い気がしてきたな。

オレオレ GCC ビルド環境

これも使い方を忘れるのでメモしておきます。手動でビルドするのとあまり変わりません。

オレオレ GCC ビルド環境、ソースコード取得
#### ビルド用ディレクトリ

$ mkdir build_my_toolchain
$ cd build_my_toolchain


#### 環境構築用のリポジトリ

$ git clone https://github.com/katsuster/crosstool-builder
$ cd crosstool-builder
$ git checkout -t origin/develop/separate-makefile
$ cd ../


#### GCC だけリポジトリで取得する(git diff したいから)

$ git clone https://gcc.gnu.org/git/gcc.git


## GCC-8.3.0 を使う、他のバージョンでもある程度ビルドできるはず

$ cd gcc
$ git checkout gcc-8_3_0-release
$ cd ../


#### その他の依存モジュールは tarball を使用する

$ mkdir tmp
$ cd tmp
$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.19.1.tar.xz
$ wget https://ftp.gnu.org/gnu/binutils/binutils-2.31.1.tar.bz2
$ wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.xz

$ wget https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.lz
$ wget https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
$ wget https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
$ cd ../


#### ツールチェーンに必要なモジュール

$ tar xf tmp/linux-4.19.1.tar.xz
$ tar xf tmp/binutils-2.31.1.tar.bz2
$ tar xf tmp/glibc-2.28.tar.xz

$ ln -s linux-4.19.1    linux
$ ln -s binutils-2.31.1 binutils
$ ln -s glibc-2.28      glibc


#### GCC に必要なモジュール

$ tar xf tmp/gmp-6.1.2.tar.lz
$ tar xf tmp/mpc-1.1.0.tar.gz
$ tar xf tmp/mpfr-4.0.2.tar.xz

$ cd gcc
$ ln -s ../gmp-6.1.2  gmp
$ ln -s ../mpc-1.1.0  mpc
$ ln -s ../mpfr-4.0.2 mpfr
$ cd ../

自分で書いていて面倒くさいなあと思いました。スクリプトにしたほうが良かったかもしれない。もし binutils も変更したりデバッグしたければ、tarball の代わりにリポジトリをチェックアウトしてくると良いです。

オレオレ GCC ビルド環境、ビルド
$ source crosstool-builder/env.sh

$ cd crosstool-builder

$ make -j4 install

デフォルトでは RISC-V 64bit Linux 向けのクロスコンパイラをビルドします。env.sh を書き換えれば AArch64 や ARM 向けもビルド可能です。RISC-V 32bit 向けは gcc-static(ベアメタル用コンパイラとして使用可能)までしかビルドできません。以降は glibc のビルドでエラーになり Linux 用のクロスコンパイラはビルドできません。

オレオレ GCC ビルド環境、部分ビルド
$ cd crosstool-builder

$ make -f gcc-static.mk -j4 install

GCC に何か修正を入れてビルドし直すときは、ビルドし直したい *.mk ファイルを指定して make します。

[編集者: すずき]
[更新: 2019年 5月 22日 01:38]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

RockPro64 の PCIe

RockPro64 の PCIe が動かなくて、しばらく放置(2019年 3月 16日の日記参照)していたのですが、今日久しぶりに見てみたところ、意外とあっさり直せました。

PCIe が動かなかった理由は単純で、PERST# 信号を全く制御しておらず、PCIe カードのリセットを解除していなかったためでした。それは動かないわ。

不思議なことに linux-next では RockPro64 以外の RK3399 搭載ボードは PCIe が使えるように対応が入っているのに、RockPro64 だけハブられています。悲しいので、作ったパッチを LKML にぶん投げておきました。誰かの役に立てば嬉しいですね。

ちなみに RockPro64 の PCIe PERST# 信号は、こんな経路で来ていました。
RK3399 GPIO2_D4 -> PCIE_PERST_L -> PCIE_PERST_3V3_L -> PERST#

実験

我が家には PCIe のカードが 3つあります。あります、というか、わざわざ RockPro64 の PCIe 接続テストのために買ったという方が正しいです。

  • USB 3.0 増設カード
  • SATA 増設カード
  • PCIe - PCI ブリッジカード

リセットを制御していない場合、基本的にはどのボードも動きません。しかし USB 拡張カードだけはたまに動きます。不思議な挙動です。カードが PERST を無視しているのか、偶然か、深追いしていないのでわかりません。

PERST# の制御をするように直したところ、USB 3.0 カードと、SATA カードはバッチリ認識するようになりました。PCIe - PCI ブリッジカードは起動中になぜか RockPro64 にリセットが掛かってしまい、うまくいきませんでした。

RockPro64 からの給電では足りないのかと疑って、外部からブリッジカードに電源を供給してみましたが、ダメでした。PC でも使えたり使えなかったりする、割と特殊なカードらしいので、RockPro64 では動かないのかもしれません。

さらに調べるにせよ、何にせよ、また次の機会ですね。

メモ: 技術系の話は Facebook から転記しておくことにした。多少修正。

[編集者: すずき]
[更新: 2019年 10月 21日 14:34]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2019年 5月 16日 -
      2019年 5月 7日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 11/11 11:44

カレンダー

<2019>
<<<05>>>
---1234
567891011
12131415161718
19202122232425
262728293031-

最近のコメント 5件

  • link 19年09月01日
    すずき 「私も正直びっくりです。間違って違う製品を...」
    (更新:09/04 23:39)
  • link 19年09月01日
    hdk 「車向けの製品の中でも、車載コンピューター...」
    (更新:09/02 23:20)
  • link 19年07月18日
    hdk 「あっ、AAMはマニュアルのオペレーション...」
    (更新:07/25 00:02)
  • link 19年07月18日
    すずき 「AAM(ASCII Adjust AX ...」
    (更新:07/24 22:22)
  • link 19年07月18日
    hdk 「加算減算は符号のありなしどちらも命令が同...」
    (更新:07/24 07:25)

最近の記事 3件

link もっとみる
  • link 19年11月07日
    すずき 「[独自の apt サーバー - その 6 - ソースコードパッ] ...」
    (更新:11/11 11:44)
  • link 19年08月29日
    すずき 「[独自の apt サーバー - その 5 - 複数のセクション] ...」
    (更新:11/08 00:41)
  • link 19年08月13日
    すずき 「[独自の apt サーバー - その 4 - まとめ] 独自の a...」
    (更新:11/08 00:41)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報