stm32移植到arduino上開發


 

 引腳圖

 

 

 

 

 

 

下載和燒寫Bootloder

 

首先我們要下載Bootloader,進入剛剛那個人的另一個開源項目,地址如下:
https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries

選擇你的STM32最小系統板的除電源指示燈外的另一個LED所對應的接口名字的文件下載(一定要選擇對應的),我的板子為PC13,所以下載這個:

 

 

 

 自己下載的地址

C:\Program Files (x86)\STMicroelectronics\Software\Flash Loader Demo

 

開始燒錄bootler

然后使用USB轉串口線連接開發板和電腦USB,其中串口線的TX RX分布連接開發板PA10 PA9,然后將BOOT0短接3.3V BOOT1短接GND進入燒寫狀態,串口線的VCC GND分布連接開發板的5V 即可無需另外供電。

 

燒錄固件接線

RX-PA9

TX-PA10

BOOT0-3.3v     程序使用的時候要回歸GND

BOOT1-GND

 

 

 

 

 

 

 

 

所需工具:flash_loader_demo_v2.8.0

ST官方下載地址:http://www.st.com/en/development-tools/flasher-stm32.html

下載有些費勁,不知道是網的問題還是電腦的問題,好不容易才下完,為避免麻煩,這里提供網盤下載:

https://pan.baidu.com/s/1SfAn2l6k6tWdIS_jWSzVsg

 

 

 

 

 選擇USB串口線的串口號,注意需要boot0 為1,boot1 為0(默認全是0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 選擇6kb燒錄

 

 

 

 注意這里的參數,后續燒錄影響

 

 

 

 

 

 

 

 

 在下列紅色框內添加下載的bin文件,next,即可完成下載(bootloder的燒寫)

 

 

 

 

 

 

 

 

 

 

 長時間紅色,back重新來一下,成功。

 

 

 注意參數

 

 

 

 

 燒寫代碼 

 

 

軟件下載
版本Arduino IDE1.8.7 https://www.arduino.cc/en/Main/Software

安裝過程一路next就可以,但需要知道安裝目錄,默認C盤,本人安裝在D盤。

 

 

 

安裝完之后,界面非常簡單。

 

 

 

 Arduino_STM32下載

 

然后去github上下載代碼

Arduino_STM32:https://github.com/rogerclarkmelbourne/Arduino_STM32

 

 

 

 下載壓縮文件並解壓,並重命名復制到你的Arduino IDE的安裝目錄里的hardware下,

 

 

 

 

 現在你就可以在工具-開發板里找到STM32系列的板子了

 

 

 

 

 

 下載安裝Arduino SAM開發板

接下來打開Arduino IDE然后選項欄工具-開發板-開發板管理器,下載安裝Arduino SAM開發板,不安裝這個開發板后編譯會出現arm-none-eabi-g++錯誤(這個應該是交叉編譯器);

下載編譯工具鏈

安裝SAMD Boards

 

 

 

燒寫程序

 

 

 

 

 

 

 

 

 

修改引腳pc13

 

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin PB1 as an output.
  pinMode(PC13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(PC13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(PC13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

  

 

成功后 ,講boot1-gnd  不然開機會進入燒寫模式。這個方法有一個小缺點,再次下載程序時需要重啟板,且boot1-gnd 。

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM