Bluetoothインクスクリーン電子タグで遊ぶ (1)点灯

ゴミ野郎にとって、毎日海鮮市場に行くのは生活の一部だ、いや、手が震えて豆腐の別の電子値札をスワイプした。

71358714efed7d40104ac7f545e477be.png

価格は手頃で、送料無料で1個2元だったので、N個を直接購入しました。計算して3.5点を出し、それをグループに持って行って見せびらかしましたが、グループのメンバーは数点取られました。要点を説明してみましょう。

6e18c00725e64bf38b44a087d416ced3.png

これはおそらく分解するのに最適な価格であり、損傷することなく直接取り付けて復元できます。

まずは画面モデルを見てみましょう:E029A01

fdbc5bedd1c39f41eff27a029c167dd2.png

a2779f4a8fe720db8e048d2bfc1caa44.png

この画面モデルは、小雪が降っていても、干し草が乾いていても、池で半分眠っていても、ゴミ収集車を広げている大男であっても、ファームウェアに適応できるため、この海鮮市場を訪れる価値があります。 。

マザーボードを見てみましょう:

87976d12a34c6555095319b19e2a2fa6.png

わあ、ルネサスの DA14585です。このチップはBLE Bluetooth で非常に人気があります。Xiaomi Mi Band もこのチップをメイン コントロールとして使用しており、他の主要メーカーも使用しているので、情報は大丈夫です。最初にダウンロードしました。データシート、マニュアルを開いて見てください。

a687dfaff660ef9995223d65cd9deb28.png

中にはこの2本のピンがあり、ハッキングできそうなのですが、便利なJLINKが手元にないので、JLINK-OBとTTLを購入しました。

7c989f80ee28ebb0601b1fa16e6792a7.png

それらを待っている間、まずマルチメーターを使用して、ボード上のいくつかの金属接点とチップ間の関係を測定します。これは、写真とデータに直接示されています。

DA14585 チップのデバッグでは、関連ポートを使用します。

  • TP4→RST

  • TP2&TP10→GND

  • TP8→P0_5(RX)

  • TP7→P0_4(TX)

  • TP1&TP9 → VBAT 3V

  • TP3→VDD

  • TP6 → SWDIO

  • TP5 → SWCLK

インク スクリーン インターフェイス:

  • ビジー → P2_0

  • RST→P0_7

  • DC→P0_5

  • CS→P2_1

  • SDI→P0_6

  • SCK→P0_0

  • PED_POWER → P2_3

フラッシュIOポート:

  • D1 → P2_5

15cc254ef213d9144eb4057c8a284b96.png

OK、この時点で JLINK-OB も到着しました。接続しましょう。

5fa77639db403e16ae827c52eac25167.png

次にソフトウェアを使用します。基本的にはこの 3 つを使用します。

  • スマートスニペット_ツールボックス_v5.0.10.2434_windows

  • ケイル 5.36

  • UartAssist.exe

4a4ca7e7f7cbb000b01b2ed14c0c6ba0.png

Keil と Smartsnippets_toolbox をインストールした後、マーチャントが提供する JLINK-OB PJ ツールを対応するディレクトリにコピーする必要があります。マーチャントは、置換およびクラックするためのいくつかのファイルを提供します。その後、Everything メソッドを使用してこれらの置換するファイルを見つけます。置き換えるだけ SmartSnippets Toolbox v5.0.10 と KEIL のインストールディレクトリにインストールするだけ パスは以下の通りです。

b8710e068dcd3da8571fd133d20b93a8.png

JLINK-OB がすべての作業を引き継ぐことができるため、TTL が後で使用されることはほとんどありません。そのため、TTL はデバッグ情報出力ログを読み取るためにのみ使用されます。まず DA の SmartSnippets Toolbox v5.0.10 ツールを開き、黒い値札ボードを JLINK-OB+ に接続し、ワイヤーをはんだ付けする必要があります。

「新規」をクリックします

01f19cd6b4db3f34991251374e0d381c.png

9d5b64d33ee71b2a4296d4431d729623.png

任意の名前を入力し、「保存」をクリックします

3a2600a42d91a6b180677c79b937e251.png

JTAG ID 123456 とチップ DA14585-00 を確認し、OPEN をクリックします。

b1186c22ce3fd866aab2cba2218c5bbf.png

入力後、青いログに問題がないことが示されたら、1、2 の順にクリックして OTP テーブルを表示します。

実は、以前データシートや他のチュートリアルを読んだときに OTP テーブルを誤解していたので、まず 2 をクリックして見てみましょう。

548a7e3a972f24d0a3506c0f186226b9.png

この時点ではまだ OTP テーブルがロードされていないため、[接続] をクリックする必要があるため、クリックして奇妙な瞬間を目撃しました。

7ae7f53a328a1e5f2ecc2374588cd4f1.png

