コグノスケ


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

link もっと前
2026年6月23日 >>> 2026年6月10日
link もっと後

2026年6月23日

ANA国内線予約サイトが悲惨なことに

4月くらいにANAの国内線予約サイトが国際線と共通のクラウドシステム(Amadeus Altea)に移行して、遅い!使いづらい!と話題になっていました。おかしいのは移行直後の混乱期だけで、しばらくしたら改善されるだろうと思っていました。

約2か月が経過した今日、国内線のチケットを予約する機会があったのですが、話題になった理由がわかりました。サイトが意味不明で使いにくいのは慣れで克服するとしても、あまりにも遅いです。何回ローディング画面で待たせたら気が済むんでしょうか。

しかし逃げ場はなかった

ANA贔屓はもうやめだ次からはJALも乗るぞと思って、JALの予約システムについて調べたら、遥か昔(2017年)からAmadeusに移行していました。試しにJALの予約システムで適当な便を検索&予約したところ、ANAより若干速度がマシですが、画面遷移の度にローディング画面が連発されるUXは一緒でした。

ANAもJALも残念予約システムになっちゃったので、泣きながら使うしかありません。これはつらい……。

編集者:すずき(2026/06/26 01:27)

コメント一覧

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



2026年6月18日

ZephyrのOut-of-treeアプリケーションその6 - シリアル出力

目次: Zephyr

前回はシリアルに文字を出力するアプリを作って動かしました。肝心のシリアル出力をどうやって見るのか?これは「使うボードによる」が答えなんですけど、一例としてNUCLEO-F446REでのやり方を説明します。

NUCLEOボードはボードのどこかに型番(MBxxxxみたいな番号)が書いてあります。F446REの場合はMB1136です。この型番に対応する回路図(MB1136-DEFAULT-C05 Board schematic)をダウンロードしてください。

今回使ったボードのSoC STM32F446はシリアル送受信のハードウェアUSART/UARTを6つ持っています。Zephyrのデフォルト設定でIn/Outピンが割当たっているのは、6つのうち2つ(usart1とusart2)でした。それぞれのTX/RXのピンは下記の通りです。

  • usart1 TX/RX: PB6, PB7
  • usart2 TX/RX: PA2, PA3

先ほどダウンロードしたMB1136の回路図を見ると、usart1/usart2に割り当てられたピンは下記のように何らかのコネクタに接続されています。

  • usart1 TX: PB6: Arduino Connector(CN5) 3番
  • usart1 RX: PB7: Morpho Connector(CN7) 21番
  • usart2 TX: PA2: Arduino Connector(CN9) 2番(SB63をブリッジする必要がある)
  • usart2 RX: PA3: Arduino Connector(CN9) 1番(SB62をブリッジする必要がある)

Zephyrのデバイスツリーを見ると、シリアル出力にはusart2を使うようになっています。

NUCLEO-F446REのデバイスツリー(work_dir/zephyr/boards/st/nucleo_f446re/nucleo_f446re.dts)

