xg series lk-3352-a02 software manual|-- yocto-conf-xg3352-x.x.tar.bz2 :yocto confファイル |--...

28
Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp XG Series LK-3352-A02 Software Manual Rev 1.1 Cortex-A8 AM3352 CPU BOARD ダイジェスト版

Upload: others

Post on 19-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved

https://www.apnet.co.jp

XG Series

LK-3352-A02 Software Manual Rev 1.1 Cortex-A8 AM3352 CPU BOARD

ダイジェスト版

Page 2: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

https://www.apnet.co.jp Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved

LK-3352-A02 ソフトウェアマニュアル

ご使用になる前に

このたびは、XG-3352 Linux開発キット(LK-3352-A02)をお買い上げいただき誠にありがとうございます。

本製品をお役立て頂くために、このマニュアルを十分お読みいただき、正しくお使いください。

今後共、弊社製品をご愛顧賜りますよう宜しくお願いいたします。

梱包内容

本製品は、下記の品より構成されております。梱包内容をご確認のうえ、万が一、不足しているものがあれば

お買い上げの販売店までご連絡ください。

●LANストレートケーブル 1本 ●ACアダプタ 1本

●PC-USB-03/04(シリアルI/F ケーブル付) 1個

●USBケーブル(A - B) 1本

コネクタの形状

●JTAG-CNV-01(FFC ケーブル付) 1個

●microSDカード 1個

●CD もしくは DVD 1枚

●マニュアル・サンプルプログラムの

ダウンロード・保証のご案内 1枚

■本製品の内容及び仕様は予告なしに変更されることがありますのでご了承ください。

LK-3352-A02 梱包内容

Page 3: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

https://www.apnet.co.jp Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved

LK-3352-A02 ソフトウェアマニュアル

目 次

1. 概要 1

1.1 はじめに ................................................................................................... 1 1.2 Linuxについて ............................................................................................ 1 1.3 U-Bootについて ......................................................................................... 1 1.4 VirtualBoxについて ..................................................................................... 2 1.5 Ubuntuについて ......................................................................................... 2 1.6 GNUとFSFについて ..................................................................................... 2 1.7 Yocto Projectについて ................................................................................. 2 1.8 GPLとLGPLについて .................................................................................... 3 1.9 保証とサポート ........................................................................................... 3

2. システム概要 4

2.1 システム概要 ............................................................................................. 4 2.2 ブートローダ ............................................................................................. 5 2.3 Linuxカーネル ............................................................................................ 5 2.4 ルートファイルシステム ............................................................................... 6 2.5 クロス開発環境 ........................................................................................... 7 2.6 添付CD/DVDの構成 ..................................................................................... 8

3. システムの動作 9

3.1 動作環境 ................................................................................................... 9 3.2 シリアル初期設定値 ................................................................................... 10 3.3 ネットワーク初期設定値 ............................................................................. 10 3.4 USB ID初期設定値 .................................................................................... 12 3.5 XG-3352ボードの接続 ............................................................................... 13 3.6 動作確認用U-BootのFlashROMへの書き込み ................................................... 14 3.7 動作確認用microSDカードの作成 ................................................................. 18 3.8 Linuxの起動 ............................................................................................. 20 3.9 Linuxの動作確認 ....................................................................................... 21 3.10 ネットワークの設定 ................................................................................. 29 3.11 Linuxの終了 ........................................................................................... 33

4. ブートローダ 34

4.1 U-Boot概要 ............................................................................................. 34 4.2 ブートローダの起動 ................................................................................... 35 4.3 ネットワーク設定 ...................................................................................... 36 4.4 U-Bootの作成 .......................................................................................... 39

5. Linux 43

5.1 Linuxシステムの概要 ................................................................................. 43 5.2 Linuxカーネルの作成 ................................................................................. 44

Page 4: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

https://www.apnet.co.jp Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved

LK-3352-A02 ソフトウェアマニュアル

5.3 ルートファイルシステムの作成 .................................................................... 48

6. microSDカードの作成 53

6.1 MMC起動用microSDカードの作成 ................................................................ 53 6.2 NOR Flash起動用microSDカードの作成 ......................................................... 57

7. プログラムの作成 61

7.1 プログラムの開発について .......................................................................... 61 7.2 サンプルアプリケーションのビルド ............................................................... 62 7.3 動作確認 ................................................................................................. 64

8. デバイスドライバの作成 65

8.1 サンプルデバイスドライバの概要 .................................................................. 65 8.2 サンプルデバイスドライバ/アプリケーションのビルド ..................................... 67 8.3 動作確認 ................................................................................................. 69

9. 無線LANモジュールの使用 70

9.1 Linuxカーネルの対応方法 ........................................................................... 70 9.2 動作確認 ................................................................................................. 74

10. FlashROMの書き込み 77

10.1 FlashROM構成 ....................................................................................... 77 10.2 作業概要 ............................................................................................... 77 10.3 microSDカードの作成 .............................................................................. 78 10.4 書き込み手順 .......................................................................................... 80

11. 製品サポートのご案内 82

12. エンジニアリングサービスのご案内 83

付録A. 起動ログ 1

付録B. 付属品について 9

Page 5: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

1 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

1. 概要

1.1 はじめに

XG-3352は、CPUコアにArm Cortex-A8を採用したマイクロプロセッサ「AM3352」(TEXAS INSTRUMENTS)を搭載した汎用CPU

ボードで、標準OSにLinuxを採用しています。

Linuxを採用することで、世界中のプログラマによって日々開発される膨大なオープンソースソフトウェア資産をロイヤリティフリ

