X



トップページ電気・電子
628コメント217KB

Arduino互換機 2枚目 [転載禁止](c)2ch.net

0001774ワット発電中さん
垢版 |
2019/08/02(金) 00:44:41.68ID:CPKxdNS8
Arduino互換機全般について語りましょう!


・前スレ
Arduino互換機 [転載禁止](c)2ch.net
https://rio2016.5ch.net/test/read.cgi/denki/1434990927/


・関連スレ
Arduino初心者熱烈大歓迎質問スレ part24
https://rio2016.5ch.net/test/read.cgi/denki/1554776918/

Arduinoオリジナル全般スレ
https://rio2016.5ch.net/test/read.cgi/denki/1547275328/

Arduino互換 Lazurite [無断転載禁止]©2ch.net
https://rio2016.5ch.net/test/read.cgi/denki/1458041731/

学研マイコン Japanino ジャパニーノで遊ぶスレ 3
https://rio2016.5ch.net/test/read.cgi/denki/1286354827/

aitendo利用者達のスレ その13 [無断転載禁止]©2ch.net
https://rio2016.5ch.net/test/read.cgi/denki/1540892481/
(あちゃんでいいの[adino]、コレでいいの、ぶれぼでいいの…)


・互換機のメーカや販売店
スイッチサイエンス
https://www.switch-science.com

Adafruit
https://www.adafruit.com

Sparkfun
https://www.sparkfun.com

digiStump(Digispark)
http://digistump.com/products/1

ESPRESSIF(ESP8266 WROOM(Wi-fi))
https://www.espressif.com/en/products/hardware/esp-wroom-02/overview


0192774ワット発電中さん
垢版 |
2020/02/24(月) 08:44:43.60ID:4LV/FeuX
>>180
PlatformIO IDEならデバッグできるのもあるよ
STM32、ESP32ならデバッグできる
AVR関連はデバッグに対応してないみたいだけどね
0193774ワット発電中さん
垢版 |
2020/03/02(月) 07:16:08.17ID:wt0ZpVes
MKR WAN1300のスレはないのかしら?
0195774ワット発電中さん
垢版 |
2020/04/02(木) 22:04:17.76ID:qirOri7k
555でPWM回路組もうかと思ったけど、LGT8F328Pが80円位な事思うと萎える
0200774ワット発電中さん
垢版 |
2020/04/03(金) 07:09:16.31ID:JZ4d8O9W
やっすいな Flash8KB SRAM1KB?
あと書き込むのに別途200円位のST-LINKV2てのがあれば、外付け部品無しで動くのかな
0204774ワット発電中さん
垢版 |
2020/04/12(日) 23:05:35.44ID:iD1Ju9AC
ATMega328上位互換のLGT8F328Pって、AliExpressでメチャメチャ安いな!今更ながらだけどw
Nano互換が150円、Pro mini互換が100円ぐらいで売ってる
調べた限り、そのままArduinoとして使っても特に不具合とかない感じ?
0207774ワット発電中さん
垢版 |
2020/04/14(火) 23:03:50.01ID:MkcG+a/V
Flash多かったりクロックアップできたりDACついてたりブートローダーおかしかったりとなかなか愉快なFakeチップが乗ってるらしい
0208774ワット発電中さん
垢版 |
2020/04/15(水) 04:15:43.90ID:Ccfwy8t8
fakeと言うか普通に別物扱いになってないかな

自分が使ってる店はバリエーション選択でSTM/CKSがあってCKSにすると0.15$安いw
0209774ワット発電中さん
垢版 |
2020/04/15(水) 04:35:12.91ID:iwNzCOjf
8ビットマイコンに慣れてしまってるから
32bitパワーで何ができるのか想像ができない体になってしまいました
0210774ワット発電中さん
垢版 |
2020/04/15(水) 06:11:55.08ID:b/kTWVdi
long演算のコード量がびっくりするくらい少ないくらいで
Cで書いてたらあまり意識しないよな

ATMega328 16MHz/Flash32k/Ram2k/UART1(PB=2)
Mega2560 16MHz/Flash256k/Ram6k
STM32F103C8T6 72MHz/Flash64k(128k)/Ram20k/UART3

