2022年1月26日水曜日

[在宅] 在宅始まります

こんにちは


さて、明日から一ヶ月間在宅ワーク始まります。


リモートなので、ネットワーク環境が必須なのですが


Windowsのアップグレードにおいて


VPNの不具合が一時的に出ていましたね。


最新のものなら解決しているみたいなので、


パソコン送る前にアップデートをかけておいた方がよいですね。



それにしても、Microsoft不具合少ないし


相当検査してますね。


アジュールやら、人工知能の開発をしつつ自社で


適用させていくから、衰退は当分無いと思います。


ロボット用のパッケージソフトとか出ているのかしら


私は、Linuxアプリ開発で


不具合を抑えるのに必死です。


2022年1月22日土曜日

[組み込みLinux] SPI通信における送受信

こんにちは、針山散策を今日もほのぼのと行います。


現在、組み込みLinux上にCCLinkボードと

通信するアプリを実装しています。

SPI通信を使用しているのですが、

SCKの立ち上がりで送信、立下りで受信

のような仕様だったのでどうすれば

設定出来るのか調べてみました。


カーネルのデバイスツリーで設定を

変えればよいのか?

と思いましたが、デバイスツリーでは

SPIの配線の定義なので違うようです。

など、色々調べてみたところ、

上位アプリ側をいじればSPI動作モード

を変更出来る事が分かりました。

以下のリンク先が参考になりました。

https://manual.atmark-techno.com/armadillo-guide-std/armadillo-guide-std-hardware-expansion_ja-1.0.0/ch06.html

私の書いたソースとしては、

    unsigned char mode= 0;

    rtc = ioctl(Serial_Port_Fd, SPI_IOC_RD_MODE, &mode);

    if (rtc == -1) {

        return rtc;

    }

   

    mode&= ~(SPI_CPOL | SPI_CPHA);

   

    rtc = ioctl(Serial_Port_Fd, SPI_IOC_WR_MODE, &mode);

    if (rtc == -1) {

        return rtc;

    }

私の場合、こちらの処理で対応できました。


CPOLとCPHAの組み合わせにて対応が出来るということで

理解しました。



2022年1月14日金曜日

[組み込みlinux] printfデバッグ

こんにちは、針山散策を今日もほのぼのと行います。


現在、組み込みLinux上にアプリを実装してターゲットボードを制御しているところなのですが、


厄介なことに、


i.mx8mplusのデバッガが無いときています。


GDBもはいってないし、現在デバッガ無しでの開発をしています。


ということで、printfデバッグしか使えない時以下を行うようにすると良さそうなのでメモします。


1. ファイル名、行番号を出力する

printf("file name: %s, line: %d \n", __FILE__, __LINE__);

こうすることで通ったところが分かるようになります。


2. ステータスをprintf出力する

これはステータスが変化した時だけ出力するようにします。

そうしないと、大量のメッセージで埋まってしまいます。


3. 通信データをprintf出力する

#ifdefでスイッチを設けて必要な時に送信、受信の

データを出力するようにしておきます。


4. 何度も通るとprintf文が止まらないので、

カウンタを設けて、if(count==0){printf("メッセージ");count++;}

とすると大量メッセージにしないですむ。


デバッガのありがたさが痛感しています。


2022年1月7日金曜日

[ドキュメント]コピーペーストをしましょう

明けましておめでとうございます。

今年は昨年よりも更新率を上げていきたいと思います。

宜しくお願いします。


実装ガイドの資料を見ながらCC-Linkの処理を実装していますが、

途中、memcopy()と記載された箇所がありました。

ソースをみてもmemcopyと書いてある箇所は1つだけしかありませんでした。


もしかしたらと思い、memcpyで検索したところ、複数個所ヒットしました。


ドキュメントを書く際、同じ単語はコピーペーストを行うようにしないと


読む側としては、この記載は故意か、過失かの判断になり、


余計な時間を使ってしまいますので、

コピーペーストは大事ですね。


私も注意しよう


2021年12月21日火曜日

[linuxクロスコンパイル]sudo makeではまった

こんにちは、針山散策を今日もほのぼのと行います。

今日は、imx8mp evkのアプリを