ーで利用することができます。

本ドキュメントでは、XG-3352の動作方法をはじめ、SPL、U-Boot、Linuxカーネル、アプリケーション開発のための手順を説明し

ます。

1.2 Linuxについて

Linuxとは1991年にLinus Torvalds氏によって開発された、オープンソースのUNIX互換オペレーティングシステムです。

Linuxはオープンソース、ロイヤリティフリーという特性から、世界中のプログラマたちにより日々改良され、今では大手企業のサ

ーバや、行政機関などにも広く採用されています。

また、Linuxの特長としてCPUアーキテクチャに依存しないということがあげられます。これは、GNU Cコンパイラの恩恵にもよる

ものですが、数多くのターゲット(CPU)に移植されており、デジタル家電製品を中心に非PC系製品にも採用されるようになりまし

た。

Linuxは、カーネルと呼ばれるOSの核となる部分とコマンドやユーティリティなど多くのソフトウェアから構成されます。これら

のソフトウェアの多くはFSFのGNUプロジェクトによるフリーソフトウェアです。

本ドキュメントでは、Linuxのごく一部の機能と使い方のみを説明しています。

Linuxの詳細については、一般書籍やインターネットから多くの情報を得られますので、それらを参考にしてください。

1.3 U-Bootについて

U-Bootは、DENX Software Engineering社のWolfgang Denk氏が保守を行っているオープンソフトウェアの汎用ブートローダで

す。多くの開発者によって支援され、現在最も機能が豊富で柔軟性に富み、開発が活発に行われています。対応しているアーキテク

チャは、SuperH、PPC、Arm、AVR32、MIPS、x86、68k、Nios、MicroBlazeなどです。またプログラムのダウンロードに関して

も、ネットワークを介したTFTPの他に、CFカード、SDメモリカードなどのストレージデバイスからのダウンロードにも対応して

います。

本ドキュメントでは、VirtualBoxを含めた開発環境がWindowsPCにインストールされていることが前提となって

います。開発環境をインストールされていない場合は、『LK-3352-A02 インストールマニュアル』に従って、

先に開発環境の作成を行ってください。

Page 6: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

4 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

2. システム概要

2.1 システム概要

XG-3352は、CPUコアにArm Cortex-A8を採用したマイクロプロセッサ「AM3352」(TEXAS INSTRUMENTS)を搭載した汎用CPU

ボードです。

Linuxシステムは、ブートローダとLinuxカーネル、ルートファイルシステムから構成されます。ブートローダにSPLとU-Boot、Linux

カーネルにLinux-4.9、ルートファイルシステムにはmicroSDカードで動作する専用パッケージを使用します。

Fig 2.1-1 XG-3352システム概要図

XG-3352ボード

ルートファイルシステム

Linuxカーネル

ブートローダ ソフト ウェア

ハード ウェア

Page 7: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

6 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

2.4 ルートファイルシステム

Linuxは、カーネルとファイルシステムという2つの要素から構成されます。

Linuxでは、全てのデータがファイルという形で管理されています。アプリケーションプログラムやデバイスドライバをはじめ、

HDDやCOMポートなどの入出力デバイスもファイルとして扱われます。

Linuxでは全てのファイルがルートディレクトリを起点としたディレクトリ構造下に管理されており、これら全てのファイル構造の

ことをファイルシステムと呼びます。また、システム動作に必要なシステムファイル群のこともファイルシステムと呼びます。

本ドキュメントでは、これらの意味を明確にするため、ファイル管理構造(EXT3やEXT4)のことをファイルシステム、システム動作

に必要なファイル群のことをルートファイルシステムと表現しています。

Linuxのルートファイルシステムは、そのシステムが必要とする機能に合わせて構築する必要があります。

XG-3352では、以下のルートファイルシステムを用意しています。

sdルートファイルシステム

SDカード用に構成されたオリジナルLinuxパッケージです。

ルートファイルシステムがSDカード上に展開されるため、電源を落としても変更した内容は破棄されませんが、電源を落とす

前には適切な終了処理が必要になります。

本ドキュメントでは、sdルートファイルシステムを利用したLinuxシステムをSD-Linuxシステム と表現します。

Fig 2.4-1 SD-Linuxシステム

RAM

Linux カーネル

SDカード

sd ルートファイル

システム

Page 8: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

8 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

2.6 添付CD/DVDの構成

XG-3352のLinuxの開発に必要なファイルは、弊社ホームページ及び関連リンクからダウンロードするか、添付CD/DVDから入手

することができます。

※『X_X』、『X.X』はバージョン番号を示します。バージョン1.0の場合は『1_0』、『1.0』になります。