Mega2560と比較しても優位な点は多い
特にRAM20kが魅力、ESP8266やESP32には劣るものの
LCD表示用のダブルバファやオシロ、ロジアナのようなデータサンプリングに威力を発揮しそう
0212774ワット発電中さん
垢版 |
2020/04/15(水) 18:11:45.38ID:OIZJPtqp
品名のタイトルはSTM32Fの検索でひっかけるためだろうな
ProductInformationにCS32Fと書いてあるくらいだから物はCS32Fだろう
0213774ワット発電中さん
垢版 |
2020/04/30(木) 20:23:05.88ID:4VQ+oFXV
ATMega32U4使ってるLeonardo系で安い良さげなのありますか?
USBコントローラー作るのにDa Vinci 32U使ってるんですけど、
以外に作りが良いから組み込むのが勿体ないのと、
複数個作ることになりそうだから、もっと安いの無いかなとw

それと、Da Vinci 32UにArduino Microのブートローダ書き込んでるの見たんですが、
利点は定義ファイル書き換えないで済むとかそういうのだけ?
0214774ワット発電中さん
垢版 |
2020/04/30(木) 20:31:09.28ID:1ZMce9av
>>213
その安いのというのがまさにMicroなのでは?
どっちもATMega32U4積んでるのでブートローダが共通でも違和感ない
0218774ワット発電中さん
垢版 |
2020/05/01(金) 12:52:57.67ID:h5pb+0KH
(Arduino 使いでも生AVRぐらい扱えるだろ。どんだけ下に見てるんだ)
0219774ワット発電中さん
垢版 |
2020/05/01(金) 16:48:19.88ID:LJFPbrJp
Pro microが295円+配送32円
https://www.aliexpress.com/item/32840365436.html
生チップが10個2911円送料無料 @291円
https://www.aliexpress.com/item/32916694199.html
自分でパターン起こして中華PCB業者に発注するより
Pro micro買ったほうがたぶん安くて手間も掛からないと思う

安くしたいだけならv-USBで80円のSTMや120円のmega168使うとか
AVRじゃなくて51だけど1個40円のCH552Gという手もある
0220774ワット発電中さん
垢版 |
2020/05/01(金) 18:25:06.63ID:UVhsn2ym
USB使うの? 使わないで本気で安くしたいのに32u4使うというのは無いだろ
0221774ワット発電中さん
垢版 |
2020/05/01(金) 20:42:53.96ID:LJFPbrJp
生産量にもよるだろ
100個とか1千個作るならともかく、
数個しか作らないなら数千円しか変わらない
開発環境や移植作業の手間考えると割りに合わない
趣味や学習用ってなら話は別
0222213
垢版 |
2020/05/01(金) 22:32:03.02ID:yKSMHGt7
皆さんありがとうございます。
>>217
>>218
出来んことは無いと思うけど、さっさと形にしたいので…
>>219
良さげですね。

>>220>>221
多分10個も作らないから大丈夫かなあと。

電子工作自体にハマったらまた別ですけど。
正直言うと生AVRにはちょっと憧れてる。
0223774ワット発電中さん
垢版 |
2020/05/02(土) 00:59:01.62ID:RdEIGctK
俺はプリント基板を外注するときにせっかくやし見た目スマートにしたくてIC単体で置いたわ
0225774ワット発電中さん
垢版 |
2020/05/02(土) 05:06:41.60ID:7cfGXGqI
変換ボードに乗せるなら別にpromicroでもよくね?マイコン単体で使うのは小型化メリットでしょ
ATtinyの3217とか4mm角で24ピンあってUSB以外32u4より圧倒的に内蔵が高性能でdigikey価格で32u4の1/4の値段だぜ
https://www.electronics-lab.com/wp-content/uploads/2019/09/attinys.jpg

ちゃんとArduinoとして使えるコアもあるよ
https://github.com/SpenceKonde/megaTinyCore
外部クリスタルなしで20MHzで動く
0228774ワット発電中さん
垢版 |
2020/05/02(土) 18:57:21.94ID:p5S7XZHA
Tiny1614で小型なNANO作ってみたかったけど
Aliで売ってないから浮気してしまった
0229774ワット発電中さん
垢版 |
2020/05/03(日) 07:59:05.47ID:jsxTQu35
PCB起こすならIC単体置き必須、見栄えが全く違う!

