いろいろ試す46(+2020年反省会)
ねむいさんは悪くない全部コロナのせい全部!
反省会終了!
…
さて本題に入ります…
●OpenOCD最近の更新トピック
日々着実に機能を増強しているOpenOCD。ここ数か月の更新でめぼしい更新を
ピックアップしてみます。
1.QSPI/OCTOSPIのサポートがついに公式実装!!
何年待たせたんだYO!
ねむいさん待望のQSPI-ROMのOpenOCDからの読み書き機能がようやく公式に
マージされる運びとなりました。ねむいさんのSTM32F7やH7の作例でmakefile
みたら気付いた方もいると思います。一応以前からパッチを当てたビルドは
公開していたのですがなかなかにっちにな需要だったので表の出さずにして
おきました。
公式マージにあたり、若干の動かし方の差異が発生してましたのでこちらで
吸収しております。
makefileは516行目から、
実際に書き込みに使用するOpenOCDのcfgは私のバイナリ同梱のstm32h7disco_dap_flash.cfg
の170行目くらいを参考にしてください。
実際にQSPI-ROMに読み書きした様子はこんな感じです。
↓mass_eraseの時
> "C:¥Devz¥Coreutils¥bin¥make.exe" program
openocd -s C:/Devz/ARM/OCD/tcl -f target/stm32h7disco_dap_flash.cfg -c "eraser_qspi"
Open On-Chip Debugger 0.11.0-rc1+dev-00010-gc69b4deae (2020-12-27-08:37)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
force hard breakpoints
Info : STLINK V3J4M2 (API v3) VID:PID 0483:374E
Info : Target voltage: 3.219171
Info : Unable to match requested speed 1800 kHz, using 1000 kHz
Info : Unable to match requested speed 1800 kHz, using 1000 kHz
Info : clock speed 1000 kHz
Info : stlink_dap_op_connect(connect)
Info : SWD DPIDR 0x6ba02477
Info : stm32h747xih6.cpu0: hardware has 8 breakpoints, 4 watchpoints
Error: stm32h747xih6.cpu0 -- clearing lockup after double fault
Polling target stm32h747xih6.cpu0 failed, trying to reexamine
Info : stm32h747xih6.cpu0: hardware has 8 breakpoints, 4 watchpoints
Info : starting gdb server for stm32h747xih6.cpu0 on 3333
Info : Listening on port 3333 for gdb connections
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc
Info : flash1 'micron mt25ql512' id = 0x20ba20 size = 65536kbytes
Info : flash2 'micron mt25ql512' id = 0x20ba20 size = 65536kbytes
shutdown command invoked
> Process Exit Code: 0
> Time Taken: 00:02
↓FontX2ファイルなどのバイナリファイルを書き込んだ時
> "C:¥Devz¥Coreutils¥bin¥make.exe" program
openocd -s C:/Devz/ARM/OCD/tcl -f target/stm32h7disco_dap_flash.cfg -c "mt_flash_qspi lib/FONTX2/inc/fonts/ILFONT/ILGZ24XF.FNT 0x90010000"
Open On-Chip Debugger 0.11.0-rc1+dev-00010-gc69b4deae (2020-12-31-18:42)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
force hard breakpoints
Info : STLINK V3J4M2 (API v3) VID:PID 0483:374E
Info : Target voltage: 3.217121
Info : Unable to match requested speed 1800 kHz, using 1000 kHz
Info : Unable to match requested speed 1800 kHz, using 1000 kHz
Info : clock speed 1000 kHz
Info : stlink_dap_op_connect(connect)
Info : SWD DPIDR 0x6ba02477
Info : stm32h747xih6.cpu0: hardware has 8 breakpoints, 4 watchpoints
Info : starting gdb server for stm32h747xih6.cpu0 on 3333
Info : Listening on port 3333 for gdb connections
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08050484 msp: 0x20020000
Info : flash1 'micron mt25ql512' id = 0x20ba20 size = 65536kbytes
Info : flash2 'micron mt25ql512' id = 0x20ba20 size = 65536kbytes
Info : Device: STM32H74x/75x
Info : flash size probed value 2048
Info : STM32H7 flash has dual banks
Info : Bank (0) size is 1024 kb, base address is 0x08000000
Info : Device: STM32H74x/75x
Info : flash size probed value 2048
Info : STM32H7 flash has dual banks
Info : Bank (1) size is 1024 kb, base address is 0x08100000
Info : wrote 636586 bytes from file lib/FONTX2/inc/fonts/ILFONT/ILGZ24XF.FNT in 17.585402s (35.351 KiB/s)
shutdown command invoked
> Process Exit Code: 0
> Time Taken: 00:19
QSPIの読み書きに関しての注意点ですが現状は完全安定とは言えず、消去や
書き込みを行う度に電源を投入しなおさなければなりません。
いずれは解決されるでしょうがこの点だけはご留意ください。
2.ST-Linkで16bitのメモリ読み書きが実装される
何年待たせたんだYO!もう7年くらいたってるYO!
今更もう遅いよぅ!!!
FM3のフラッシュコントローラたたく以外に何の用があるのか!?
今となっては使い道が分かりません…
●arm-gcc定期更新
arm-gccも12月に更新掛かってました。
主な変更点はついにGCC10.0になったことでしょうか。
とりあえずSTM32H7のビルドサイズの比較…
↓前回の
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.1 20190703 (release) [gcc-8-branch revision 273027]
Copyright (C) 2018 Free Software Foundation, Inc.
Built Object Informations:
=== Total Binary Size ===
text data bss dec hex filename
0 768116 0 768116 bb874 main.hex
=== Verbose ELF Size ===
text data bss dec hex filename
765464 2652 2383344 3151460 301664 main.elf
main.elf :
section size addr
.text 0xbaca0 0x8000000
.ctors 0x0 0x80baca0
.dtors 0x0 0x80baca0
.ARM.exidx 0x8 0x80baca0
.itcm 0x170 0x0
.data 0xa5c 0x24000000
.bss 0x11c68 0x24000a60
.heap 0x0 0x240126c8
.dtcm 0x20c 0x20000000
.stack 0x4 0x2000020c
.ram1_d2 0x0 0x30000000
.ram2_d2 0x0 0x30020000
.ram3_d2 0x0 0x30040000
.ram4_d3 0x0 0x38000000
.batram 0x0 0x38800000
.extram 0x233f78 0xd0000000
.qspirom 0x0 0x90000000
.comment 0x76 0x0
.debug_aranges 0x4d48 0x0
.debug_info 0x186579 0x0
.debug_abbrev 0x1f290 0x0
.debug_line 0xba997 0x0
.debug_frame 0x16ca8 0x0
.debug_str 0x1c2fb 0x0
.debug_loc 0x1439d1 0x0
.ARM.attributes 0x32 0x0
.debug_ranges 0x1dc00 0x0
Total 0x6fab68
> Process Exit Code: 0
> Time Taken: 02:09
↓今回のarm-none-eabi-gcc (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.2.1 20201103 (release)
Copyright (C) 2020 Free Software Foundation, Inc.
Built Object Informations:
=== Total Binary Size ===
text data bss dec hex filename
0 770912 0 770912 bc360 main.hex
=== Verbose ELF Size ===
text data bss dec hex filename
768260 2652 2383336 3154248 302148 main.elf
main.elf :
section size addr
.text 0xbb780 0x8000000
.ctors 0x0 0x80bb780
.dtors 0x0 0x80bb780
.ARM.exidx 0x8 0x80bb780
.itcm 0x17c 0x0
.data 0xa5c 0x24000000
.bss 0x11c60 0x24000a60
.heap 0x0 0x240126c0
.dtcm 0x20c 0x20000000
.stack 0x4 0x2000020c
.ram1_d2 0x0 0x30000000
.ram2_d2 0x0 0x30020000
.ram3_d2 0x0 0x30040000
.ram4_d3 0x0 0x38000000
.batram 0x0 0x38800000
.extram 0x233f78 0xd0000000
.qspirom 0x0 0x90000000
.comment 0x4d 0x0
.debug_aranges 0x4d20 0x0
.debug_info 0x118dd1 0x0
.debug_abbrev 0x18cba 0x0
.debug_line 0xb91af 0x0
.debug_frame 0x13678 0x0
.debug_str 0x1bc3c 0x0
.debug_loc 0x14a497 0x0
.ARM.attributes 0x32 0x0
.debug_ranges 0x1cd68 0x0
Total 0x687fd4
> Process Exit Code: 0
> Time Taken: 02:07
う”…サイズ増えてる…
実はちょっと困ったことがあってGCC10.0に上がったせいでChaN氏のFatFsで
ワーニングが出ちゃっています。
↑2048行目でワーニングが出てしまっています。
これは配列のインデックスが0からさらにデクリメントされる
コードが実行されると推測されてときに発動されるようです。
/* itoa (hexdecimal) */
i = 7;
do {
c = (BYTE)((seq % 16) + '0');
if (c > '9') c += 7;
ns[i--] = c;
seq /= 16;
if(i==0) break; /* Nemui */
} while (seq);
ns[i] = '~';
↑インデックスが0の時の判定文追加してお茶を濁してます…
ChaNさんこれ見てたら効果的なワーニング対策お願いします!11!!!
あとこれは気にしないでいいらしいです…
それとSTM32F7discoveryにおいて最適化の問題に引っかかって正常に
LCDが表示されなくなる現象が発生してしまったのですがpragmaで最適化を
切って対処してます…もっといい方法があるかもしれませんが今はこれが
最適解…
●秋月でSTM32G0、STM32L0追加!!
なんと秋月さんよりSTM32L0と8pinのSTM32G0が追加されてます!!
実はすでに入手して動作確認も行ってますがここで話すには多すぎる
内容ですので次回以降にこうご期待!!!!
●安価なAVR128DA48評価ボードゲッツ!
AVRの正当進化系のAVR128シリーズ。
AVR128DA48の超格安の評価ボードを手に入れました!!
その名もAVR128DA48 Curiosity Nano!!!
しかも電圧変換機能を持ったmEDBGつき!!
もうAVRライタは作る時代から安価で買う時代に変遷してしまいましたね〜
ちなみにavrdudeはビルドインされたmEDBGとAVR128シリーズには対応して
なかったのですが神パッチによって自由自在にできるようになっております!!
こちらもSTM32G0と同じく来年みっっっっっっっっっちりと特集させてもらい
ますので期待してお待ちください!!
と言いたいところですが先行でAVR128DA48 Curiosity Nanoに対応した
avrdudeを公開しております!!!
興味がある方はどんどん使ってください!!!
…というわけで今年も駆け込みでばたばたしてしまいましたがたくさん
買い込んだマイコンやセンサ基板とかの評価も来年も進めていきたいと思います…
皆さまもよいお年を〜
>ねむいさん‥‥DropBoxの見えなくなった画像ノホウハ…
来年から本気出す!!!!!1!!
-
免責・連絡先は↑のリンクを
↓SNSもやってます↓
powered by まめわざ- ARM/STM32 (116)
- OpenOCD (27)
- ARM/NxP (34)
- ARM/Cypress (5)
- ARM/Others (3)
- ARM/Raspi (1)
- AVR (13)
- FPGA (4)
- GPS/GNSS (19)
- MISC (81)
- STM8 (2)
- Wirelessなアレ (16)
- おきぱ (1)
- ブラウザベンチマーク (28)
- 日本の自然歩道 (25)
- STM32U0はぢめました
⇒ ねむい (08/07) - STM32U0はぢめました
⇒ ひかわ (07/28) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ねむい (05/17) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ どじょりん (05/16) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ どじょりん (05/16) - いろいろ試す61(と今年の反省会)
⇒ ねむい (01/02) - いろいろ試す61(と今年の反省会)
⇒ ひかわ (01/02) - いろいろ試す61(と今年の反省会)
⇒ ひかわ (01/01) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ねむい (12/31) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ひかわ (12/31)
- October 2024 (1)
- September 2024 (1)
- August 2024 (1)
- July 2024 (1)
- June 2024 (1)
- May 2024 (1)
- April 2024 (1)
- March 2024 (1)
- February 2024 (2)
- January 2024 (1)
- December 2023 (4)
- November 2023 (2)
- October 2023 (2)
- September 2023 (1)
- August 2023 (2)
- July 2023 (1)
- June 2023 (2)
- May 2023 (3)
- April 2023 (1)
- March 2023 (1)
- February 2023 (1)
- January 2023 (1)
- December 2022 (2)
- November 2022 (1)
- October 2022 (1)
- September 2022 (1)
- August 2022 (1)
- July 2022 (1)
- June 2022 (1)
- May 2022 (1)
- April 2022 (1)
- March 2022 (1)
- February 2022 (1)
- January 2022 (1)
- December 2021 (2)
- November 2021 (2)
- October 2021 (1)
- September 2021 (1)
- August 2021 (1)
- July 2021 (1)
- June 2021 (1)
- May 2021 (1)
- April 2021 (1)
- March 2021 (1)
- February 2021 (1)
- January 2021 (1)
- December 2020 (3)
- November 2020 (1)
- October 2020 (1)
- September 2020 (1)
- August 2020 (1)
- July 2020 (1)
- June 2020 (2)
- May 2020 (1)
- April 2020 (1)
- March 2020 (1)
- February 2020 (1)
- January 2020 (1)
- December 2019 (3)
- November 2019 (1)
- October 2019 (1)
- September 2019 (2)
- August 2019 (1)
- July 2019 (1)
- June 2019 (1)
- May 2019 (1)
- April 2019 (1)
- March 2019 (1)
- February 2019 (1)
- January 2019 (1)
- December 2018 (3)
- November 2018 (2)
- October 2018 (1)
- September 2018 (1)
- August 2018 (1)
- July 2018 (1)
- June 2018 (1)
- May 2018 (1)
- April 2018 (2)
- March 2018 (1)
- February 2018 (1)
- January 2018 (1)
- December 2017 (2)
- November 2017 (2)
- October 2017 (1)
- September 2017 (1)
- August 2017 (1)
- July 2017 (1)
- June 2017 (1)
- May 2017 (1)
- April 2017 (1)
- March 2017 (2)
- February 2017 (2)
- January 2017 (2)
- December 2016 (7)
- November 2016 (2)
- October 2016 (2)
- September 2016 (1)
- August 2016 (1)
- July 2016 (1)
- June 2016 (1)
- May 2016 (2)
- April 2016 (1)
- March 2016 (2)
- February 2016 (1)
- January 2016 (1)
- December 2015 (3)
- November 2015 (1)
- October 2015 (3)
- September 2015 (2)
- August 2015 (2)
- July 2015 (3)
- June 2015 (3)
- May 2015 (4)
- April 2015 (2)
- March 2015 (4)
- February 2015 (1)
- January 2015 (3)
- December 2014 (3)
- November 2014 (2)
- October 2014 (1)
- September 2014 (2)
- August 2014 (2)
- July 2014 (3)
- June 2014 (2)
- May 2014 (1)
- April 2014 (1)
- March 2014 (4)
- February 2014 (4)
- January 2014 (3)
- December 2013 (5)
- November 2013 (4)
- October 2013 (3)
- September 2013 (2)
- August 2013 (2)
- July 2013 (2)
- June 2013 (3)
- May 2013 (2)
- April 2013 (2)
- March 2013 (2)
- February 2013 (2)
- January 2013 (3)
- December 2012 (4)
- November 2012 (2)
- October 2012 (2)
- September 2012 (4)
- August 2012 (1)
- July 2012 (3)
- June 2012 (2)
- May 2012 (3)
- April 2012 (3)
- March 2012 (2)
- February 2012 (3)
- January 2012 (3)
- December 2011 (5)
- November 2011 (3)
- October 2011 (2)
- September 2011 (2)
- August 2011 (2)
- July 2011 (2)
- June 2011 (2)
- May 2011 (2)
- April 2011 (2)
- March 2011 (2)
- February 2011 (2)
- January 2011 (3)
- December 2010 (7)
- November 2010 (1)
- October 2010 (1)
- September 2010 (1)
- August 2010 (3)
- July 2010 (4)
- May 2010 (1)
- April 2010 (2)
- March 2010 (2)
- February 2010 (2)
- January 2010 (3)
- December 2009 (3)
- November 2009 (8)
- October 2009 (7)
- September 2009 (5)
- August 2009 (4)
- July 2009 (6)
- June 2009 (6)
- May 2009 (14)
- January 1970 (1)
Copyright(C) B-Blog project All rights reserved.