LK_3352_A02_VX_X |-- an | `--AN5011.pdf :AN5011 無線LANモジュール(WM-RP-10)の使用方法 |-- binaries | |-- sd_image | | |-- xg3352_uboot.zip :microSDカードイメージ(FlashROM書き込み用) | | `-- xg3352_sd.zip :microSDカードイメージ(動作確認用) | |-- u-boot.bin :U-Bootバイナリ(FlashROM起動用) | |-- u-boot.img :U-Bootバイナリ(MMC起動用) | |-- MLO :SPLバイナリ | |-- zImage :Linuxカーネルバイナリ | |-- am335x-xg3352.dtb :デバイスツリーバイナリ | |-- arago-base-image-xg3352.tar.xz :sdルートファイルシステムバイナリ | |-- modules-xg3352.tar.bz2 :モジュールファイル | |-- helloworld :サンプルアプリ | |-- sample-app :サンプルアプリ(デバイス確認用) | |-- sample-driver.ko :サンプルデバイスドライバ | |-- wmrp10_bt_sample :WM-RP-10用BTサンプルアプリ | `-- wmrp10_ble_sample :WM-RP-10用BLEサンプルアプリ |-- driver | |-- com_class :USB仮想シリアルドライバ | `-- an178.pdf :USB仮想シリアルドライバ インストールガイド |-- index.html :インデックスHTML |-- index_images :インデックスHTMLイメージ |-- manual | |-- lk_3352_a02_soft.pdf :LK-3352-A02ソフトウェアマニュアル | `-- lk_3352_a02_inst.pdf :LK-3352-A02インストールマニュアル |-- sample | |-- devicedriver-X.X.tar.bz2 :サンプルデバイスドライバソース | |-- helloworld-X.X.tar.bz2 :サンプルアプリソース | `-- wmrp10-X.X.tar.bz2 :WM-RP-10サンプルアプリソース `-- sources |-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2 :U-Bootソースファイル

Table 2.6-1 CD/DVD内容

Page 9: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

9 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

3. システムの動作

3.1 動作環境

Linuxの起動を確認するためには、CPUボードと以下の環境が必要です。

使用機器等 環 境

CPUボード XG-3352

HOST PC PC/AT互換機

OS Windows 7/10

メモリ 使用OSによる

ソフトウェア ターミナルソフト

USBポート 1ポート

LANポート 10/100BASE-TX 1ポート

SDカードスロット microSDカードを読み込めるスロット(Ubuntuから認識できること)

PC-USB-04 ホストPCとXG-3352のシリアル接続用に使用

USBケーブル PC-USB-04で使用

LANケーブル ホストPCと接続時はクロスケーブルを使用

ハブと接続時はストレートケーブルを使用

WM-RP-04S もしくは

WM-RP-05S

無線LANモジュールを用いた動作確認時に使用

microSDカード SDルートファイルシステム作成、FlashROMの書き込み等に使用

USBホスト変換ケーブル XG-3352のmicroABコネクタ(CN6)の動作確認時に使用

USBファンクション変換ケーブル XG-3352のmicroABコネクタ(CN6)の動作確認時に使用

PC-CAN-02 CAN通信の動作確認時に使用

電源 ACアダプタ(DC5V±5%)

●HOST PC

LinuxではPCをコンソール端末として使用します。

本Linux開発キットには、PC-USB-04が付属しており、PC-USB-04とPCをUSBケーブルで接続することで、PC上では仮想シリ

アルポートとして認識します。

PC-USB-04の使用方法に関しては、PC-USB-04のマニュアルをご参照ください。

なお、仮想シリアルポートを使用した通信には、ハイパーターミナル等のターミナルソフトウェアが別途必要となります。

上記の環境は、XG-3352のLinuxの動作確認をするための環境となります。

カーネル等のビルドに使用する開発環境に関しては、開発キット付属の『LK-3352-A02 インストールマニ

ュアル』でご確認ください。

Page 10: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

13 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

3.5 XG-3352ボードの接続

ホストPCとXG-3352ボードの接続例を示します。

LANをネットワークと接続する場合は、ネットワーク管理者と相談し、設定に注意して接続してください。

XG-3352ボード ホストPC

シリアルインタフェース ケーブル

PC-USB-04

USBケーブル

ACアダプタ

LANクロスケーブル

Fig 3.5-1 XG-3352ボードの接続(PCに接続する場合)

シリアルインタフェース

ケーブル PC-USB-04

USBケーブル

ホストPCXG-3352ボード

ACアダプタ

LANストレートケーブル

Fig 3.5-2 XG-3352 ボードの接続(HUB に接続する場合)

U-Boot 使用時には、イーサネットポートは、CN3 のみ対応となりますので、LAN ケーブル接続時にはご注意

ください。

Page 11: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

18 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

3.7 動作確認用microSDカードの作成

LK-3352-A02のLinux起動には、ルートファイルシステムで構成されているmicroSDカードが必要です。

本節では、動作確認用microSDカードの作成について説明します。

LK-3352-A02の付属のCD/DVDには、上記構成のmicorSDカードのイメージファイルが用意されています。

以下の手順にてそのイメージファイルをmicroSDカードに書き込みます。

また、書き込みには『Win32 Disk Imager』のツールを使用しますので、事前にインストールをお願いします。

① 付属CD/DVD内のイメージデータzip圧縮ファイル『xg3352_sd.zip』を解凍します。

解凍後のファイルは2GByteありますので、ご注意ください。

なお、以降の説明では、以下のディレクトリに解凍されたとします。

C:/alphaproject/xg3352_sd.img

② PCのmicroSDカードスロットに書き込むmicroSDカードを挿入します。

③ 『Win32 Disk Imager』を起動します。

『Device』にmicroSDカードスロットのドライブが選択されていることを確認します。

『Image File』に手順②で解凍したファイルを指定します。(入力欄右側のアイコンを押してファイル選択します。)

EXT4 0 cyl~

~End

microSDカード ルートファイルシステム /┬─ bin/ ├─ boot/ │ ├─ zImage │ └─ am335x-xg3352.dtb ├─ dev/ ├─ etc/ :

Fig 3.7-1 動作確認用microSDカードの構成

Page 12: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

20 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

3.8 Linuxの起動

XG-3352上でのLinuxの起動について説明します。

① XG-3352の電源をいれる前にスイッチが以下の設定になっていることを確認します。

スイッチの設定の詳細に関しては、『XG-3352ハードウェアマニュアル』でご確認ください。

② FlashROMにU-Boot 2.0以降を書き込みます。

書き込み方法は『10. FlashROMの書き込み』を参照してください。

③ microSDカードをmicroSDカードスロットに挿入します。

microSDカードは『3.7 動作確認用のmicroSDカードの作成』手順で作成したもの使用してください。

④ 『3.5 XG-3352ボードの接続』にしたがって、ホストPCとXG-3352を接続します。

PC-USB-04がホストPCに認識されて仮想COMポートが作成されます。

⑤ ホストOS(Windows)のターミナルソフトを起動します。(設定は『3.2 シリアル初期設定値』を参照してください)

⑥ ACアダプタを接続して、XG-3352の電源を入れます。

⑦ Linuxカーネルが自動起動します。全ての起動までにはおよそ20秒かかります。

なお、起動ログに関しては、本ドキュメントの『付録A. 起動ログ』でご確認ください。

U-Boot 2017.01-xg3352-2.0 (Sep 25 2018 - 13:33:37 +0900)

CPU : AM335X-GP rev 1.0

I2C: ready

途中省略

Arago 2017.10 xg3352 ttyS0

xg3352 login:

SD NOR

Page 13: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

21 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

3.9 Linuxの動作確認

XG-3352上でのLinux動作確認について説明します。

ログイン

Linux起動後、ログインプロンプト『xg3352 login:』が表示されます。

ログインを実行するにはユーザ『root』を入力してください。

ログイン設定

ユーザ root

パスワード なし

Arago 2017.10 xg3352 ttyS0

xg3352 login: root

時刻設定

XG-3352上で時刻の設定をします。XG-3352にはRTC(リアルタイムクロック)が搭載されており、電源をOFFにした状態でも時刻

を保持することができます。Linuxは起動時にRTCから時刻を読み出し、以後はRTCにアクセスすることなく、CPU内のタイマーモ

ジュールによって時刻を管理しています。Linuxのコマンドライン上からRTCにアクセスするには『hwclock』コマンドを使用しま

す。

① RTCに設定されている時刻を読み出すには『hwclock』コマンドを引数無しで入力します。

# hwclock

Sat Jan 1 12:00:00 2000 0.000000 seconds

② RTCに設定されている時刻を変更する際には『date』コマンドを使用し、システムの時刻を設定し、その更新されたシス

テムの時刻を『hwclock』コマンドでRTCに書き込みます。

例として時刻を2018年9月28日15時30分に設定します。

『date -s '2018-09-28 15:30'』実行後、『hwclock -w』を実行してください。

# date -s '2018-09-28 15:30'

Tue Sep 28 15:30:00 UTC 2018

# hwclock -w

Table 3.9-1 ログイン設定

入力

入力

入力

入力

Page 14: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

26 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

USB(CN6) -USB仮想シリアル-

USB(CN6)をPCに接続することで、PC上では仮想シリアルとして通信することが可能となります。

なお、PCとは、以下のように接続します。

以下に、簡単な動作確認手順を記載します。

① XG-3352とPCをUSBファンクション変換ケーブルで接続します。

② CN5用のカーネルモジュール『g_serial』をロードします。ロード済み場合は手順②にお進みください。

# modprobe g_serial

[ 46.095544] g_serial gadget: Gadget Serial v2.4

[ 46.100155] g_serial gadget: g_serial ready デバイスファイル『/dev/ttyGS0』が作成されて、シリアル通信ができるようになります。

③ PCで仮想シリアルポートをターミナルソフトで開きます。

仮想シリアルのCOM番号に関しては、『USB仮想シリアルドライバ インストールガイド』でご確認ください。

通信速度は、参考までに以下に記載しますが、特に指定はないです。

シリアルの設定

ポート番号 PCに割り当てられた仮想シリアルポート

通信速度 115200bps

データ長 8bit

ストップビット 1bit

パリティ なし

フロー制御 なし

Fig 3.9-3 XG-3352ボードとPCの接続

PC側にはデバイスドライバが必要となります。

ドライバのインストール方法に関しては、『USB仮想シリアルドライバ インストールガイド』でご確認くだ

さい。

Table 3.9-2 シリアル設定

XG-3352ボード

USBファンクション 変換ケーブル

PC

入力

既にロードされている場合でも、上記コマンドを実行することに問題はありません。

ロード済みモジュールは『lsmod』コマンドで確認できます。

Page 15: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

35 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

4.2 ブートローダの起動

XG-3352を起動して、U-Bootのコマンドコンソールに入る方法を説明します。

① XG-3352の電源を入れる前に、スイッチが以下のようになっていることを確認します。スイッチの各設定の詳細に関しては、

『XG-3352 ハードウェアマニュアル』でご確認ください。

② 『3.5 XG-3352ボードの接続』にしたがって、ホストPCとXG-3352を接続します。

PC-USB-04がホストPCに認識されて仮想COMポートが作成されます。

③ ホストOS(Windows)のターミナルソフトを起動します。(設定は『3.2 シリアル初期設定値』を参照してください)

④ ACアダプタを接続して、XG-3352の電源を入れます。

⑤ ターミナルに『Hit any key to stop autoboot』の文字が表示され、2秒以内にキー入力を行うとU-Bootのコマンド

コンソールが起動します。

コマンドコンソールが起動すると、『=>』が表示されます。

U-Boot 2017.01-xg3352-2.0 (Sep 25 2018 - 13:33:37 +0900)

CPU : AM335X-GP rev 1.0

I2C: ready

DRAM: 128 MiB

Flash: 16 MiB

MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1

Net: cpsw

Hit any key to stop autoboot: 0

=>

2秒以内にキー入力を行います

SD NOR

Page 16: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

40 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

MMC起動用U-Bootの作成

MMC起動用のU-Boot(『MLO』,『u-boot.img』ファイル)のビルド手順を説明します。

① 新しいターミナルを開きます。

PATH環境変数にクロスコンパイラのディレクトリを設定します。

$ export PATH=$HOME/ti-processor-sdk-linux-am335x-evm-04.00.00.04/linux-devkit/sysroots/x86

_64-arago-linux/usr/bin/:$PATH

② 準備作業で展開した作業用ディレクトリの『u-boot-2017.01-xg3352』へ移動します。

$ cd ~/xg3352-lk/u-boot-2017.01-xg3352

③ コンフィグレーションを行います。

途中の『O=xg3352』のOは、英字大文字のO(オー)ですので、ご注意ください。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=xg3352 xg3352_defconfig

make[1]: ディレクトリ '/home/guest/xg3352-lk/u-boot-2017.01-xg3352/xg3352' に入ります

HOSTCC scripts/basic/fixdep

GEN ./Makefile

HOSTCC scripts/kconfig/conf.o

HOSTCC scripts/kconfig/zconf.tab.o

HOSTLD scripts/kconfig/conf

#

# configuration written to .config

#

make[1]: ディレクトリ '/home/guest/xg3352-lk/u-boot-2017.01-xg3352/xg3352' から出ます

④ ビルドします。

途中の『O=xg3352』のOは、英字大文字のO(オー)ですので、ご注意ください。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=xg3352

make[1]: ディレクトリ '/home/guest/xg3352-lk/u-boot-2017.01-xg3352/xg3352' に入ります

GEN ./Makefile

scripts/kconfig/conf --silentoldconfig Kconfig

途中省略

MKIMAGE u-boot-dtb.img

../scripts/check-config.sh u-boot.cfg \

../scripts/config_whitelist.txt .. 1>&2

make[1]: ディレクトリ '/home/guest/xg3352-lk/u-boot-2017.01-xg3352/xg3352' から出ます

⑤ makeが正常に終了すると『xg3352』ディレクトリに『MLO』と『u-boot.img』が作成されます。

$ ls xg3352/MLO xg3352/u-boot.img

xg3352/MLO xg3352/u-boot.img

『arm-linux-gnueabihf-gcc: コマンドが見つかりません』のようなエラーが表示される場合には、クロス

コンパイラのインストールが正常にできていない可能性があります。

『LK-3352-A02インストールマニュアル』の『SDKインストール』を再度ご確認ください。

また、手順①で行うPATH設定もご確認ください。

入力

入力

入力

入力

入力

Page 17: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

43 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

5. Linux

5.1 Linuxシステムの概要

XG-3352用Linuxシステムは、Linuxカーネルとルートファイルシステムから構成されます。

Linuxカーネルは、デバイスドライバとしてUART、Ethernet、FlashROM等をサポートし、ファイルシステムとしてEXT3、EXT4、

JFFS2、CRAMFS、FAT、NFS等をサポートしています。

ルートファイルシステムは、基本アプリケーションとして、コマンドユーティリティ群「busybox」が収録されています。

Fig 5.1-1 Linuxシステム

Linuxカーネル

デバイスドライバ

UART

ルートファイルシステム

busybox

ファイルシステム

ハードウェア

EXT3

XG-3352

Ether

UART

FlashROM

RTC

Ether

EXT4

JFFS2 CRAMFS

FAT NFS

RTC

FlashROM

Page 18: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

45 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

作成

Linuxカーネルをビルドする方法を説明します。

Linuxカーネルの設定データはLinuxカーネルソースディレクトリ以下『arch/arm/configs/xg3352_defconfig』に保存されて

います。

① 新しいターミナルを開きます。

PATH環境変数にクロスコンパイラのディレクトリを設定します。

$ export PATH=$HOME/ti-processor-sdk-linux-am335x-evm-04.00.00.04/linux-devkit/sysroots/x86

_64-arago-linux/usr/bin/:$PATH

② 準備作業で展開した作業用ディレクトリの『linux-4.9.28-xg3352』へ移動します。

$ cd ~/xg3352-lk/linux-4.9.28-xg3352

③ クリーンします。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean

④ Linuxカーネルの設定データを呼び出します。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xg3352_defconfig

HOSTCC scripts/basic/fixdep

HOSTCC scripts/kconfig/conf.o

SHIPPED scripts/kconfig/zconf.tab.c

SHIPPED scripts/kconfig/zconf.lex.c

SHIPPED scripts/kconfig/zconf.hash.c

HOSTCC scripts/kconfig/zconf.tab.o

HOSTLD scripts/kconfig/conf

#

# configuration written to .config

#

⑤ 『zImage』をビルドします。終了までに数分から数時間かかる場合があります。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage

scripts/kconfig/conf --silentoldconfig Kconfig

CHK include/config/kernel.release

UPD include/config/kernel.release

途中省略

LD arch/arm/boot/compressed/vmlinux

OBJCOPY arch/arm/boot/zImage

Kernel: arch/arm/boot/zImage is ready

『arm-linux-gnueabihf-gcc: コマンドが見つかりません』のようなエラーが表示される場合には、クロス

コンパイラのインストールが正常にできていない可能性があります。

『LK-3352-A02インストールマニュアル』の『SDKインストール』を再度ご確認ください。

また、手順①で行うPATH設定もご確認ください。

入力

入力

入力

入力

入力

Page 19: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

48 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

5.3 ルートファイルシステムの作成

ゲストOS(Ubuntu)上で、sdルートファイルシステムを作成・変更するための手順を説明します。

作成の準備

① 作業用ディレクトリ『xg3352-lk』をホームディレクトリに作成します。

すでに作成されている場合は、手順②にお進みください。

$ mkdir ~/xg3352-lk

② 手順①で作成した作業用ディレクトリに移動します。

$ cd ~/xg3352-lk

③ 作業用ディレクトリに付属CD/DVD内の以下のファイルをコピーします。

手順④~⑥で例としてCD/DVDから直接コピーする方法を記述します。他の方法でコピーする場合には、コピー作業完了後に、

手順⑦にお進みください。

yocto-conf-xg3352-X.X.tar.bz2

※『X.X』にはバージョン番号が入ります。Ver1.0の場合は『1.0』

④ CD/DVDをドライブに挿入します。

デフォルトでは、自動でマウントされますが、マウントされない場合は、以下のコマンドを実行します。

$ gvfs-mount -d /dev/sr0

⑤ CD/DVDからファイルをコピーします。

コマンド途中の『*******』はCD/DVDのボリュームラベルになりますので、挿入したCD/DVDに合わせて入力してください。

$ cp /media/guest/*******/sources/yocto-conf-xg3352-X.X.tar.bz2 .

⑥ CD/DVDをアンマウントします。

$ umount /dev/sr0

⑦ コピーしたtarファイルを展開します。『~/xg3352-lk/yocto-conf』ディレクトリができます。

$ tar -xapf yocto-conf-xg3352-X.X.tar.bz2

マウントされているかどうかは、『mount』コマンドで確認できます。

以下のように、『/dev/sr0』が表示されている場合は、すでにマウントされています。

(『*******』は、CD/DVDのボリュームラベルになります。)

$ mount

途中省略

/dev/sr0 on /media/guest/******* type udf (ro,nosuid,nodev,uhelper=udisks,ui

d=1000,gid=1000,iocharset=utf8,umask=0077)

入力

入力

入力

入力

入力

入力

入力

Page 20: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

51 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

udevadm trigger killproc weston sleep 2 openvt -c 4 -f runWeston : 以降省略 :

⑦ bitbakeを実行します。終了までに数時間かかります。

$ cd ~/xg3352-lk/tisdk/build

$ . conf/setenv

$ MACHINE=xg3352 bitbake arago-base-tisdk-image

Parsing recipes: 100% |##########################################| Time: 0:10:18

途中省略

NOTE: Tasks Summary: Attempted 3698 tasks of which 13 didn't need to be rerun and all succe

eded.

Summary: There were 52 WARNING messages shown.

⑧ bitbakeが正常に終了すると、『arago-tmp-external-linaro-toolchain/deploy/images/xg3352/』ディレクトリに

sdルートファイルシステム『arago-base-image-xg3352.tar.xz』が作成されます。

$ ls arago-tmp-external-linaro-toolchain/deploy/images/xg3352/ arago-base-image-xg3352.tar.

xz

arago-tmp-external-linaro-toolchain/deploy/images/xg3352/arago-base-image-xg3352.tar.xz

『ERROR: No valid toolchain in PATH』など、toolchainに関するエラーが表示される場合には、インスト

ールが正常にできていない可能性があります。

『LK-3352-A02インストールマニュアル』の『toolchainインストール』を再度ご確認ください。

また、手順①で行うPATH設定もご確認ください。

入力

入力

入力

入力

上記の編集は、「起動時に行われるFAT領域に対する処理」を廃止するための修正です。

このファイルはビルド後ルートファイルシステムの『/etc/init.d/weston』になります。

Page 21: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

53 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

6. microSDカードの作成 本章では、XG-3352上でLinuxの起動に必須となるmicroSDカードの作成方法について説明します。

MMC起動用microSDカード

NOR Flash起動用microSDカード

6.1 MMC起動用microSDカードの作成

MMC起動用のmicroSDカードの作成方法について説明します。

書き込みデータの準備

① 作業用ディレクトリ『xg3352-lk』をホームディレクトリに作成します。

すでに作成されている場合は、手順②にお進みください。

$ mkdir ~/xg3352-lk

② 本手順で使用するデータの置くためのディレクトリ『flash』を作業用ディレクトリに作成します。

$ mkdir ~/xg3352-lk/flash

③ 手順②で作成したディレクトリに移動します。

$ cd ~/xg3352-lk/flash

④ 書き込みに必要な以下のファイルを『~/xg3352-lk/flash』ディレクトリに準備します。

MLO

u-boot.img

arago-base-image-xg3352.tar.xz

modules-xg3352.tar.bz2

zImage

am335x-xg3352.dtb

『4.4 U-Bootの作成』-『MMC起動用U-Bootの作成』、『5.2 Linuxカーネルの作成』、『5.3 ルートファイルシステム

の作成』で作成したファイルでも可能ですが、同等のファイルがCD/DVD内にあります。

本章では、Ubuntu上でmicroSDカードへU-Boot等のデータをコピーする手順があります。

そのため、Ubuntu上で認識できるSDカードリーダをご用意ください。

入力

入力

入力

Page 22: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

55 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

Allocating group tables: done

Writing inode tables: done

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done

microSDカードへの書き込み

① データ準備手順で用意したデータがある場所に移動します。

$ cd ~/xg3352-lk/flash

まず、第1パーティションにファイルをコピーします。以下の2ファイルを使います

MLO

u-boot.img

② microSD カードの第1パーティションをマウントします。

$ sudo mount /dev/sdb1 /mnt

③ 第1パーティションへU-Bootファイルをコピーします。

$ sudo cp MLO /mnt

$ sudo cp u-boot.img /mnt

④ 第1パーティションをアンマウントします。

$ sudo umount /mnt

次に、第2パーティションにファイルをコピーします。以下の4ファイルを使います

arago-base-image-xg3352.tar.xz

modules-xg3352.tar.bz2

zImage

am335x-xg3352.dtb

⑤ microSD カードの第2パーティションをマウントします。

$ sudo mount /dev/sdb2 /mnt

⑥ 第2パーティションにsdルートファイルシステムを展開します。

$ sudo tar -axpf arago-base-image-xg3352.tar.xz -C /mnt

⑦ 第2パーティションにモジュールファイルを展開します。

$ sudo tar -axpf modules-xg3352.tar.bz2 -C /mnt

⑧ 第2パーティションの/bootディレクトリ内のファイルを削除します。

$ sudo rm /mnt/boot/*

⑨ 第2パーティションの/bootディレクトリにカーネルファイルをコピーします。

$ sudo cp zImage /mnt/boot

$ sudo cp am335x-xg3352.dtb /mnt/boot

⑩ アンマウントします。

$ sudo umount /mnt

入力

入力

入力

入力

入力

入力

入力

入力

入力

入力

入力

入力

Page 23: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

61 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

7. プログラムの作成 本章では、XG-3352上で動作するアプリケーションの作成方法について説明します。

7.1 プログラムの開発について

プログラムの開発は、次のような流れで行います。

① ゲストOS上でソースファイルを作成。

② ゲストOS上でソースファイルをクロスコンパイルし、実行ファイルを作成。

③ XG-3352ボード上でゲストOSをnfsでマウントし、実行ファイルをダウンロード。

④ XG-3352ボード上で動作を確認。

Fig 7.1-1 プログラムの開発手順

ゲストOS

ソースコード

Arm用実行ファイル

②実行ファイルの 作成

XG-3352

Arm用実行ファイル ③実行ファイルの ダウンロード

④実行 ①ソースコードの 作成

クロス開発環境

Arm用クロスコンパイラ

Arm用クロスアセンブラ

Arm用リンカ

Page 24: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

63 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

サンプルアプリケーションのビルド

サンプルアプリケーションのビルド手順を説明します。

① 新しいターミナルを開きます。

PATH環境変数にクロスコンパイラのディレクトリを設定します。

$ export PATH=$HOME/ti-processor-sdk-linux-am335x-evm-04.00.00.04/linux-devkit/sysroots/x86

_64-arago-linux/usr/bin/:$PATH

② 準備作業で展開した作業用ディレクトリの『helloworld』へ移動します。

$ cd ~/xg3352-lk/helloworld

③ サンプルアプリケーションをビルドします。

$ make

arm-linux-gnueabihf-gcc -Wall helloworld.c -o helloworld

④ アプリケーションプログラムをNFSの共有ディレクトリにコピーします。

$ cp helloworld /nfs

入力

入力

入力

入力

Page 25: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

65 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

8. デバイスドライバの作成 本章では、XG-3352上のLEDにアクセス可能なサンプルデバイスドライバの作成方法とそのデバイスドライバを使用したアプリケ

ーションの作成方法について説明します。

8.1 サンプルデバイスドライバの概要

サンプルデバイスドライバはLEDデバイスへのアクセス関数を提供します。

デバイスドライバの概要

ユーザプログラム上からデバイスにアクセスする際、通常はデバイスファイルを通じてシステムコールを発行し、デバイスドライ

バに処理を依頼します。デバイスドライバはデバイスへのアクセス関数を提供することにより、ユーザプログラム上からデバイス

にアクセスする手段を提供します。

サンプルデバイスドライバはキャラクタ型デバイスドライバになり、モジュールとしてビルドします。このデバイスドライバは、

ユーザプログラム上からLEDデバイスにアクセスするための関数を提供します。システムコール(API)は『open』、『close』、

『write』になります。サンプルデバイスドライバを示すデバイスファイルは『/dev/sample0』になります。

ユーザプログラム

デバイスファイル(/dev/sample0)

キャラクタ型デバイス

サンプルデバイスドライバ

(sample-driver.ko)

open

close

write

①システムコールを発行

デバイス

Linuxユーザ空間

Linuxカーネル空間

ハードウェア

②デバイスファイルを通じて

デバイスドライバにアクセス

③システムコールに対応した

関数を実行する

Fig 8.1-1 サンプルデバイスドライバの概要

本章での作業には、Linuxカーネルビルドした環境が必要です。

カーネルのビルドについては『5.2 Linuxカーネルの作成』をご確認ください。

Page 26: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

68 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

サンプルデバイスドライバのビルド

サンプルデバイスドライバのビルド手順を説明します。

① 新しいターミナルを開きます。

PATH環境変数にクロスコンパイラのディレクトリを設定します。

$ export PATH=$HOME/ti-processor-sdk-linux-am335x-evm-04.00.00.04/linux-devkit/sysroots/x86

_64-arago-linux/usr/bin/:$PATH

② 準備作業で展開した作業用ディレクトリの『devicedriver/driver』へ移動します。

$ cd ~/xg3352-lk/devicedriver/driver

③ 汎用デバイスドライバをビルドします。

$ KBUILD=~/xg3352-lk/linux-4.9.28-xg3352 make

make ARCH=arm -C /home/guest/xg3352-lk/linux-4.9.28-xg3352 M=/home/guest/xg3352-lk/de

vicedriver/driver modules

make[1]: ディレクトリ `/home/guest/xg3352-lk/linux-4.9.28-xg3352' に入ります