ユニバーサルで一個作るなら安いボードをソケットに挿すけど
0230774ワット発電中さん
垢版 |
2020/05/03(日) 09:01:57.95ID:XfA/3/cv
IC単体置きってのはソケットなしでってことかw
当たり前すぎて、MPU単騎かと思ったわ
OSCやパスコンくらい乗せればいいのにと
0231774ワット発電中さん
垢版 |
2020/05/03(日) 09:34:56.10ID:+WoQPczb
単体ってそういうことか
俺も基板にポツンとicが1つだけ置かれてるの想像して?ってなってたわ
0233774ワット発電中さん
垢版 |
2020/05/04(月) 07:45:12.53ID:qQOpSKJV
LGT8F328P-LQFP32 のPro miniタイプ、ALI見ても大分前から取扱店が全然無いけど
コロナの影響で生産が止まってたりするのかね
0234774ワット発電中さん
垢版 |
2020/05/05(火) 08:57:03.77ID:aNswQWbI
自分はほったらかしにしてたLGT8F328P SSOP-20のPro miniタイプ使ってみたけどいろいろめんどくさいことに引っかかってようやくLチカができた
0235774ワット発電中さん
垢版 |
2020/05/06(水) 13:51:34.49ID:6uE0LaI3
上の方でLGT8F328P SSOP-20は合計で100mAくらい流せるって書いてあったから
小さいモーターとか電磁石とかで使ってみてる 今のところ壊れてない
0236774ワット発電中さん
垢版 |
2020/05/06(水) 19:30:53.36ID:HVd3Weje
LGT8F328Pの亜種AVGA328Pなんだけど
周波数カウンター作ったら44.1kが44k、192kが193kになった
プログラムのミスかと色々悩んだ末、ATMega328でやってみると正常にカウントした
あとLowレベルで0.3-0.7Vの出力があってFETスイッチング繋ぐとONになりっぱなしで既存回路が使えない
I2Cは追加パッチで動くようになったが、SPIもwireでエラー吐いて使えなかった。
色々問題があったんだけど、LGT8F328Pは大丈夫なの?
0237774ワット発電中さん
垢版 |
2020/05/06(水) 19:55:14.79ID:juF93J8T
>>236
いろいろ問題ありそうですね。労力とコストを天秤にかけたら考えものですね
0238774ワット発電中さん
垢版 |
2020/05/07(木) 01:05:02.23ID:7kqzkN9K
>>236
今ちょうどLGT8F328で遊んでるところだから簡単にできそうなら検証してみようか?
ただ、SSOP-20のやつでポートは少ない(Max15ポート)、クロックは32M内部CRオシレータ(誤差1%くらい)
SPIやI2Cは使ったことないけどそのうちやってみるつもり
Lレベル電圧が少し高いやつって全部のポート?それとも特定のポートだけかな?
0239774ワット発電中さん
垢版 |
2020/05/07(木) 05:32:25.78ID:CT4CDER3
LGT8F を随分前に書き込みしたものですけど、
以下のサイト通りにセットアップすると 32MHz も問題なく使える。
ATmegaのレジスタ系意外は、ほぼそのまま動作する。

https://github.com/dbuezas/lgt8fx
ボードマネージャーに追加する奴ね

しかしここでも問題になった Wire.h 関連を使った場合、
(SPIやI2Cを使った LCD や OLED を組み合わせた場合)
外部の電源を使うと正常動作しないことがある。
PC接続時や、それなりのUSBハブ経由だと正常動作する。