/ {
	model = "STMicroelectronics STM32F446RE-NUCLEO board";
	compatible = "st,stm32f446re-nucleo";

	chosen {
		zephyr,console = &usart2;
		zephyr,shell-uart = &usart2;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,canbus = &can2;
	};

ハンダ付けできる環境があるなら、SB63やSB62を0Ω抵抗などでジャンパしてArduino Connector(CN9)の2番と1番にUARTケーブルを繋げばシリアル出力が見えるはずです。

Out-of-treeアプリでDevice tree overlay

ハンダ付け以外の方法として、シリアル出力先を変えてusart1にする方法を紹介します。シリアル出力先を変えるにはZephyrのデバイスツリーを書き変える必要がありますが、Zephyr本体のファイルを変更するとwest updateのときにZephyrが更新できなくなったりして面倒です。

素晴らしいことにデバイスツリーを後から書き換える便利な方法があって、アプリ側にオーバーレイ(Device tree overlay)ファイルを用意するだけでOKです。コンソール出力をusart2からusart1に上書きする例を示します。

デバイスツリーオーバーレイ(work_dir/hello/app/boards/nucleo_f446re.overlay)

/ {
	chosen {
		zephyr,console = &usart1;
		zephyr,shell-uart = &usart1;
	};
};

このファイルを作成したら再度アプリをビルドして、Arduino Connector(CN5) 3番とMorpho Connector(CN7) 21番にUARTケーブルを繋げばシリアル出力が見えるはずです。

シリアル出力例
** Booting Zephyr OS build v4.4.0 ***
Hello, World!

うまくいけばこんな感じの出力が得られるはずです。動きましたね。

おまけ

シリアル出力の受信方法は何でも良いですけど、これも一例を紹介します。まずUARTを送受信できるHWが必要です。私のおすすめは手軽なUSB接続のUARTケーブルです。秋月電子通商のFTDI USBシリアル変換ケーブル(3.3V)みたいなやつです。

PCに接続すると/dev/ttyUSBnのような名前で認識されるので、ターミナルソフトで開きます。pyserial-minitermを使う場合はこんな感じです。

pyserial-minitermの起動例
$ sudo apt-get install -y python3-serial

$ pyserial-miniterm /dev/ttyUSB0 115200 --eol LF --raw

オプション--eolは行末がCRかLFか指定します。--rawは印字できない文字(エスケープシーケンスなど)を加工せず素通しします。カーソルを移動させたり、色付きの文字を出力するアプリケーションを動かすならこのオプションがあると見やすいです。

ボードに接続する前にケーブルのTX/RXを確認すると良いです。

  • UARTケーブルに何も接続せず(つまりTXもRXもオープン状態)
  • ターミナルソフトに何か文字を打つ
  • 何も表示されないはず
  • UARTケーブルのTXとRXを短絡させる
  • ターミナルソフトに何か文字を打つ
  • 打ち込んだ文字がそのまま表示されるはず

もし何も表示されない場合は/dev/ttyUSBnのデバイス指定を間違っている可能性が高いので確認してみてください。

編集者:すずき(2026/06/26 02:02)

コメント一覧

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



2026年6月11日

ZephyrのOut-of-treeアプリケーションその5 - OpenOCDとGDBで実行

目次: Zephyr

前回ZephyrのOut-of-treeアプリがビルドできました。今回は実行と実行結果の確認です。あえてwestに頼らずOpenOCDとGDBで殴っていくスタイルで行きます。OpenOCDのビルド方法は以前(2026年6月2日の日記参照)紹介したのでそちらをご覧ください。使用機材は下記のとおりです。

  • ボード: STMicroelectronics NUCLEO-F446RE
  • デバッガ: NUCLEOのオンボードチップ(ST-Link)

PCとボードをUSB接続します。NUCLEOにはデバッガがオンボードで搭載されています。ボードのUSBコネクタ(CN1)は給電兼、デバッガの接続用です。NUCLEOは切り込みに沿ってボードを折るとデバッガ部分を物理的に切り離せるようになっていて、面白いですね。よく考えられているな〜と思います。


NUCLEO-F446RE、左側がメインSoC、右側がデバッガ

OpenOCDはオプション-fでデバッガやデバッグ対象の設定ファイルを指定します。今回はST-Link(interface/stlink.cfg)とSTM32F4系(target/stm32f4x.cfg)の設定ファイルを指定します。

オプション-cは起動時に実行するコマンドを指定します。"bindto 0.0.0.0"は他のマシンからの接続を受け付けるためのコマンドで、OpenOCDを実行するマシンとZephyrをビルドするマシンが同じ場合は省略してOKです。"init; reset halt"は初期化後にボードをリセットしてCPU停止状態にしておくために指定しています。要らないはずなんですが、なぜか接続できないときがあるんですよねー。なんでだろ?

OpenOCDの起動コマンド例
$ cd openocd/tcl
$ sudo ../src/openocd -f interface/stlink.cfg -f target/stm32f4x.cfg -c 'bindto 0.0.0.0' -c 'init; reset halt'

GDBはARM用ならOKですが、Zephyr SDKにあるarm-zephyr-eabi-gdbを使うのが手軽でしょう。バイナリのパスはビルドしたOut-of-treeアプリ(build/zephyr/zephyr.elf)を指定します。

GDBの起動とアプリ実行のためのコマンド例
$ cd work_dir/hello
$ ../zephyr-sdk/gnu/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb build/zephyr/zephyr.elf

target remote :3333
monitor reset halt
load
c

GDBが起動したらtargetコマンドでOpenOCDに接続し、リセット(monitor reset halt)、ロード(load)、コンティニュー(c)すればアプリが実行開始されます。これでやっとHello, World!を拝め……ません。まだNUCLEO-F446REのシリアル出力を見る方法を説明していないからです。

続きは次回。

編集者:すずき(2026/06/26 01:10)

コメント一覧

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



link もっと前
2026年6月23日 >>> 2026年6月10日
link もっと後

管理用メニュー

link 記事を新規作成

<2026>
<<<06>>>
-123456
78910111213
14151617181920
21222324252627
282930----

最近のコメント5件

  • link 26年1月23日
    すずきさん (01/29 09:48)
    「おおー、そんな昔からなんですね。歴史感じ...」
  • link 26年1月23日
    hdkさん (01/27 19:53)
    「#! はUNIX v8からだったってWi...」
  • link 24年12月9日
    すずきさん (01/18 15:45)
    「Thank you for your i...」
  • link 24年12月9日
    Up2Uさん (01/15 12:57)
    「Hi I also find the p...」
  • link 25年12月18日
    すずきさん (12/23 23:51)
    「良く見たらksys_read()でfil...」

最近の記事3件

  • link 20年2月22日
    すずき (06/26 02:03)
    「[Zephyr - まとめリンク] 目次: Zephyr導入、ブート周りHello! Zephyr OS!!Hello! Ze...」
  • link 26年6月18日
    すずき (06/26 02:02)
    「[ZephyrのOut-of-treeアプリケーションその6 - シリアル出力] 目次: Zephyr前回はシリアルに文字を出...」
  • link 26年6月23日
    すずき (06/26 01:27)
    「[ANA国内線予約サイトが悲惨なことに] 4月くらいにANAの国内線予約サイトが国際線と共通のクラウドシステム(Amadeus...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
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 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 2026年
open/close 過去日記について

その他の情報

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

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 06/26 02:03