uenokatsutoshi
2023年10月1日 15時40分
Armadillo 2?0で作成したシステムで用いていたCで書いたシリアル通信用プログラムを,
IoT A6Eにもインストールしようとしています.
当時と開発方法が大きく変わってしまったため,取っ掛かりがつかめずに往生しています.
1 GCC系の開発環境の準備はどのようにすればよろしいでしょうか.
ATDE3ではクロス開発環境が用意されていました.
ATDE9ではどのようにすればよろしいでしょうか.
あるいはVScodeでcのプログラムを作成するのでしょうか.
2 A6Eのcによる開発の参考となる資料はございませんか.
ひとまずHello world の方法がわかると助かります.
コメント
koga
アットマークテクノの古賀です。
uenokatsutoshiさん:
>YoutubeのIoT A6に関する動画を参考に,ターゲット上でコンパイルできるようにしようと,
>apk add gcc
>apk add make
>を行い,gccとmakeをA6Eにインストールしました.
>しかしインクルードファイルが無いとのことで,コンパイルができませんでした.
>A6にあったbuild-essentialパッケージに相当するものがわかりません.
>
>>Armadillo 2?0で作成したシステムで用いていたCで書いたシリアル通信用プログラムを,
>>IoT A6Eにもインストールしようとしています.
>>当時と開発方法が大きく変わってしまったため,取っ掛かりがつかめずに往生しています.
>>
>>1 GCC系の開発環境の準備はどのようにすればよろしいでしょうか.
>> ATDE3ではクロス開発環境が用意されていました.
>> ATDE9ではどのようにすればよろしいでしょうか.
>> あるいはVScodeでcのプログラムを作成するのでしょうか.
Armadillo Base OS 上で直接実行するプログラムや、Armadillo Base OS がベースにしている Alpine Linux のコンテナで動作するプログラムをビルドするのは、ATDE 9 で開発環境入りの Alpine Linux コンテナを動かすのが簡単です。
このフォーラムの、こちらをご覧になってみてください:
https://armadillo.atmark-techno.com/forum/armadillo/14009#comment-12363
>>2 A6Eのcによる開発の参考となる資料はございませんか.
>> ひとまずHello world の方法がわかると助かります.
上で紹介したコメントの最後の方にも書きましたが、Armadillo Base OS 上で Debian コンテナを作って Debian コンテナ内で実行するのであれば、ATDE 9 上で、armhf のクロスコンパイラ(arm-linux-gnueabihf-gcc)を使ってクロスビルドしたバイナリを使えます。
以上、参考になりましたら幸いです。
uenokatsutoshi
古賀様
上野です.お返事いただき,ありがとうございます.
ホストOSをUbuntu studio 22.04としています.
セキュリテイからみの制約でVMplayerがうまく動かないので,virtualbox上にATDE9
をインストールしていますが,networkがうまく繋がりません.
同じvirtualboxに載せた他のOSではネットはちゃんとつながってはいます.
仕方がないのでUbuntuに直接dockerをインストールしてみました.
ご教示いただいたフォーラムを参考にコンテナをビルドしてみました.
残念ながらbuild.shで2つほどエラーが出て,肝心なA6E対応のコンテナが
インストールできませんでした.
エラーは
exec /bin/sh: exec format error
というものでした.
後で別のpcでも試してみようと思います.
buildできたコンテナは次のとおりでした.
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine-3.16-x86_64 latest 7c9c63494d66 About a minute ago 210MB
arm32v7/alpine 3.16 51610eda6112 7 weeks ago 3.79MB
arm64v8/alpine 3.16 47a0d92d42c9 7 weeks ago 5.3MB
amd64/alpine 3.16 187eae39ad94 7 weeks ago 5.54MB
> アットマークテクノの古賀です。
>
> uenokatsutoshiさん:
> >YoutubeのIoT A6に関する動画を参考に,ターゲット上でコンパイルできるようにしようと,
> >apk add gcc
> >apk add make
> >を行い,gccとmakeをA6Eにインストールしました.
> >しかしインクルードファイルが無いとのことで,コンパイルができませんでした.
> >A6にあったbuild-essentialパッケージに相当するものがわかりません.
> >
> >>Armadillo 2?0で作成したシステムで用いていたCで書いたシリアル通信用プログラムを,
> >>IoT A6Eにもインストールしようとしています.
> >>当時と開発方法が大きく変わってしまったため,取っ掛かりがつかめずに往生しています.
> >>
> >>1 GCC系の開発環境の準備はどのようにすればよろしいでしょうか.
> >> ATDE3ではクロス開発環境が用意されていました.
> >> ATDE9ではどのようにすればよろしいでしょうか.
> >> あるいはVScodeでcのプログラムを作成するのでしょうか.
>
> Armadillo Base OS 上で直接実行するプログラムや、Armadillo Base OS がベースにしている Alpine Linux のコンテナで動作するプログラムをビルドするのは、ATDE 9 で開発環境入りの Alpine Linux コンテナを動かすのが簡単です。
> このフォーラムの、こちらをご覧になってみてください:
> https://armadillo.atmark-techno.com/forum/armadillo/14009#comment-12363
>
> >>2 A6Eのcによる開発の参考となる資料はございませんか.
> >> ひとまずHello world の方法がわかると助かります.
>
> 上で紹介したコメントの最後の方にも書きましたが、Armadillo Base OS 上で Debian コンテナを作って Debian コンテナ内で実行するのであれば、ATDE 9 上で、armhf のクロスコンパイラ(arm-linux-gnueabihf-gcc)を使ってクロスビルドしたバイナリを使えます。
>
> 以上、参考になりましたら幸いです。
at_dominique.m…
上野さん
よこからすみません、
マルティネです。
> virtualbox上にATDE9をインストールしていますが,networkがうまく繋がりません.
> 同じvirtualboxに載せた他のOSではネットはちゃんとつながってはいます.
おかしいですね。
ATDE9 はインタフェース名と関係なく dhcp で設定してくれているはずですので、virtualbox での設定が正しければ接続できるはずです。
ネットワーク設定の「アダプタータイプ」や NAT の設定を変更すれば動き出すかもしれません。
> 残念ながらbuild.shで2つほどエラーが出て,肝心なA6E対応のコンテナが
> インストールできませんでした.
> エラーは
> exec /bin/sh: exec format error
> というものでした.
このエラーは、arm のバイナリーを実行できないと言うエラーです。
ATDE9 では qemu-user を設定して、emulation で実行できるようにしていますが、自分の OS の場合は設定する必要があります。
qemu-user-static パッケージをインストールして、「update-binfmts --display | grep -i arm」で qemu-arm (enabled) が表示されることを確認していただければ、おそらく実行できるようになります。
よろしくお願いします。
uenokatsutoshi
マルティネさん
上野です。アドバイスありがとうございます。
qemu-userの設定も試してみます。
> 上野さん
>
> よこからすみません、
> マルティネです。
>
> > virtualbox上にATDE9をインストールしていますが,networkがうまく繋がりません.
> > 同じvirtualboxに載せた他のOSではネットはちゃんとつながってはいます.
>
> おかしいですね。
> ATDE9 はインタフェース名と関係なく dhcp で設定してくれているはずですので、virtualbox での設定が正しければ接続できるはずです。
> ネットワーク設定の「アダプタータイプ」や NAT の設定を変更すれば動き出すかもしれません。
>
> > 残念ながらbuild.shで2つほどエラーが出て,肝心なA6E対応のコンテナが
> > インストールできませんでした.
> > エラーは
> > exec /bin/sh: exec format error
> > というものでした.
>
> このエラーは、arm のバイナリーを実行できないと言うエラーです。
> ATDE9 では qemu-user を設定して、emulation で実行できるようにしていますが、自分の OS の場合は設定する必要があります。
> qemu-user-static パッケージをインストールして、「update-binfmts --display | grep -i arm」で qemu-arm (enabled) が表示されることを確認していただければ、おそらく実行できるようになります。
>
> よろしくお願いします。
uenokatsutoshi
古賀様
上野です。別のPCにATDE9をインストールし直して、コンテナも作成したところ、無事コンパイルができるようになりました。
ありがとうございました。
> 古賀様
> 上野です.お返事いただき,ありがとうございます.
> ホストOSをUbuntu studio 22.04としています.
> セキュリテイからみの制約でVMplayerがうまく動かないので,virtualbox上にATDE9
> をインストールしていますが,networkがうまく繋がりません.
> 同じvirtualboxに載せた他のOSではネットはちゃんとつながってはいます.
> 仕方がないのでUbuntuに直接dockerをインストールしてみました.
>
> ご教示いただいたフォーラムを参考にコンテナをビルドしてみました.
> 残念ながらbuild.shで2つほどエラーが出て,肝心なA6E対応のコンテナが
> インストールできませんでした.
> エラーは
> exec /bin/sh: exec format error
> というものでした.
>
> 後で別のpcでも試してみようと思います.
>
> buildできたコンテナは次のとおりでした.
> REPOSITORY TAG IMAGE ID CREATED SIZE
> alpine-3.16-x86_64 latest 7c9c63494d66 About a minute ago 210MB
> arm32v7/alpine 3.16 51610eda6112 7 weeks ago 3.79MB
> arm64v8/alpine 3.16 47a0d92d42c9 7 weeks ago 5.3MB
> amd64/alpine 3.16 187eae39ad94 7 weeks ago 5.54MB
>
>
> > アットマークテクノの古賀です。
> >
> > uenokatsutoshiさん:
> > >YoutubeのIoT A6に関する動画を参考に,ターゲット上でコンパイルできるようにしようと,
> > >apk add gcc
> > >apk add make
> > >を行い,gccとmakeをA6Eにインストールしました.
> > >しかしインクルードファイルが無いとのことで,コンパイルができませんでした.
> > >A6にあったbuild-essentialパッケージに相当するものがわかりません.
> > >
> > >>Armadillo 2?0で作成したシステムで用いていたCで書いたシリアル通信用プログラムを,
> > >>IoT A6Eにもインストールしようとしています.
> > >>当時と開発方法が大きく変わってしまったため,取っ掛かりがつかめずに往生しています.
> > >>
> > >>1 GCC系の開発環境の準備はどのようにすればよろしいでしょうか.
> > >> ATDE3ではクロス開発環境が用意されていました.
> > >> ATDE9ではどのようにすればよろしいでしょうか.
> > >> あるいはVScodeでcのプログラムを作成するのでしょうか.
> >
> > Armadillo Base OS 上で直接実行するプログラムや、Armadillo Base OS がベースにしている Alpine Linux のコンテナで動作するプログラムをビルドするのは、ATDE 9 で開発環境入りの Alpine Linux コンテナを動かすのが簡単です。
> > このフォーラムの、こちらをご覧になってみてください:
> > https://armadillo.atmark-techno.com/forum/armadillo/14009#comment-12363
> >
> > >>2 A6Eのcによる開発の参考となる資料はございませんか.
> > >> ひとまずHello world の方法がわかると助かります.
> >
> > 上で紹介したコメントの最後の方にも書きましたが、Armadillo Base OS 上で Debian コンテナを作って Debian コンテナ内で実行するのであれば、ATDE 9 上で、armhf のクロスコンパイラ(arm-linux-gnueabihf-gcc)を使ってクロスビルドしたバイナリを使えます。
> >
> > 以上、参考になりましたら幸いです。
uenokatsutoshi
2023年10月1日 18時09分
YoutubeのIoT A6に関する動画を参考に,ターゲット上でコンパイルできるようにしようと,
apk add gcc
apk add make
を行い,gccとmakeをA6Eにインストールしました.
しかしインクルードファイルが無いとのことで,コンパイルができませんでした.
A6にあったbuild-essentialパッケージに相当するものがわかりません.
> Armadillo 2?0で作成したシステムで用いていたCで書いたシリアル通信用プログラムを,
> IoT A6Eにもインストールしようとしています.
> 当時と開発方法が大きく変わってしまったため,取っ掛かりがつかめずに往生しています.
>
> 1 GCC系の開発環境の準備はどのようにすればよろしいでしょうか.
> ATDE3ではクロス開発環境が用意されていました.
> ATDE9ではどのようにすればよろしいでしょうか.
> あるいはVScodeでcのプログラムを作成するのでしょうか.
>
> 2 A6Eのcによる開発の参考となる資料はございませんか.
> ひとまずHello world の方法がわかると助かります.
>
>
>
>
>