それ系をずっと検索しても見つからず、とりあえず以下の方法で解決してる。
USB端子の GND と D+ をショートする。
0240774ワット発電中さん
垢版 |
2020/05/07(木) 05:36:52.95ID:CT4CDER3
問題が USBチップの Holtek にありそうだとは突き止めたのですが、
(たまたま Holtek をショートさせてしまって壊れたものは、外部電源で動くw)
ソフトで解決したいものの、PCに接続してると動作するので、デバッグ方法が
無く行き詰まっている所。
0242774ワット発電中さん
垢版 |
2020/05/07(木) 23:30:24.25ID:yqxywT8c
>>206到着
FLASHは128k
CH340G_TTLシリアルでブートローダー書きこみ
直接USBに挿してLチカスケッチをアップロードまで問題なし
STLINK持ってないし確認方法もわからないのでCPUTAPIDは未確認
刻印は"CS32F"じゃなくて2個とも"STM32F"だった
https://i.imgur.com/qtyGUJX.jpg
0243774ワット発電中さん
垢版 |
2020/05/08(金) 00:56:41.34ID:c/kY/0Cv
>>239
うちのLGT8Fはどうやら16MHzで動いてるようだ
32MHzで動かすにはブートローダも書き換えないとダメなのかな?
それともブートローダは16MHzで動いてスケッチは32MHzで動くっていうことなのかな?
0244774ワット発電中さん
垢版 |
2020/05/08(金) 09:14:30.53ID:e1cTgtnS
>>243
https://github.com/RalphBacon/LGT8F328P-Arduino-Clone-Chip-ATMega328P
ここにベンチマークがある。それ以外の情報は古いので参考にならない。

ボード設定から 1MHz〜32MHz まで設定すると、
動作時間に変化が出る。デフォルトでは 32MHz で動いてるはずなので、
意識して変更しない限り 16MHz にならない。

ちなみにブートローダーは Optiboot5.0 を独自に変更したもので、
個人で書き換えるのは、ほぼ不可能。
Arduino as ISP では駄目で、専用の装置が必要。
Larduino の一部では、2台あれば書き換えできるものもあるみたいだけど、
ATmega とは結線も違う&情報もロシア語しか無いみたい。プログラムも専用が必要。
0245774ワット発電中さん
垢版 |
2020/05/08(金) 13:10:23.10ID:c/kY/0Cv
>>244
ありがとう
boards.txtやライブラリは本家(LogicGreen)のLarduino_HSP_latest.rarから入れたからボードの選択に周波数が出てこなくて
LGT8F328P-LQFP48 MiniEVB
LGT8F328P-LQFP32 MiniEVB
LGT8F328P-SSOP20 MiniEVB
Larduino w/ LGT8F328D
Larduino w/ LGT8F328D-SSOP20
Larduino w/ LGT8F88D-SSOP20
の6つしか選択肢がないのでいつもは3番目か5番目を使ってうごいている(使っているのはSSOP20のProMiniタイプ)
リンク先のを見ていろいろやってみる
0246774ワット発電中さん
垢版 |
2020/05/08(金) 17:19:42.49ID:e1cTgtnS
>>245
LogicGreen の奴だと駄目で、色々とやらないと 32MHz にならないし、
boards.txtをごまかしてクロックを上げるとシリアルが使えなくなる。
今の環境を辞めて >>239 の奴に変更するのをお勧めする。

ベースは LogicGreen そのままで、クロック数の変更やシリアルの
不具合などを細かくまとめた奴になってる。環境も1行追加で
アップデートも自動的に受け取れる。
0247774ワット発電中さん
垢版 |
2020/05/08(金) 20:20:28.82ID:T+UhC+U2
なるほど、そうなんだ
本家のやつはrarを解凍してライブラリとかをスケッチのフォルダにコピーしてとかだったけどこれはボードマネージャからいけるんだ、しかも選択肢がかなりいろいろあるな
これでしばらく遊べそうだ
0248774ワット発電中さん
垢版 |
2020/05/10(日) 13:15:32.21ID:EadoVxga
>>239の方が以前ここで紹介されて、自分もLGT8F328を購入した口です。
ちょうどその時Aruduino Nanoですすめていた自分のプロジェクトが、LGT8F328がぴったりでした。
利点の一つはADCが8bitではなく12bitだったことと、
その他>>239の方法でArduino IDEにLGT8F328の開発環境を追加すると、Visual Studio Codeでもコードがかけ、書き換え可能となったことです。
0249774ワット発電中さん
垢版 |
2020/05/10(日) 20:56:19.75ID:nEJAkLDy
>>236
>>周波数カウンター作ったら44.1kが44k、192kが193kになった
wavgatでしょ?同じの使ってるけどショップやネットの情報通りに使うと内部RC発振32MHz/2で動作しちゃうから
LGT固有のPMCRレジスタを弄ってクロック源を外部水晶に切り替える必要がある。