linux環境でクロスコンパイルで

makeさせてみました。

しかし、生成された実行ファイルを

imx8mpの載っているボードで実行させる

とバイナリとして認識してしまう現象が

発生しました。

原因はarm64bitで認識できるelfファイル

を想定していたのに、

x86(インテル)のelfが生成されていたからでした。

readelf -a 実行ファイル | head-10

にしてあげることで、

ゴールをMachineパラメータが

aarch64になったら完了にしました。

試行錯誤してみました。

3日もあれこれ調査してみました。

結局のところ、

exportで環境変数に設定していても、

sudo make

を行っていたため、

権限違いで、環境変数が不完全な状態で

ビルドをかけて上記のような現象が出ていました。

makeする際はsudoはつけないようにしましょう。

若しくは全てsudo付けるか。




にならなかった。

3日も、試行錯誤したのですが

make

ovaファイルで提供されたので、

ローカルPCにインポートしましたが、1時間近くかかりました。(124GB)

2021年11月8日月曜日

[引継ぎメモ] ovaファイルインポート後の問題

こんにちは、針山散策を今日もほのぼのと行います。

今日は、Virtual Boxを使用して前任者の開発環境を引き継ぐ作業をしました。

ovaファイルで提供されたので、

ローカルPCにインポートしましたが、1時間近くかかりました。(124GB)

仮想環境は重いですね。

インポート完了した後に、Virtual Boxを起動させて、

インポートしたプロジェクトを立ち上げようとしたら、エラーメッセージが出力されました。

いつもながら、すんなりいくことは珍しいですね。

"RawFile#0 failed to create the raw output file C:\Users\xxx\Documents\Projects\yyyyyyy\vagrant\zzzzzzzz.log (VERR_PATH_NOT_FOUND).

ということで調べてみましたら、以下が参考になりました。

https://www.yorozu-sys.net/blogpost/1718/

「パス / アドレス」のパスが
存在しないディレクトリだったためと思われる。
こちらを存在するディレクトリに変更したところ、上記エラー表示はなくなりました。

が!

ログインID、パスワード入力画面ではじかれました。w

[引き継ぐ際の注意点]
  • ログインID、パスワードは事前に教えてもらいましょう
[途中経過]
    Udemyの以下の講座を受講中です。
    現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
    第17回/299回まで進みました。
    先は長いですが、一段一段歩んでいきます。

2021年11月2日火曜日

[Udemy] Google Playコードにて支払いを行う方法

こんにちは、針山散策を今日もほのぼのと行います。

Udemy受講を初めて行いました。

今回の案件では、Pythonを使用する必要があり、

いつも通り自分で調べながら行うスタイルもいいのですが、

せっかくUdemyがあるので、こちらを利用して

どの程度効率的か体感してみようと思います。

以下、参考にしたサイトです。

https://gooiridblog.com/udemy-howtopayment/#toc6
WebからUdemyの商品を購入する場合は、クレジットかPayPal決済になります。

どうやってもGoogle Playのコード決済出来ませんでした。

しかし、スマートフォン上でGoogle PlayからUdemyアプリをインストールして

そのUdemyアプリ経由だと、決済画面でGoogle Playの

ロゴが発見しました!

そちらをタップして、コードを入力すると決済出来ました。

尚、Google Playのカードは、コンビニ等で購入します。

私の場合、近所のコンビニに、1500円と、それ以上のものがあったので、

それ以上のものを店員さんに渡して「3000円分下さいと伝えました。」

GooGlePlayカードで決済についてまとめると以下の通りです。

[Google Playコード利用でのお支払方法]
  • コンビニに行ってGoogle Playカードを購入しましょう(Udemyのディスカウント期間なら2000円以上あれば何かしら買えます。)
  • GooglePlayでUdemyをインストールします。
  • 購入したい商品を選びます。
  • 支払いでGoogle Playのロゴのものを選択します。
  • 誘導されるがままyesを押していきます。
[途中経過]
    楽天モバイルのUNLIMITEDを使用しているのですが、
    今月は10/31で139GBでした。
    端末はAterm MR04LNを使用しています。全く問題なし。
    いいのでしょうか、2022年3月まで無料です。