OpenOCD小ネタ8 -STM32-Nucleo(Nucleo F030R8)で楽しむベアメタルプログラミング-
♪
…おっと、すみません。今回はSTM32-Nucleoボードのお話でしたね〜
一か月ほど前購入したSTM32-NucleoのF0バージョンですが、これには新しいSTLink
であるSTLink/V2-1という間際らしい名前のデバッガアダプタが搭載されていることに言及
しました。これはmbedサポートを謳っていてD&Dによるフラッシュ書き込みはもちろん仮想
COM(VCP)や通常のデバッグも同時に可能です。
STLink/V2-1はCMSIS-DAPとしては機能しないものの現在のOpenOCDはCMSIS-DAPは
不利になるので従来のSTLinkとほとんど変わらず使えるほうがありがたいのです。
しかしながら新たに追加されたMSDとVCPのおかげでエンドポイントの定義が若干違うため、
OpenOCDにV2-1用のパッチを当てないと使用ができませんでした。以前も少し触れました
がこちらのサイトの情報を基にパッチをgerritに投げてマージされることを待ったのですが、
後出しじゃんけんされまくってボコボコSTLink/V2-1のパッチが投げられる事態となって
しまいました。
で、詳細は省きますが同じぱっちを投げた人同士で相談し、結局この人のコミットをベースに
私の思想を反映した形で落ち着きました。ついでにF0,F4,L1の各シリーズのNucleoボード
にも対応したcfgも作成されました。
というわけで20140324現在では既にNucleo(STLink/V2-1)に対応したデバッグアダプタ
もOpenOCDから利用可能となっております。STLink/V2-1では仮想COM機能もあり、F0の
NucleoボードではUARTのTx,Rxが直結されているので本当にmbed感覚で利用が可能です。
20140903追
Windows8.x系OSをお使いの方はこちらを必ずお読みください。
おきぱには既にNucleoF0版向けのGCCプロジェクトを公開しておりますがLチカに飽き足らず
勿論UARTの文字列送信も盛り込んでいますのでご参考までに。
ところでNucleoボードは拡張性を狙った各シリーズ共通のMorphoなるピン配置が外部に
出ております。Morphoとかニョガン思い出して非常に縁起の悪い名称ですが。
さらに現在のプロトタイプボードでは必須となったArduinoのシールド向けのポートも用意
されております。mbedではNucleo用のライブラリや作例などが充実し始めております。
ソフトウエアやハードウエアの技術に明るくない人でも先人が残した成果を余すことなく利用
でき、熟練度に関係なく楽しめる仕組みになっていてなかなか考えられていると感じます。
てわけでついでなので私ももうちょっと遊んでみました。これは知る人ぞ知るTFT-LCD
シールドです!今回はFONTXドライバとからめで文字列の表示をしてみます。
TFT-LCDシールドとNucleo上のLEDはSCLKにあたるポートがぶつかります(PA5/D13の所)。
ですがArduino系シールドを上から挿した時点で横から覗きこまない限りLEDは全く見え
なくなるので無視して先に進みます!(ハードウエアSPIの場合SCKは必ずぶつかる)
STM32F0/F3系のSPIはちょっと特殊で8~16bitまで自由に送受信するビット数が変えられ
ます。従来のF1/F2/F4系とは若干データレジスタの取り扱いが違い、FIFOの設定を正しく
行いビット数に合わせてDRレジスタのアクセス方法も変えないとデータの送受信が
できないのでご注意ください。
私はdisplay_if_basis.cの頭に8bitアクセス用のマクロを作って互換性を保ちました。
動かしてみたところです。さすがにフラッシュの容量が少ないのでひらがなとかの表示は
無理ですがこの規模ならANKで十分だと思います。
実は上記TFT-LCDシールドを動かすためのコードもおきぱにあるサンプルには導入して
おります。8bit-SPIで動く奴ならピン配置さえ合わせたらほとんどのTFT-LCDモジュール
も動作せしめることができるのでTFT-LCDシールドをお持ちでない方も少しmakefileの
設定を変更するだけで手持ちの手頃でSPIなTFT-LCDで動作可能だと思います。
忘れるところでした、今回の修正を反映したOpenOCDバイナリもすでに公開中です!
連絡・質問・免責は↑のリンクを
↓SNSもやってます↓
powered by まめわざ- ARM/STM32 (102)
- OpenOCD (27)
- ARM/NxP (34)
- ARM/Cypress (5)
- ARM/Others (3)
- ARM/Raspi (1)
- AVR (11)
- FPGA (4)
- GPS/GNSS (18)
- MISC (73)
- STM8 (1)
- Wirelessなアレ (16)
- ブラウザベンチマーク (28)
- 日本の自然歩道 (23)
- 中国自然歩道を往く -北伐!県境を越えて鳥取県に侵入せよ!-
⇒ ねむい (12/23) - 中国自然歩道を往く -北伐!県境を越えて鳥取県に侵入せよ!-
⇒ ひかわ (12/18) - 中国自然歩道を往く -北伐!県境を越えて鳥取県に侵入せよ!-
⇒ ひかわ (12/18) - いろいろ試す51
⇒ ねむい (06/26) - いろいろ試す51
⇒ ひかわ (06/10) - STM32G0使ってみる4 -1wireデバイスをいろいろ使ってみる-
⇒ ねむい (12/14) - STM32G0使ってみる4 -1wireデバイスをいろいろ使ってみる-
⇒ ひかわ (12/05) - 大緊急事案!!!1!Raspberry Pi Picoはぢめました!!1!!1
⇒ 竹本浩 (08/14) - 大緊急事案!!!1!Raspberry Pi Picoはぢめました!!1!!1
⇒ ねむい (08/12) - 大緊急事案!!!1!Raspberry Pi Picoはぢめました!!1!!1
⇒ 竹本浩 (08/08)
- 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 (7)
- May 2009 (14)
- January 1970 (1)
Copyright(C) B-Blog project All rights reserved.
Comments
Post a Comment