LPC1768からLPC546XXへ(IoTLT版)@ IoTLT-vol111-20240523

1K Views

May 23, 24

スライド概要

mbed LPC1768がもう生産中止になっているようなので、L-Tek FF-LPC546XXにプログラムの移行を試みています。そこで発生した問題などを報告します。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

LPC1768からLPC546XXへ(IoTLT版) IoT縛りの勉強会! IoTLT vol.111 2024 5/23 福山大学工学部情報工学科 山之上卓

2.

自己紹介 福山大学の教員 着る電光掲示板、 テレポートドレッサー、 シン3次元表示装置 テレポーテーション システム作成中

3.

自己紹介 ⚫1980年 interface LKIT-16によるFORTRANシステム ⚫1980年 bit ナノピコ教室じゃんけん大会優勝 ⚫ 1988年日本経済新聞「パソコン通信使い電算機言語開発」 ⚫2016年 ACM SIGUCCS Hall of Fame ⚫ 「ギャル電の意識の低いプレゼンバトル」優勝 @Geek night 広島, 2017 12/9 ⚫ MF Tokyo 2018, MF Taipei 2018, NT広島2019 ⚫ NT金沢2022, OMMF2022, MFT2023, MFK2024 ⚫ ヒーローズ・リーグ2023 トランジスタ技術賞受賞 ⚫ 情報処理学会フェロー

4.

背景その1 Wiki IoT/Bot Computing • Wiki IoT/Bot Computing を開発中。 • Wiki を使って、人間と Botが共同作業 • Wireless Sensor Network(WSN)の端末 はTWE-LITEとmbed LPC1768 を使ってい た。

5.

背景その2 Project TESLA • Teleportation System を開発中。 • 特定の部品を使って 物を組み立てると、そ の物を遠隔地に teleportation できる。 • 特定の部品はmbed LPC1768 を使ってい た。 デジタル入力6個、デジタル出力10個、UART x 1使用

6.

背景その3 • Switch Science さん: – https://www.switch-science.com/products/250 • マルツさん – https://www.marutsu.co.jp/pc/i/72981/ • 秋月さん – 見あたらず。(昔は売っていたはずなのに) • 本家本元(mbed) – https://os.mbed.com/handbook/Order

7.

背景その4 • mbedコンパイラ廃止予定のお知らせがキタ。(2021) – https://qiita.com/qa65000/items/f84aab1ae449cbb902ba – Keil Studio Cloud にファイルを移したのだけど、再コンパイルする とエラーだらけ。 … mbed OS 2廃止。2->5->6に互換性なし(シリアル通信など)。 • Mbed LPC1768 をWindows 11 に接続したとき、USBシリアル が使えない – > Windows11 + teraterm -> Raspberry Pi 400 +cu

8.

ということで、L-Tek FFLPC546XX • It is the latest in series of mbed Microcontrollers, which supports Ethernet, USB, and the flexibility of lots of peripheral interfaces and FLASH memory • High performance ARM® Cortex -M4 Core running up to @180 MHz, 512 kB Flash, 200 kB SRAM(LPC1768は32kB), 16 kB • EEPROM SPI (2), UART (2), I2C (2), PWM (6), ADC (6), GPIOs, CAN (1), USB (1) • インターフェースがちょっと違う けど、Mbed LPC1768 の上位互 デジタル入力6個以上、 換? いいじゃん。 デジタル出力10個以上、UART x 2

9.

ところが… • 「200kBあるはずのメモリが、20kBと表示されます。new する と、out of memory が表示されます」 – https://forums.mbed.com/t/200kb-20kb-new-out-ofmemory/21815 – -> オフラインのmbed studio で、(mbed-OS 5.15.9の場合) • [<workspace>]>[<project>]>mbed-os>targets> TARGET_NXP>TARGET_MCUXpresso_MCUS>TARGET_MCU_LPC546XX> device>TOOLCHAIN_ARM_STD>LPC54682J512.sct の #define Heap_Size 0x00400 を変更。 例えば#define Heap_Size 0x1F000 に変更

10.

ところが… 左(LPC1768)と右(LPC546XX)のpinout図で、 以外に違うところがあります。どこでしょうか? (USB Mini-B とUSB Micro-Bの違いと、右の方に P1_xx, P0_xx がついているのは除いて)

11.

ところが… • 答え: 左(LPC1786) 右(LPC546XX)

12.

ところが… • LPC546XXのpinoutのちょっ と下の記述 – p15: • supports analog input for measuring 4-20 mA • supports digital input only in pull down mode • does not support digital output

13.

ところが... • その他(もうちょっと検証しないとはっきり言えないけど) – LPC546XXの方、 • p20はGPIOの入力のとき、無条件にPullUp してない? • p29とp30は入れ替わっていない?

14.

ついでに • どこがちがうでしょうか?

15.

現時点 • まだ移行できてませ ん。 – 新->旧はOKみたい。 – 赤外線光の検知は新-> 旧, 旧->新どちらともOK – なんらかの間違い?で旧 ->新が届くこともある。 – 新<->新もダメ。

16.

おわりに • LPC546XXは、日本の主要部品屋さんでは扱っていないみ たい。扱ってくれると嬉しいです。 – 現時点で買うのは日本では私だけかもしれないですが。 (Raspberry Pi Pico に移行した方が速い?) • LPC546XXの利用者が増えて便利になると嬉しいです。

17.

謝辞 • https://forums.mbed.com/ で丁寧に私の質問について調 べて答えていただいた皆様