>>色々問題があったんだけど、LGT8F328Pは大丈夫なの?
Lowレベルについては分からないけど追加ファイルの出来が悪いのだと思う。
俺はarduino ide使わないでavr-gcc+avr-libcで使ってるけど特に問題ないよ。
0250774ワット発電中さん
垢版 |
2020/05/10(日) 21:10:42.66ID:nEJAkLDy
こんな感じ

// 外部400K〜32MHz高速晶振発振回路を起動
PMCR = _BV(PMCE);
PMCR = _BV(WCLKS) | _BV(OSCMEN) | _BV(RCKEN) | _BV(RCMEN);

// 安定発振を待つ
_delay_ms(1);

// メインクロックを外部400K〜32MHz高速晶振へ切替
GPIOR0 = PMCR | _BV(CLKSS);
PMCR = _BV(PMCE);
PMCR = GPIOR0;

// ?行几个NOP操作,提高?定性(可?操作)
_NOP(); _NOP(); _NOP(); _NOP(); // 省略できる

// メインクロックの分?参数を1にする
CLKPR = _BV(WCE);
CLKPR = 0;

LGTはドキュメント見てレジスタ弄れる人でないと使いこなせないと思う
0251774ワット発電中さん
垢版 |
2020/05/10(日) 21:33:10.34ID:nEJAkLDy
>>235
誘導負荷が繋げるかどうかは別の話だが、それをやっていいのはHDRレジスタで80mAモードをONにしたPD5,6 PF1,2,4,5だけ
LGT8FX8P_databook_v1.0.4.pdf
の63ページを見てね
0253774ワット発電中さん
垢版 |
2020/05/11(月) 19:32:04.69ID:rv/9Wdnv
互換チップでそんなに苦しむなら普通に純正品買えばいいのにみんなマゾだね
その気持ち大事に
0254774ワット発電中さん
垢版 |
2020/05/12(火) 01:33:58.49ID:2tQ21iyz
AVRと全く同じ様に使おうとすると問題が出るのかも知れないけど普通にLGTの方が高性能だし
0255774ワット発電中さん
垢版 |
2020/05/12(火) 01:50:34.02ID:9Dwq/2kO
>>252
前に書いた Larduino の奴がそれ。
実際に LGT8F328P でやると壊れる。
実際は、書き込みエラーが出るんだけど force オプションで
強制すると、認識しない超軽い文鎮になる。電源LEDだけは点灯するけどw
0256774ワット発電中さん
垢版 |
2020/05/12(火) 02:12:10.09ID:2edcNJ4n
人間は苦労したい生き物なんだよ!
あっさり出来てしまうと面白くない!
苦労してできた時の悦び快楽脳内麻薬を求めているんだよ!
0257774ワット発電中さん
垢版 |
2020/05/12(火) 05:21:30.46ID:ROE/FFYV
ATmega搭載品よりちょっと安く買える時期があったから数枚買ってみたけど最近はたいして価格差無くなったしSTM32Fも結構安いし…
新規には買わないと思うけど前に買ったやつは何らかの形で消費したい
0258774ワット発電中さん
垢版 |
2020/05/12(火) 10:08:56.06ID:ft8a0Emv
>>255
>>実際に LGT8F328P でやると壊れる。
328Pに対応したのは先月の24日なんだけどそれ以降の話??
0259774ワット発電中さん
垢版 |
2020/05/12(火) 10:36:54.20ID:9Dwq/2kO
>>258
お!本当だ。トップページの画像だけで、あぁこれね!って判断してました。
失礼しました。

add lgt8f328p support Apr 24, 2020
となってる。壊れるのは、それ以前の話しで、壊れた奴は数日前に捨てたところ。

