使用機材
あいてんどうで売っている ぞくに中華ST-LINK
STM8/STM32ライタ[STLINKV2]
x 3秒のウエートを消すと書き込めなくなる。
x 3秒いないにst-linkを接続する。
x場合によっては、ST-LINKから上手く書き込めなくなるので上級者用
1.STM32CubeProg...を起動する。
2.接続する。
3.OBをクリックする。
4.User Configurationを開く
5.nBooT_SELをUnchecked(チェックを外す)にする。
6.NRST_MODEを2にする。
7.Applyをクリックして書き込む。
8.STM32CubeProg...を終了する。
9.下記のプログラムをVSCでコンパイルする。
10.何らかの方法でSTM32G031J6M6にプログラムを書き込む。
11.6GPIO使える用になりました。
いろいろ
リセットは、起動時にハイ
bootオプションは、起動時にロー
ledの順電流でうまくセットするアイディア(当然ひからない)
遊び終わった後のチップイレースの方法
何か書き込もうとしても書き込み出来ないろ。 たいへんだ(カリオストロの城の銭形風)
3秒以内にST-LINKを抜き差して、コネクトボタンを押す。
))))どや((((せつぞくできたやろ 失敗じは、リトライ
STM32G031J6M6は、復活しました。おわり
事前にシリアル書き込み出来るようにしておく安全
STM32G031J6M6のUSARTシリアル通信書き込み
https://qiita.com/caa45040/items/7b01959867d5b5cc01d6
#include <Arduino.h>
#define led1 PA8
#define led2 PA12
#define led3 PA0
#define led4 PA14
#define led5 PA13
#define led6 PB7
#define DW digitalWrite
void setup() {
// !!! swdclk(PA8) or swdio(PA12) not erase 3seconds !!!
delay(3000);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
DW(led1,!(1));
DW(led2,!(1));
DW(led3,!(1));
DW(led4,(1));
DW(led5,(1));
DW(led6,(1));
delay(3000);
}
void loop() {
DW(led1,!(1));delay(1000);
DW(led1,!(0));//delay(1000);
DW(led2,!(1));delay(1000);
DW(led2,!(0));//delay(1000);
DW(led3,!(1));delay(1000);
DW(led3,!(0));//delay(1000);
DW(led4,(1));delay(1000);
DW(led4,(0));//delay(1000);
DW(led5,(1));delay(1000);
DW(led5,(0));//delay(1000);
DW(led6,(1));delay(1000);
DW(led6,(0));//delay(1000);
}