---
title: 1.4 ネイティブ開発環境
description: "## 1.4 ネイティブ開発環境 エッジゲートウェイのアプリケーションをネイティ…"
url: "https://manual.amnimo.com/docs/dev-environment-dev/1-4-dev/"
updated: "2026-11-09"
category: デベロッパーズマニュアル / 第1章　エッジゲートウェイの開発環境
---

# 1.4 ネイティブ開発環境

## 1.4 ネイティブ開発環境

エッジゲートウェイのアプリケーションをネイティブ開発環境で開発する方法について説明します。

### 1.4.1 エッジゲートウェイの準備

#### インストール済みツールチェイン

工場出荷時のエッジゲートウェイには、以下のツールチェインが実装されています。

| aptパッケージ | コマンド |
| --- | --- |
| binutils-aarch64-linux-gnu | aarch64-linux-gnu-addr2line |
|  | aarch64-linux-gnu-ar |
|  | aarch64-linux-gnu-as |
|  | aarch64-linux-gnu-c++filt |
|  | aarch64-linux-gnu-dwp |
|  | aarch64-linux-gnu-elfedit |
|  | aarch64-linux-gnu-gprof |
|  | aarch64-linux-gnu-ld |
|  | aarch64-linux-gnu-ld.bfd |
|  | aarch64-linux-gnu-ld.gold |
|  | aarch64-linux-gnu-nm |
|  | aarch64-linux-gnu-objcopy |
|  | aarch64-linux-gnu-objdump |
|  | aarch64-linux-gnu-ranlib |
|  | aarch64-linux-gnu-readelf |
|  | aarch64-linux-gnu-size |
|  | aarch64-linux-gnu-strings |
|  | aarch64-linux-gnu-strip |

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/11/note.png) **補足**: 工場出荷時のエッジゲートウェイには、コンパイラー（gcc）と make は入っていません（AG10 FW 3.8.1 で確認）。次の手順でインストールしてください。

#### ビルドに必要なaptパッケージのインストール

エッジゲートウェイにログインし、エッジゲートウェイ側のUbuntu環境において、aptパッケージリストの更新とアップグレードをして、以下のaptパッケージをインストールしてください。

なお、事前に、『[エッジゲートウェイシリーズCLIユーザーズマニュアル](https://amnimo.com/manual/edge_gw/cli/ja/cli_users_manual.pdf)』の『2.5　パッケージリポジトリの操作』を確認してください。

**実行環境**: エッジゲートウェイ

```
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install build-essential file tree
$ sudo apt install cmake   ←CMakeによるマルチプラットフォームビルドを実施する場合
```

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/11/note.png) **補足**: apt updateする際は、アムニモのaptサーバーにアクセスするため、**パッケージリポジトリの認証情報**を追加する必要があります。aptサーバーの**アカウント**と**パスワード**については、弊社サポートに別途ご連絡ください。
>
>
>
> 設定方法は、『エッジゲートウェイシリーズCLIユーザーズマニュアル』の『2.5.1 パッケージリポジトリの認証情報を追加する』をご確認ください。
>
>
>
> 認証情報が正しくない場合、`sudo apt update` の出力に `401  Unauthorized` が表示され、アムニモのリポジトリのパッケージを取得できません。`apt update` の出力にエラーがないことを確認してから、インストールに進んでください。

#### ツールチェインのバージョン確認

ツールチェインのバージョンを確認します。

**実行環境**: エッジゲートウェイ

```
admin@amnimo:~$ gcc --version
gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOS
```

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/11/note.png) **補足**: 実行例はファームウェア Ver.1（Ubuntu 18.04 LTS）の出力です。ファームウェア Ver.3（Ubuntu 24.04 LTS）では gcc 13 系の版が表示されます（『[1.1.2 ソフトウェア仕様](/docs/dev-environment-dev/1-1-dev/#112-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E4%BB%95%E6%A7%98)』）。

### 1.4.2 ネイティブビルドの実行

サンプルコードを用いてネイティブビルドを実行する手順について説明します。

#### サンプルコード（main.c、Makefile）の作成

『[1.3.2 クロスビルドの実行](/docs/dev-environment-dev/1-3-dev/#132-%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%93%E3%83%AB%E3%83%89%E3%81%AE%E5%AE%9F%E8%A1%8C)』のサンプルコードを利用します。

##### main.c

**実行環境**: エッジゲートウェイ

```
#include <stdio.h>
#include <unistd.h>

int main(void)
{
    while(1){
    printf("Hello World!\n");
    sleep(10);
  }
}
```

##### Makefile

```
CC = gcc
CFLAGS = -O3 -Wall
DESTDIR := /
LIBS =
OBJS = main.o
PROG = amnimo-sample-app

all: $(PROG)

$(PROG): $(OBJS)
	$(CC) $(OBJS) $(LIBS) -o $(PROG)

clean:
	rm -f *.o $(PROG)

install: $(PROG)
	install -D -s $(PROG) $(DESTDIR)/usr/sbin/$(PROG)
```

ディレクトリ構造とファイル配置を以下に示します。

```
admin@amnimo:~/sample$ tree
.
├── main.c
└── Makefile
```

#### ネイティブビルドの実行

**実行環境**: エッジゲートウェイ

```
admin@amnimo:~/sample$ make all
```

#### ビルド結果の実行ファイルの種別の確認

**実行環境**: エッジゲートウェイ

```
admin@amnimo:~/sample$ file amnimo-sample-app
amnimo-sample-app: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=1436db4cc909f72d8565e5f8d14a2b4be47c0515, not stripped
```

#### 実行ファイルの実行

ビルドしたディレクトリで、実行ファイルを実行します。

**実行環境**: エッジゲートウェイ

```
admin@amnimo:~/sample$ ./amnimo-sample-app
Hello World!
Hello World!
…
```