今は人柱になる LGT8F が余ってないのですが、試してみる価値はあるかも。
しかし bootloader が 1種類 しか存在しないんだよね。
Optiboot5.0 の改造版で、本家ARM版 Optiboot は 8.0 が最新版。
0260774ワット発電中さん
垢版 |
2020/05/12(火) 10:42:58.96ID:9Dwq/2kO
>>257
それね。STM32 が送料を除けば、同じような値段なんだよね。
メモリ、スピードも段違いなので、ATmega328P を電池駆動したい
とか特殊な場合意外に選択する余地がないのよね。

ESP32 も 500円以下 で買えるしね。
0261774ワット発電中さん
垢版 |
2020/05/12(火) 14:07:07.98ID:9Dwq/2kO
気になったので、分解してきて LGT8F を確保して試してみた。
結果から言うとブートローダー成功、書き込み装置を使ったスケッチの
書き込み共に成功しました。>>258 の指摘に感謝です。

https://imgur.com/XnkqNIX.jpg
0262774ワット発電中さん
垢版 |
2020/05/12(火) 14:14:33.63ID:9Dwq/2kO
連投で申し訳ない。詳細を。。。
書き込み装置は Nano でも LGT8F でも、どちらでも結果 OK です。
16MHz、32MHz 共にアップロードスピードが同じなので、違いは無く
問題ない。

また LarduinoISP の画像にあった 10kΩ抵抗 も入れてみましたが、
あっても無くても安定度などに差異は無かった(無くて良い)。

また私の書き込みにあったブートローダーの種類ですが、
1.15 から 1.18 になりました。変更箇所は不明(まだ何も調べてない)。
0263774ワット発電中さん
垢版 |
2020/05/12(火) 14:17:29.73ID:KG+GISKx
ATMegaとかATTiny使ってるけど、これらでほとんど高速な処理はしないので
やっぱメモリサイズが一番ネックかな。アセンブラとか使えないし
0264774ワット発電中さん
垢版 |
2020/05/12(火) 15:12:18.54ID:ft8a0Emv
>>261
GJ!これでoptibootの嫌がらせから解放される。
optiboot勝手にMCUSRをクリアするから俺にとっては迷惑な存在だった。
0266774ワット発電中さん
垢版 |
2020/05/13(水) 00:04:06.65ID:67OrWCAn
バージョン番号ですが、間違いがありました。
1.5 とか 1.8 は、stk500.c のバージョンのようです。

肝心のブートローダーは、やはり Optiboot5.0 のまま変わらずでした。

>>264-265
Optiboot8.0 との diff を取ろうかと思ってたところでした。
私も色々とカスタマイズしてみます。
0267774ワット発電中さん
垢版 |
2020/05/13(水) 12:30:09.45ID:S2zUqzAI
>>266
arduinoのLGT対応部分の出来が悪いとは思ってたが
optibootのLGT対応箇所にも一目でおかしいと分かる所がある
例えば疑似EEPROMの読み出し部分

do {
EEARL = address++; <−−インクリメントするタイミングを間違えている
EEARH = address >> 8;
EECR = 0x01;
__asm__ __volatile__ ("nop" ::);
__asm__ __volatile__ ("nop" ::);
putch(EEDR);
} while (--length);

address=0x00ffが0x01ffに化けちゃう。
これ真面目に作ってないな
0268774ワット発電中さん
垢版 |
2020/05/13(水) 15:56:32.30ID:S2zUqzAI
疑似EEPROM(実体はflash)の書き込み処理の方は1バイト書く度にページ消去とコピー処理が走るモードが使われてる。。。
疑似領域は2ページ交互に使うから例えば1000バイト書くと500回書き換えが発生する
外からeepromに書き込む事は少ないと思うがこれは嫌だなw
0269774ワット発電中さん
垢版 |
2020/05/13(水) 16:18:57.57ID:G653Z/H/
そういえばLGT8F328のデータシートって電気的特性のページってないよね、
この前リセットのパルス幅と電圧レベルどれくらいかなと思ってみてたんだけどリセットに関する説明ページにさらっと乗ってるだけで詳細が不明だったり…
フラッシュの書き換え保証回数とかは乗ってるんだっけ
0270774ワット発電中さん
垢版 |
2020/05/13(水) 17:25:32.86ID:S2zUqzAI
>>269
pdfにこうある
程序FLASH能保?至少100,000次以上的擦写周期。