CC [M] /home/guest/xg3352-lk/devicedriver/driver/sample-driver.o

Building modules, stage 2.

MODPOST 1 modules

CC /home/guest/xg3352-lk/devicedriver/driver/sample-driver.mod.o

LD [M] /home/guest/xg3352-lk/devicedriver/driver/sample-driver.ko

make[1]: ディレクトリ `/home/guest/xg3352-lk/linux-4.9.28-xg3352' から出ます

④ 作成した汎用デバイスドライバをNFSの共有ディレクトリにコピーします。

$ cp sample-driver.ko /nfs

サンプルアプリケーションのビルド

サンプルアプリケーションのビルド手順を説明します。

① 新しいターミナルを開きます。

PATH環境変数にクロスコンパイラのディレクトリを設定します。

(ドライバビルドしたターミナルで引き続き作業する場合、この手順は不要です。)

$ export PATH=$HOME/ti-processor-sdk-linux-am335x-evm-04.00.00.04/linux-devkit/sysroots/x86

_64-arago-linux/usr/bin/:$PATH

② 準備作業で展開した作業用ディレクトリの『devicedriver/application』へ移動します。

$ cd ~/xg3352-lk/devicedriver/application

③ サンプルアプリケーションをビルドします。

$ make

arm-linux-gnueabihf-gcc -Wall sample-app.c -o sample-app

④ アプリケーションプログラムをNFSの共有ディレクトリにコピーします。

$ cp sample-app /nfs

KBUILDは、Linuxカーネルのソースディレクトリを指定します。

カーネルのビルドについては、『5.2 Linuxカーネルの作成』をご確認ください。

入力

入力

入力

入力

入力

入力

入力

入力

Page 27: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

77 LK-3352-A02 ソフトウェアマニュアル Copyright©2018 ALPHA PROJECT Co.,Ltd. All rights reserved https://www.apnet.co.jp

10. FlashROMの書き込み 本章では、FlashROMの書き込み方法について説明します。

なお、本手順のFlashROMは、『3.6 動作確認用U-BootのFlashROMへの書き込み』のFlashROMと同等のものとなります。

10.1 FlashROM構成

以下に、FlashROMのアドレスマップを記載します。

次節より、このアドレスマップになるようにFlashROMへ書き込む方法を説明します。

10.2 作業概要

FlashROMに書き込む手順は、以下の2つの作業で行います。

① MMC起動用のmicroSDカードを作成します。

microSDカードをMMC起動できるように作成し、FlashROMに書き込むデータも入れます。

② FlashROMに用意したデータを書き込みます。

MMC起動のU-Bootを利用して、FlashROMにデータを書き込みます。

次節より、上記の作業順番で説明します。

FlashROM 32MByte

開始アドレス 領域名 領域サイズ

0x00000000 U-Boot 512 KByte

0x00080000 U-Boot環境変数領域 256 KByte

0x000C0000 未使用 31.25 MByte

Fig 10.1-1 FlashROM構成

本手順では、MMC(microSDカード)起動にて行いますので、Ubuntu上でmicroSDカードへデータを

コピーする必要があります。

そのため、Ubuntu上で認識できるSDカードリーダをご用意ください。

Page 28: XG Series LK-3352-A02 Software Manual|-- yocto-conf-xg3352-X.X.tar.bz2 :Yocto Confファイル |-- linux-4.9.28-xg3352-X.X.tar.bz2 :Linuxカーネルソースファイル `-- u-boot-2017.01-xg3352-X.X.tar.bz2

