Armadilloフォーラム

Armadillo-610のデバッグ用ピンアサインについて

yanagida_iwaya

2024年5月23日 19時58分

お世話になっております。
現在、Armadillo-610を使用し、内製の拡張基板を開発しております。
以下資料を参考にしています。
armadillo-610_ext-board_schematic_rev3.3.1.pdf

ソフトウェア開発時のデバッグ用に必要なピン出しを検討しているのですが、上記資料のP10を参考に、デフォルト設定はGND、VCCの他に83, 85ピンのUART1、87ピンのMAINT_EN_B(GPIO1_IO22)と認識しております。(CTS、RTSは接続不要との認識)
ここでMAINT_EN_Bピンについて以下質問です。
・どのような入力、出力がされるピンなのか
・Armadilloとのシリアル接続でデバッグするために必須のピンか
・動的にデバッグピンアサインを変更する方法はあるか

以上、よろしくお願いいたします。

コメント

at_matsuzaka

2024年5月24日 9時25分

松坂です。

> ・どのような入力、出力がされるピンなのか

MAINT_EN_Bは、USB シリアル変換アダプタのスライドスイッチの入力ピンとなっています。
機能としては、
・GNDにショートでブートローダーは保守モード
・解放でブートローダーはオートブートモード

> ・Armadilloとのシリアル接続でデバッグするために必須のピンか

未接続でも動作はしますが、デバック向けに用意しておいたほうが良いピンです。
主にU-Boot上でのデバック、kernelやソフトの書き込みに失敗して起動できなくなった場合の復旧などで使用します。
製品マニュアルの章「USB シリアル変換アダプタ」も参考にしてみてください。

> ・動的にデバッグピンアサインを変更する方法はあるか

デバックピンアサインとは例えばシリアルコンソールのポートを「UART1」から「UART3」に変えることはできるか?ということでしょうか。
実現は可能です。UART3でしたら以下のhowtoを参考にしてください。
https://armadillo.atmark-techno.com/howto/armadillo-640-uart3-console

yanagida_iwaya

2024年5月24日 10時24分

松坂様

ご説明ありがとうございます、よく理解できました。
いただいた情報を元に設計検討いたします。

追加で一旦質問なのです。
デバッグ用のシリアルピンを変更する際、MAINT_EN_Bの割り当てピンも変更できるものでしたでしょうか?

以上、よろしくお願いいたします。

at_matsuzaka

2024年5月24日 11時48分

松坂です。

> デバッグ用のシリアルピンを変更する際、MAINT_EN_Bの割り当てピンも変更できるものでしたでしょうか?

可能です。
Armadillo-600シリーズ用のU-Bootでは、電源投入時にEXT_SW1(GPIO1_IO10)ピンがhighレベルまたはMAINT_EN_B(GPIO1_IO22)ピンがlowレベルであった場合、
保守モードに入る様になっていますので、いずれかのピンを使っていただく場合はソフトの修正は不要です。

yanagida_iwaya

2024年5月27日 11時53分

松坂様

ご回答ありがとうございます。
> 可能です。

例えばEXT_SW1の割り当てを、GPIO1のIO11に変更することができるということでしょうか?
または、事前に割り当て可能なピンの選択肢があり、当該設定を別の選択肢に変更できるような仕組みがあるということでしょうか?

また、掘り返しで申し訳ないのですが、U-BOOTのUARTを3への変更ではなく、例えば8に変更する方法などはあるでしょうか?

お忙しいところ恐れ入りますが、ご確認お願いいたします。

at_matsuzaka

2024年5月28日 10時57分

松坂です。

> 例えばEXT_SW1の割り当てを、GPIO1のIO11に変更することができるということでしょうか?

EXT_SW1の割り当てを、GPIO1のIO10から別のGPIOに変更することは可能ですが、U-Bootのソースコードを直接修正する必要があります。

> または、事前に割り当て可能なピンの選択肢があり、当該設定を別の選択肢に変更できるような仕組みがあるということでしょうか?

ブートモードのGPIOについてそのような仕組みは提供していません。
可能であれば、標準で提供しているピンをそのまま使うことをお勧めいたします。

> また、掘り返しで申し訳ないのですが、U-BOOTのUARTを3への変更ではなく、例えば8に変更する方法などはあるでしょうか?

UART8へ切り替える場合は、U-Bootのソースコードを直接修正していただく必要があります。
実際に変更したことはありませんが、ソースコード内にあるUART3にコンソールを設定している箇所をUART8に修正するのが早いと思います。
以下の情報を参考にしてください。

* 設定個所を探す際の検索キーワード:CONSOLE_UART3

* 修正が必要と思われるソースファイル
include/configs/armadillo-640.h
board/atmark-techno/armadillo-640/board_early_init_f.c

yanagida_iwaya

2024年5月28日 12時54分

松坂様

お世話になっております。
内容のご確認と変更方法のご提案、ありがとうございました。
SWとハードのどちらで対応するか、いただいた情報を元に検討いたします。