これのおかげで少しだけ中国語読めるようになったわ。
0272774ワット発電中さん
垢版 |
2020/05/14(木) 01:43:21.50ID:6f3LsRD2
英訳版も見た事あるけど英語どころか国語も苦手だから中国語でも大差無いわw
0273774ワット発電中さん
垢版 |
2020/05/14(木) 18:58:02.51ID:6f3LsRD2
SWDをオープンドレイン化したLarduinoISP使って20ピンバージョンのLGTに書き込みしてみたらちゃんと書けました。
261の報告通りプルアップ抵抗は不要。
あと仕様なのか不具合なのかは分からないけど読み出しをしようとするとフラッシュが消えちゃうっぽい。

https://i.imgur.com/YiWINx4.jpg

ついでにoptiboot-8.0もLGTに移植してみました。珍しく一発で動いて驚いたわ

https://i.imgur.com/vt9cC4j.jpg

ある程度確認したら何らかの形でリリースしようとは思うけど試作版試したい人いますか?
0274774ワット発電中さん
垢版 |
2020/05/14(木) 20:02:54.60ID:6f3LsRD2
LGTボードのデフォルトのクロックは4MHzなんだが(追加ファイルが必須な理由がこれ)
ブートローダ側で16MHzに加速してからユーザープログラムをスタートするようにしてみた。
ボードマネージャにLGTボードを追加しなくても本家のunoとかnanoのボード設定でも大体は動くようになるぞ。
機能によっては互換性が上がるかも。
0276774ワット発電中さん
垢版 |
2020/05/15(金) 03:38:26.08ID:R8iMWbmu
>>273
元の言い出しっぺと言うか、人柱ですけど、8.0 のテスト参加します。
あれから道具箱を探したらピンヘッダさえ付いてない物が 2つ 出てきたので、
とりあえずピンだけ付けましたので、環境は OK です。

SWD もL字ヘッダがもったいないw ので、ピンクリップで環境作りました。
スルーホールテストケーブルを持ってないので。。。

一番のネックと言うか問題点のレジストリ関係のテストプログラムもあります。
0278774ワット発電中さん
垢版 |
2020/05/15(金) 18:47:12.71ID:g0+2zOBq
>>277
どうやらブートローダー書き込み直後の初回書き込みだけは必ず成功するっぽい。
あと電源を入れなおした時も成功率があがる。揮発性の何かが悪さをしてるんだろうな。
0279774ワット発電中さん
垢版 |
2020/05/16(土) 05:17:16.37ID:rf+tE5WH
早速、試してみます。
私の方でも、同様に Optiboot8.0 のバイナリを作成してみました。
(コンパイル環境が無かったので Debian でやりました)

まだ公開できる程のことを試してないのですが、
31kオーバーのバイナリが動作することは、確認できました。
(元の5.0はサイズ的に無理だった)

よって EEPROM も使えないっぽい(試してない)。
0280774ワット発電中さん
垢版 |
2020/05/16(土) 05:27:00.97ID:rf+tE5WH
これが成功すれば、ボード定義も追加する必要が無くなりますね。

極端に言うと、ダウンロードした ArduinoIDE の UNO 設定で動作する
ようになります。

そういえばレジストリを直接いじる、電波時計が動作しませんでした(当たり前?)。
0281774ワット発電中さん
垢版 |
2020/05/16(土) 13:58:00.47ID:LaiGZ2kH
安定書き込み出来るようになったよ。1KBのE2PROMにも対応したけどまだ試してない
http://www.mediafire.com/file/pg6pbpxmdrm0j12/new.tar.gz/file

ところでmakeオプションは何を指定してる??
おれは
make target BAUD_RATE=57600 BIGBOOT=1
てな感じでやってるんだけど、何故かBIGBOOT=1を指定しないと正常動作しなくなる
0282774ワット発電中さん
垢版 |
2020/05/16(土) 15:16:19.75ID:LaiGZ2kH
>>何故かBIGBOOT=1を指定しないと正常動作しなくなる
bssセクションとバッファ領域がオーバーラップしてたわ。
0283774ワット発電中さん
垢版 |
2020/05/16(土) 18:01:13.51ID:LaiGZ2kH
これでほぼ完成だとおもう。
http://www.mediafire.com/file/5hcni9xafu3ky66/%25E5%25B0%258F%25E6%25B8%2595%25E5%2584%25AA%25E5%25AD%2590%25E6%25AC%25B2%25E5%25BC%25B5%25E3%2582%258A%25E3%2582%25BB%25E3%2583%2583%25E3%2583%2588.tar.gz/file

