mod-mm
2020年11月27日 16時48分
UART5でデバイスオープン時に(-1)が返ってきてしまいます。
以前の環境(残っていません)のkernel 4.14-at23では通信まで出来ていました。
カーネル書き換えに伴って忘れている設定やdtsファイル等の変更に誤りがありましたら
ご指摘いただけないでしょうか?
1.kernel 4.14-at26で以下を参照してUART5の設定を行う
https://armadillo.atmark-techno.com/howto/use-armadillo-640-uart5
変更したファイルは以下
・armadillo-640.dts
・imx6ull-pinfunc.h
2.”製品マニュアル(Version 1.14.0)10.2 Linuxカーネルをビルドする”を参考にビルド実施
3.”製品マニュアル(Version 1.14.0)"11.2.2 カーネルイメージの書き換え", "11,2,3 DTBの書き換え"を参考に書き換え実施
4.リブートしてカーネルイメージが書き換えられたことを確認
5.Armadillo-640上でUART5の通信確認をするプログラム(以下は一部)をビルドしてgdbでステップ実行
#define SERIAL_PORT "/dev/ttymxc4"
int main(int argc, char *argv[])
{
int fd;
struct termios tio;
int BAUDRATE = B9600;
fd = open(SERIAL_PORT, O_RDWR); /* デバイスをオープンする */
if (fd < 0) {
printf("open error\n");
return -1;
}
…
ファイル | ファイルの説明 |
---|---|
imx6ull-pinfunc.zip | ・armadillo-640.dts ・imx6ull-pinfunc.h |
コメント
mod-mm
at_akihito.irie
2020年11月27日 18時28分
入江です。
https://armadillo.atmark-techno.com/news/20180727/software-update-a640
にもあります通り、Linux kernel v4.14-at4からHowto「UART5を利用する」の
手順は不要になっております。
> ・armadillo-640.dts
> ・imx6ull-pinfunc.h
の変更を元に戻して頂いた上で動作確認をしていただけますでしょうか。
以上、よろしくお願いいたします。