完璧です。ログはまだ青いです。赤いログがある場合は、方法があります。パニックにならないでください。1 つは、黄色の REST ラインを使用して赤い VCC ラインに接続し、REST させることです。これは高レベルであるためです。リセットしますので、1、2、3 秒程度タッチしてから、JLINK-OB を取り外して再度接続すると、基本的には問題ありません。

または、最初にプラグを抜くことはできません。3 秒間 REST を実行してから、接続をクリックして試してください。私は基本的にこれを試しましたが、うまくいきました。本当にうまくいかない場合は、オフラインの問題を確認してください。デュポン ケーブルは、接続後に切れてしまいます。 「何度も差し込みすぎています。差し替えるだけで大​​丈夫です。JLINK-OBもあります。私が購入したJLINK-OBのGNDは実は半田付けされています。そのため、GNDケーブルを動かすたびにPCがUSB を抜き差しする音が常に鳴り続けるので、JLINK-OB は裸であることがわかりますが、実際には、TB を購入したときに熱収縮スリーブが付属しています。そこで、熱収縮チューブを外して見てみると、GND側の溶接が弱かったので自分で修正したところ、現在は赤アラームログも出ず安定しています。

前の手順に引き続き、CONNECT をクリックすると、OTP が書き込まれていることがわかります (1 行目と 2 行目は YES と表示されています) このとき、薄い青いキノコのような感じですか? 途方に暮れているように感じますか?

もう一度 [メモリから読み取り] をクリックして、何かおかしなことが起こるかどうかを確認します。

813e1b4df28bc158b39be0c41a6314de.png

いつ。ガー!OTP には依然として YES が表示されますが、OTP ではない場合は NO が表示されます。

09d290375240a63ac4fa1b6c927f220e.png

そこで、海鮮市場に行って、OTP のないボードをいくつか購入しました (OTP のないボードを吹き飛ばして、ボード上の OTP を備えた DA14585 チップと溶接して交換したかったのです)。彼は長期インクスクリーンプレイヤーです、教えてください、OTPでも実際に使用できます。ナリ?? ?

でも、それでも親切にしなければなりません。チケットを購入し、授業料も払いました。それで、OTP ボードが手に入らなかったので、もう一度調べ始め、兄からもらった資料や情報を組み合わせて、OTP について再理解しました。

実はOTPの部分はメーカーの性格にもよるのですが、OTPというのはワンタイム書き込みという意味で、書き込み後は変更できないので、英語翻訳はワンタイムプログラムですが、そんな良いチップは設計されていません、これはどうでしょうか? したがって、DA14585 はちょっとしたトリック (セカンダリ スタートアップ) を提供します。つまり、他人に使用されたくない場合は、プログラムを作成して OTP に直接バイナリを生成する、つまり、OTP に独自の APP を作成して起動します。 (1 回の起動)、OTP に直接ロードされて起動されますが、開発に再度使用したい場合は、OTP に APP を直接書き込むことはできません。次に、セカンダリ ブート BOOT プログラムを OTP に書き込みます。このセカンダリ ブートは、外部 SPI フラッシュと組み合わされて起動します。プログラム APP は、外部 SPI フラッシュに書き込むことができます (したがって、APP は SPI に複数回フラッシュできます)。ただし、セカンダリ BOOT は OTP に固定化されており、つまり、セカンダリ BOOT を OTP に焼き付ければ、何度でも使用できるため、OTP されることを恐れずにこのチップでプレイし続けることができます。制限は使用できません。したがって、不足している OTP を取得する一般的なプロセスは次のとおりです (右側のプロセスは、不足している OTP を取得する唯一のプロセスです)。

2d46f237a1e49e5f26051ef33d9a4311.png

では、なぜ上記で OTP の部分について言及したかは、メーカーの性格によって異なります。

したがって、OTP についての理解は、実際には、購入するチップの OTP にどのようなプログラムがインストールされているかによって異なりますが、それが二次 BOOT プログラムであれば満足し、通常の APP プログラムであれば購入することになります。ただし、セカンダリ BOOT プログラムのメーカーは、DA 公式 SDK に直接アクセスしてコンパイルするか、公式にコンパイルされた HEX ファイルを直接使用することが一般的で、基本的には公式の標準コードなので、ルネサスのものもダウンロードできます。DA14585X の SDK を見ると、セカンダリ BOOT がありますその中のコード。で、何と言えばいいでしょうか?OTPにセカンダリのBOOTやAPPが書かれているかどうかをどうやって判断するのですか?今のところ特定できませんので、知っている方教えてください! フローチャートでは、OTP がセカンダリ Boot にフラッシュされる場合、SPI-FLASH が APP をフラッシュする必要があると述べているため、APP を作成してSPI-FLASH に書き込み、それが十分かどうかを確認します。OK、始める前に、まず SPI-FLASH が読み取れるかどうかを確認しましょう。赤いボックスをクリックして SPI-FLASH インターフェイスに入ります。

