-
電気・電子
-
STM32スレ part6
-
UPLIFTで広告なしで体験しましょう!快適な閲覧ライフをお約束します!
ST Microelectronics 社のARM マイコン
2つの日本語ページ
☆ http://www.st.com/ja...microprocessors.html
☆ http://www.stmcu.jp
前スレ
STM32スレ part4
https://rio2016.5ch....gi/denki/1622644887/
STM32スレ part5
https://rio2016.5ch....gi/denki/1666480835/ - コメントを投稿する
-
・
-
レスありがとう。ポチってみることにする。
>Nucleo基板にST-LINKも付いているから、最初の練習はそこからはじめれば。
300円のライタで300円のデバイス使おうってところで3000円は高いっす。
f103あたりをアセンブラで動かして、周辺ペリフェラルはほとんど使わない、そんな想定。
開発ツールってゴテゴテ面倒なのかなぁ・・・まずプロジェクトを立ち上げて云々、とか。
ソースはテキストエディタで書いてバッチファイルでバイナリまで作って、ぐらいの単純なヤツがあるといいのになぁ。 -
最初から意地張るのはやめよう
取り敢えずSTM32CubeIDE使ってみて、
慣れたら、そっち方向に手を伸ばそう。 -
そういうことならAVRでいいような。
STM32のスケーラビリティを活かすなら、高級言語を使うのが前提になってくるし。 -
あと出しとか言われそうだけど・・・
レトロPC周辺工作なんかを考えていて、PICユーザなのでPIC24あたりを眺めていました。命令は使いやすそうだったけど、
でも5Vトレラントは多くないし、クロックもそこまで上がらないし、何かないかな、と。
多ピンの入手性、価格、かつてのハードウェアに匹敵する速度、5Vとの親和性等々考えてココに辿り付いた次第。 -
あと、「あのarm載せてる」という話題性もあるかな
-
ここでいうのもあれだけど5V系で使いたいなら5Vネイティブ対応品がある
Renesas RX/RAとかWCH CH32Vとかの方が良いんじゃね?
CH32Vは秋月でも扱い始めたし入手性はかなり良くなった。純正のデバッグアダプタも秋月で750円
Renesasの純正デバッガは1万円コースだがフラッシュの書き込みだけならUART経由で可能
アセンブラの書きやすさならRXだな -
電源が5Vなのと5Vトレラントを履き違えるな↑
-
5Vとの親和性で5Vトレラントが5Vネイティブに勝る理由ってなんだ?
-
もう5Vなんか積極的に選ぶ時代じゃ無いでしょ
おじいちゃん。
3.3Vですら何とか少なくならんかって時代たよ。 -
レトロPC周辺の工作と書いてあるのが読めないのかな
あとパワエレ系は今でも5Vが使われているよ
RenesasだけでなくNXPや東芝とかも5Vネイティブ対応品が用意されている
STM32をベースとしている中華勢も5Vネイティブ対応品は意外とあるな -
だいたいNuceloで手軽に実装しようって
話だったのにチップ単体を無理やりねじ込もうと
してくんの頭湧いてる。 -
Nuceloは高すぎると却下されているのに何を言っているんだ?
-
>>14さんは、どこを読んでそんな話だと思ったのですか?
足りない判断をしているくせに「頭湧いてる」って言って恥ずかしくないですか? -
高すぎると却下されたnucleoだけど、高いぶんくらいは楽が出来て取っ掛かりには向いていると思えるけどね。
-
>>17
そのことと、よく読まずに他人を罵るのは恥ずかしいということは別。 -
>>8
> 5Vネイティブ対応品があるRenesas RX/RAとか
ネイティブもいいけど、単体使用でないこともありそう。別のマイコンだったり新しめのメモリだったり。
3.3Vとの親和性もあった方が便利かと。さらにいえば、おそらく3.3V側の方が高速にやり取りしそうですよね。
ルネサスのRL78あたりだと、ネイティブなんだけど「異電位との接続」なんて魅惑の文言が並んでいたんで、騙されるところでした。
価格的には厳しいかな。秋月のRXとか見た限りでは。
> WCH CH32Vとか
risc-vいうやつですね。
ちょっと揺らいだけど、Ali見る限りではarmの方が価格も品数もこなれている印象なので、まだ旬には早いのかな、と。
ライタが安いのはいいですね。 -
アリエクのSTM32は偽物率がそれなりにあるけどそこは問題ないんか?
-
十何回は買ってるが全くの偽物はないよ。店選んでるし。
再生品に当たった事はあるが。 -
そういう不確かさを承知したうえでアリエクを利用する話なら良いと思うけどね
あとアセンブラで書くとなると命令パイプラインやメモリウェイトの面倒を自分で見る必要が出てくるけどそこは問題ないのかな
CISC系のRXよりRISC系のCortex-MやRV32などの方が影響は大きいし、バス動作の不確定性でサイクル単位での制御も難しい
なによりマニュアル類にその辺の動作の詳細は記載されていないことが多い
STM32ベースのマイコンは特にその傾向が強いし、単に速い8bitマイコンとして使えるかは怪しいと思う -
ぶっちゃけ触ったことないCPUなら評価ボードと統合環境ではじめるなぁ
だって要因切り分けもクソもないやん? -
3000円くらいケチらんでも・・・は判らなくもないけど、かつては基板を作ることからだったわけで
そのような開発スタイルを否定する気はない。廉価な評価ボードが用意されていない品種も相応にあるしね -
医師になるのは、めちゃくちゃ簡単だよ。
どんな医大でも家試験の合格率7割以上はあるし、自治医大以上ならほぼ100%。
弁護士の場合は難関ロースクールを卒業しても、家試験を通るのは10%程度。
医師国家試験の合格率ランキング見てみ。
一番低い杏林大学ですら、79.4%。
奈良県立大以上の偏差値の25校は95.0%超え。
これのどこが難関試験なの?
医学部に学費を支払える財力のハードルが高いだけで、医師にはバカでもなれる。
弁護士、司法書士、会計士、英検1級あたりは、バカには絶対に無理。
まとめると
医師国家試験→バカでも受かる。しかし、医学部6年間で1,000万以上かかる学費のハードルが高い。
司法試験→ロースクール卒業しても、合格できるのはごく一部。非常に難関な試験。
司法書士→ロースクールに行かなくても受験できるが、難易度は司法試験並み。
英検1級→英語がずば抜けて優秀でないと合格できない。英語の偏差値100必要。(実際にはそんな偏差値はないが)
会計士→おそらく、最難関試験か。会計大学院修了者の合格率は7.6%しかない。
不動産鑑定士→鑑定理論が地獄。単体の科目としては最難関の一つ。経済学などは公務員試験より簡単か -
前スレでstm32h573i-dkでMX_SDMC1_SD_Init()という初期化関数でエラーが発生していた方へ
ボードにmicroSDを刺して実行するとエラー発生しなくなりませんか? -
stのサイトのデータシート。pdfでダウンロードできんものか・・・
-
全部PDFでダウンロードできるが。
そもそも何の毎を言ってる? -
>>27
普通にできたがどうすると落とせないの? -
あ、できた。
DLしようとすると、ファイルの種類が*.htmなってて、そのまま進めると「ファイルが無い」的なエラーが出てた。
今日午前の状況。
なんか事情があって、webでしか見られない特殊な仕様にしてるのかと思ったよ。 -
たまたまメンテしてるタイミングだったとかじゃね?
-
STM32で
・スーパースカラCPUコア
・200〜300MHz以上
・デッドタイム付き相補PWM出力18ペア以上
・〜1個1300円くらいまで(RX72T FLASH 1MB/SRAM 128KB/LQFP144がチップワンストップでこの値段)
みたいなモータ制御専用的なシリーズってないの?他社だとルネサスのRX72T(姉妹シリーズのRX66Tでも可)みたいなやつ
https://www.st.com/c...ntrol-ecosystem.html
ここ見るとH723とかが紹介されているけどデジキーで検索したら144ピンのH723って1個13ドル(2000円以上)もするんだが・・・ -
>>32
そこはルネサスっしょ。STマイクロに期待しても… -
「なんでもワンチップに収めないと気が済まない病」のようですね。
FPGAを処方しておきます。 -
1個1300円のFPGAで何が出来るのか?
-
アリエクで送料込み329円で買ったST-Link V2 ちゃんと使えてよかった。
ファームのアップデート成功のあと、STM32G030C8T6単体に接続して
CubeIDEから書込み、デバッグOKだった。めでたしめでたし -
デバッグokなのは珍しいな
-
STM32G431 では以下のコードでPA4からSIN波出せましたが、
STM32F103ZET6ではピクリともしてくれません。
ChatGPTやBARD様に聞いてみましたがだめでした。
同じ苦労をされて乗り越えた先人の方いらっしゃいましたらヒントいただけると幸いです。 -
FPGAで彼女が出来ました
-
>>0038 コード上げ忘れました。
void setup() {
pinMode(PA4, OUTPUT);
analogWriteResolution(12);
}
float x = 0;
void loop() {
analogWrite(PA4, 2048 + 2047 * sin(x));
x = x + 0.1;
if (x > 6.28) {
x = 0;
}
} -
>>38
STM32F103でPA4だと、アナログピンでもタイマー出力ピンでもないからじゃね? -
>>41
144ピン High density 区分のZET6にはDACgあるようにDatasheetには書いてあるんですがね、、、勘違いかな
https://i.imgur.com/4Roqs79.jpg -
>>43
自己レス Vf+に3.3V印加でちゃんと出力されました -
DACピンだったのか!
よかった! -
stlink v2(と銘打ってるヤツ)とblue pill(っぽいやつ)のセットが届いたんだが、とりあえず手っ取り早く最低限の動作確認するには何すればいいんだろう・・・
-
>>46
pillに電源いれればled点滅すると思うけど -
>>46
Lチカじゃね? -
STM32CubeIDEで空のプロジェクトで
SWDだけ有効にしてデバッグして
main()の入り口で止まるか -
STM32CubeProgrammerでCPU見えればいいと思う
-
arduino/stm32duino 環境で STM32G431に以下のコードをSWDでuploadしたとき
WeActの評価ボード(Chipは G431CBU6)ではLチカしPA2からTXされますが、
CBT6を単品で使った場合Lチカせず、PA2からTXもされません。ハングしていると思います。
PA10,PA9やPB11,PB10 にすると問題なくLチカ、TXします。
PA2やPA3でLチカだけやると問題ないので、半田不良とかではありません。
WeActの回路図見ても、PA2,PA3に特別な対処はされていないように思います。
なぜですかね、、
HardwareSerial hwSerial(PA3,PA2);//RX,TX
void setup() {
pinMode(PA7, OUTPUT);
pinMode(PB2, OUTPUT);
digitalWrite(PB2,LOW);
hwSerial.begin(9600);
}
void loop() {
digitalWrite(PA7, HIGH);
delay(100);
digitalWrite(PA7, LOW);
delay(500);
hwSerial.println(millis());
} -
>>0053
自己レス
HardwareSerial Serial2(USART2);
宣言するとちゃんと動きました。でも
HardwareSerial Serial2(PA3,PA2);
はだめ。(WeActのボードはOK)
書き込み時のチップの指定は どっちもgeneric使っています。 -
STM32G030内蔵のフラッシュメモリをプログラムで読み書きしたいのですが
サンプルコードがなかなか見つかりません。
AIに聞いてもマニュアル読めというばかり。
どなたか親切に教えていただける方いらっしゃいませんか? -
>>56
マニュアルを読め
STM32内蔵のEEPROMを使用する方法
https://qiita.com/yo...15b10b3fcbe299d57269
STM32 マイクロコントローラ向けの EEPROM エミュレーション
https://www.st.com/r...microelectronics.pdf
STM32でFlashメモリに読み書きする方法
https://zeptoelecdesign.com/stm32flash/ -
>>57 恐れ入ります。 UM2319というのがHALの関数の説明なのですね。
しかし、下記のコードで HAL_FLASH_Program() がHAL_ERRORになります。
uint8_t buf[16];
void FlashWrite()
{
uint32_t i;
uint64_t data;
HAL_FLASH_Unlock();
// ↓をなくせば書き込めるが、当然に今度は0を1にできないエラー発生
FLASH_PageErase(FLASH_BANK_1, SAVEPAGE);
for (i = 0; i < sizeof(buf); i += sizeof(uint64_t))
{
data = *(uint64_t *)((uint32_t)buf + i);
hs = HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD,
FLASHSAVEADDR + i, data);
}
HAL_FLASH_Lock();
}
Eraseだけやっておいて、再起動してから書込みだけすれば好きに書き込めて
読み出しもできますが、これでは使えない。
Eraseの後に待ち時間を入れたりしてもだめで、何とも中途半端な状態。 -
FLASH_PageErase() をやめて、HAL_FLASHEx_Erase() に換えたら
動きました。
理由はよくわかりませんが! -
cortex-m3をアセンブラでいじろうと思っているんだが、お勧めの日本語書籍があったら簡単に理由も添えて教えてほしい。
いろいろレベルがあると思うんで、2〜3冊そろえようかとは思ってる。 -
そんなコアな事すんのになぜ本書く様な先人が居ると思ったの?
-
今は電子書籍も含めて、正規分布の端っこみたいな需要の本も流通するようになったしね。
どれぐらいありそうなものかと
cortex アセンブラ 本
で、ぐぐってみたら、いくつかはヒットする。内容が近い本もあるのでは。
持ってる人のおすすめを聞きたいって欲求はふつうだと思う。 -
自分がアセンブラ覚えたのはこれ
shop.cqpub.co.jp/hanbai/books/36/36491.html
名詞がカタカナ表記ではなく変な日本語訳にしている部分があるので
原書と併読をお勧めします -
>>60
具体的に何を知りたいの?
コンピュータの基礎を理解できていれば今どきのCPUの命令セットの差なんて大した問題じゃない(AMD64は例外)
RXを動かせるならリファレンスマニュアル(英語)片手にCortex-Mもそう苦労せずに動かせるはずだ
アセンブラが理解できないのであれば足りない知識はアセンブラじゃなくてコンピュータや処理系の知識だと思うのだが -
なにこれ
-
>>66
あなたの聞き方だとコンピュータアーキテクチャやC/C++やRust等の高級言語及びそれに関係する処理系の理解が無いように見えるよ
もしそうであるならアセンブラ≒機械語なんだからそこを埋めないと難しいんじゃないかな
いわゆる低レイヤーと呼ばれる分野だけどその辺を詳細に解説している日本語資料は非常に少ないし、よくまとまっているものは知らない -
>コンピュータアーキテクチャやC/C++やRust等の高級言語及びそれに関係する処理系の理解が無いように見えるよ
なぜそんな因縁つけみたいなことをするのか。「理解」は曖昧、見える理由も書いてない。
仮に理解が何なのかが明らかであり、理由が理路整然としたものであっても、アセンブリ言語に関心がある人に対して
「そこを埋めないと難しいんじゃないかな」と説く必要性があるのかと問いたい。 -
他所でやれ
-
このスレ何人いるんだろ
-
三人
-
俺とお前とダイゴロー
-
>>68
機械語とほぼ等価なんだからコンピュータアーキテクチャや処理系の理解があるならアセンブリ言語を使用するうえで何の障害もないだろ
逆に低レイヤーの理解なしにアセンブリ言語の文法だけ覚えたって役に立たないしこの部分は不可分でしょ -
確かにアセンブラの文法なんてほとんど覚えること無い、浅い世界だわね。
レジスタの意味とか、使える演算の種類は書くCPUのマニュアル見ればいいし
書籍の出る幕ないわね。 -
8ビットマシン時は周期表みたいなインストラクションセットがあれば事足りたんだよなぁ
-
>>73 が正しい
-
CPUをどう叩くか寄りもどのように周辺機器を制御(I/O経由の読み書き)出来るかが
理解を深めるには重要だとは思うけどね
データを読み取るにしてもやりとりのプロトコルを理解しなきゃだし
その処理にどれくらいの時間が掛かるのか(クロックタイムなど)と
いろいろな要素がてんこ盛りなのでいろいろと知識も深めることが出来ると思うよ
その昔、簡単に「ゲームを作りたい!」ってことで足を踏み入れるのが多かったけれど
「ゲーム」っていろいろなやりとりだとか手法とかその他てんこ盛りの集大成
っていうのをちゃんと説いている人が余りにも少なかったような -
メモリのデバイスにアドレス渡してデータ貰うところからだな
-
>>60,66を見る限りだと「本読んでArduinoがそれなりに使えるようになった!今度はアセンブラを使えるようになりたい!」みたいなノリに感じるんだよな
「まずは本を読んで文法と命令を覚える」みたいな雰囲気もある
STM32CubeIDEでそれなりの物を作っているならデバッガでアセンブラリストを眺めたりステップ実行する機会はあるはずだけどそのような経験があるようには見えない
あと海外製アーキテクチャの宿命として英語資料は避けて通れないと思う。どうしても日本語で勉強したいというなら他社だけどルネサスのRXをお勧めする
日本製アーキテクチャなので技術資料はすべて日本語だしアーキテクチャ的にもSTM32より素直。RXをそれなりに動かせるようになってからSTM32に手を出せば良い
RXに手を焼いているようでは英語を避けて通れないSTM32はもっと大変だと思う
コンピュータの勉強の本としてはテンプレだけど「コンピュータの構成と設計」をあげておく。第4版上(ブックオフの処分なら数百円)とかで良いと思う
マイコンのCPUアーキテクチャをパソコンにあてはめるとRXv3やCortex-M7とかでもMMX Pentiumあたりなので高価な最新版を買う意味はあまりない
最近はマイコンメーカーがマイコン入門的なeラーニング教材を公開しているのでそれを読んでみるのもありかと -
な~んか盛り上がってるけど、そもそもアセンブラは何を使うんだろう?
ARM、IAR、GNUとかあるが、armasmならWebにマニュアルがある。かつ、Google先生が即座に翻訳もしてくれる。
その前にarmasmはフリーか? -
480MHzCPUクロックのマイコンだっけ?
STM32マイコン、、、
もっと速いマイコンないの? -
STM32H7シリーズで物足りない人はSTM32MPシリーズをどうぞ
-
>>79「みたいなノリに感じるんだよな」「みたいな雰囲気もある」「経験があるようには見えない」←ただのいちゃもん
-
STM32ってどうやって勉強したの?
興味があるんだけどサッパリわからん -
>>66
原書はこれです
The Definitive Guide to the ARM Cortex-M3
Joseph Yiu著
あと英文ですけど
STマイクロのPM0056とARMのArmv7-M Architecture Reference Manualを使いました
今はCで書くのが普通だけど、たまにGCCが怪しいときアセンブラでデバッグします
STM32CubeIDE(Eclipse)でインストラクションのステップ実行がバグってて動かないこともありますけど・・・ -
>>84
手段が目的化してそう。作りたいものが決まっているならそうはならんだろ
>>85
もしフルアセンブラで開発しようと考えているのならさすがにやめておけと言わざるを得ない
Z80やPIC16の経験があるならこの記事を理解できるはずだから貼っておく
http://elm-chan.org/...nk/32bit/report.html
Cortex-Mの日本語簡易解説 -
STM32は32bitマイコンの中でもバスアクセスタイムのジッタが多い方(バスアビータがラウンドロビン固定)でBit-Bang実装は苦手とか
リファレンスマニュアルも詳細な動作説明は無かったりして、単なる速い8bit/16bitマイコンとしては使いづらいところがあるなど
アセンブラ以前に突っ込みどころが・・・そもそも英語嫌なのにわざわざ英語メインのSTM32選ぶのも謎 -
STM32CubeIDEってC++使えないの? ダメやん。 ArduinoはC++やで・・・ 知識披露 胸張り
-
>>91
えっ!? -
なぜそう思ったのか
-
つかえるよねー C++
-
高校生のとき学校で『はじめてのC』って本読んでたら生活指導の先生が飛んできて竹刀で頭殴られて没収されたなぁ
-
もういいよ、そういうベタなネタ
30年前でも古くて失笑もんだったのに、
なんで今さらやるのさ? -
>>96
ゆとりz世代 -
>>97
昭和一桁 -
昭和1桁というよりはアラ還世代の臭いを感じるが
もう組込み開発の現場でもお荷物なんだろうな
知識をアップデートできないから8ビットをアセンブラで書くことしかできなくて
STM32スレでは疎外感を感じているに違いない -
自分は、CじゃなくC++(Turbo C++)から始めたから、Cは未だに苦手。
コードサイズが増えるに従って、全体が分かりづらくなる。
他の人が作ったのだとカオス。
↑今すぐ読める無料コミック大量配信中!↑