E2PROMの読み書き試したけど、書き込むと必ず2バイト目と3バイト目が化ける。
多分手元の個体の不良だと思うが可能ならE2PROMの書き込みを試してみて欲しい。

これで10バイト書ける
avrdude -c arduino -P COM名 -b 57600 -p m328p -U eeprom:w:1,2,3,4,5,6,7,8,9,10:m

化けるとこんなエラーがでる
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0002
0x00 != 0x04
avrdude.exe: verification error; content mismatch

ちなみに>>268の問題も書き換え頻度が1/4程度になるようには改良したよ
0285774ワット発電中さん
垢版 |
2020/05/17(日) 00:25:06.24ID:0kU43lDX
> E2PROMの読み書き試したけど、書き込むと必ず2バイト目と3バイト目が化ける。
> 多分手元の個体の不良だと思うが可能ならE2PROMの書き込みを試してみて欲しい。

optibootそのもののバグだったわ。。。玩具のプログラムとは言えもっと真面目に作って欲しい。

直した完全体をこちらにまとめました。
http://www.mediafire.com/file/twoxm03aac3vehl/%25E5%25B0%258F%25E6%25B8%2595%25E5%2584%25AA%25E5%25AD%2590-8.0LGT.tar.gz/file
0286774ワット発電中さん
垢版 |
2020/05/17(日) 11:17:11.58ID:Yq2eOyKo
すっかり出遅れたというか、全ておまかせ状態になってしまいました。
最新版の動作確認ですが、

> optiboot_lgt8f328p_115200.hex(動作未確認)
> 通信速度115200bpsバージョン

が、動作しました。元々の Nano も 8.0 にしていますので、
OldBootloader である 57600bps は、使ってませんので未確認です。

make に関してですが、BIGBOOT 不要で 2kb の hexファイルが作成できてます。
--
05/17/2020 11:12 1,442 optiboot_atmega328.hex
--
make OS=windows ENV=arduino AVR_FREQ=32000000L BAUD_RATE=115200L atmega328

E2PROM を元々使ったプログラムを書いたことが無いので、未確認ですが、
I2C を使った FMラジオ は、プログラムの変更なしで動いてます。
0287774ワット発電中さん
垢版 |
2020/05/17(日) 11:22:07.63ID:Yq2eOyKo
しかし delay() の動作がおかしいようです。
--
void setup(){
pinMode(LED_BUILTIN, OUTPUT);
}
void loop(){
for(int i = 0; i < 20; i++){
digitalWrite(LED_BUILTIN, LOW);
delay(20 - i);
digitalWrite(LED_BUILTIN, HIGH);
delay(i);
}
}
--
ボードを LGT8F と Optiboot で、動作間隔が違います。
未確認ですが、mills() とかが違うのかもしれません。
0288774ワット発電中さん
垢版 |
2020/05/17(日) 12:35:52.72ID:0kU43lDX
確認ありがとう。
こちらではボードに「pro mini/16MHz」を指定したときにdelay(1000)が一秒であることは確認出来てるけど何か違うのかな?

>>ボードを LGT8F と Optiboot で
具体的に何をさしてますか?
0289774ワット発電中さん
垢版 |
2020/05/17(日) 18:20:12.81ID:Yq2eOyKo
>>288
言葉足らずですみません。

> >>ボードを LGT8F と Optiboot で
> 具体的に何をさしてますか?

書き込み時というか、コンパイル時に ツール->ボード設定 のことです。

ボードマネージャから追加した LGT9F328P だと期待した動き。
ボードマネージャから追加した Optiboot on 32pin だと上記のプログラムが
もっさりというか、単なるLチカが遅い(目視で分かるぐらい)。
レスを投稿する


ニューススポーツなんでも実況