c1ec8fe7f2429c414f99d9a8bd756da9.png

495779bc399ee4d8c325e0ba6bef15fd.png

正常に接続されました

71ec7e7c219d90a5ea32f083e7b0e68e.png

次に、32K を読んで確認し、「Read 32kb」ボタンをクリックします。

a142283cc7e2b92d41acbe8c64182b40.png

ここは読み取って消去できるようなので、まずは点滅するコードを書いてみましょう。

このボードは、LED ライトをはんだ付けするためのスペースがボード上に確保されているため、実際には開発ボードとして使用でき、テスト後、チップの P2_5 ピンに接続されるため、ライトを点滅させたり、歩くことができます。

まずは基板の比較写真を見てみましょう 1枚はライトを溶接しなかったもの、もう1枚はライトを溶接したものです 反対側には600ΩのR4を追加し、LEDを追加しました0603の古材を使用してD1に溶接しました 上の板は私のものです 下の写真は溶接後、R4とD1を溶接していないオリジナルとの比較です。

ecd294175fd89acdf9c030f770486a65.png

OK, まず、公式 Web サイトまたは他のチャネルにアクセスして、DA の SDK をダウンロードします。私は、blink プロジェクトに付属する SDK_6.0.18.1182.1 を使用しました。パスは、画像の下のファイル パスを指します。

76a61577c99baf0cb8d82a9a1626eb4f.png

フラッシュコード

57bb4a4d353e48ae6d82eda05094d8f8.png

ここでいくつかの変更を加える必要があります。ライトを点滅させたいので、ピンが一致する必要があります。まず、コード内の LED_PORT と LED_PIN を見てみましょう。

97638a02179c00720eb1759517e8c66c.png

良いものは 1 と 0 なので、P2_5 とは一致しません。コードのポートは P で、アンダースコア 5 は PIN なので、P2_5 に対応するコードは GPIO_PORT_2 と GPIO_PIN_5 です。変更してください

ちなみに、上のシリアルポート P0_4 に注目してください。これはブラックボードと一致しているため、変更する必要はありません。

a0fe1cfa44dc57f37d0dd556ded13e8f.png

プロジェクト DA14585 を選択し、「再構築」をクリックします。

f217abb1cdfb40737ff37b54add14fe2.png

ビルドはすぐに完了し、基本的にエラーは報告されず、bin ファイルも適切に生成されました。

455ccdfedd957ded298a5356f9bd6e20.png

次に、ライトが点滅するかどうかを DEBUG してみましょう。まず、JLINK を設定します。

魔法の杖をクリックして、「DEBUG」タブ・ページに切り替えます。「JLINK」を選択し、「Settings」をクリックします。

dd4d26782c775bb8806600f22f8a5c3f.png

JLINK-OB を接続し、販売者が提供する DLL と EXE を置き換えた場合、この情報がここに表示されます。

3d88da72546c3b3c0f6d8fcaff3d9f8f.png

移動する必要はありません。「OK」をクリックし、外側の「OK」をクリックするだけです。次に、「DEBUG」ボタンをクリックします。

bf7425f71a4b1247517993e9376fa1fb.png

アセンブリ ページについて心配する必要はありません。F5 キーを押すだけです。

2484fccd61e490f20fe3e698e24c0678.png

F5を押した後

00da28dc71939e17f8337d52a21867aa.png

62ccc028306bf021ee3e88a65aa591a9.png

完璧な成功が輝きます。

このセクションでは、開発環境に慣れてライトを点灯するだけです。興味のある学生は注目して、次のセクションでの更新をお待ちください。

Ink Screen の学習に関しては、楽しんでいただければ幸いです。私たちは、より多くのオープンソースで楽しいプロジェクトを段階的にオープンソース化していきます。

過去におすすめしたもの

6f56580c58babc9c0cb2a218e2c87b31.jpeg

Lao Yu 兄弟があなたをESP32で遊ぼう: 14. 双方向通信ワイヤレスリモコンを自分で作る (1)

6d992f2ec1d3b8bfcf717eccb5892f5e.jpeg

Lao Yu 兄弟がESP32で遊ぼうとします。12 の基本チュートリアルが更新されました。次は上級チュートリアルです。

49fff6c234f0c1df745e64a90a86008a.jpeg

Lao Yu 兄弟があなたをESP32で遊んでもらいます: 05 ADC は簡単すぎて使用できません。

eb79c941cab5d67eaeaee8e533c675fe.jpeg

Lao Yu 兄弟がESP32で遊んでみる: 02 VSCode+PlatformIO を使って開発環境を構築する

おすすめ

転載: blog.csdn.net/karaxiaoyu/article/details/133154027