XG Series LK-3352-A02

謝辞 Linux、U-Bootの開発に関わった多くの貢献者に深い敬意と感謝の意を示します。

著作権について ・本文書の著作権は、株式会社アルファプロジェクトが保有します。

・本文書の内容を無断で転載することは一切禁止します。

・本文書の内容は、将来予告なしに変更されることがあります。

・本文書の内容については、万全を期して作成いたしましたが、万一ご不審な点、誤りなどお気付きの点がありましたら弊社までご連絡ください。

・本文書の内容に基づき、アプリケーションを運用した結果、万一損害が発生しても、弊社では一切責任を負いませんのでご了承ください。

商標について ・AM3352は、TEXAS INSTRUMENTS株式会社の登録商標、商標または商品名称です。

・Linuxは、Linus Torvaldsの米国およびその他の国における登録商標または商標です。

・U-Bootは、DENX Software Engineeringの登録商標、商標または商品名称です。

・Windows®の正式名称は、Microsoft®Windows®Operating Systemです。

・Microsoft、Windowsは、米国Microsoft Corporation.の米国およびその他の国における商標または登録商標です。

・Windows®10、Windows®7は、米国Microsoft Corporation.の商品名称です。

・VirtualBoxは、OracleCorporationの商品名称です。

本文書では下記のように省略して記載している場合がございます。ご了承ください。

Windows®10は、Windows 10もしくはWin10

Windows®7は、Windows 7もしくはWin7

・その他の会社名、製品名は、各社の登録商標または商標です。

ALPHA PROJECT Co.,Ltd. 株式会社アルファプロジェクト

〒431-3114

静岡県浜松市東区積志町834

https://www.apnet.co.jp

E-MAIL: [email protected]