Go Down

Topic: STM32F103C8T6 blue pill bootloader (Read 12614 times) previous topic - next topic

mandor

Hello.
I can't seem to program the board with arduino IDE over microUSB.

I have this board here


As far as I am aware, this should be the bluepill board.
I downloaded STMFlashLoader Demo and connected FTDI GND, 3.3, PA9, PA10, basically following this guide http://wiki.stm32duino.com/index.php?title=Burning_the_bootloader
I moved the jumper 0 from 0 to 1.
I burned *PC13.bin from this link

It seemed like it was flashed ok.

I disconnected FTDI and connected MicroUSB.

Tools -> Board info:
BN: Maple Mini
VID: 1EAF
PID: 0004
SN: Upload any sketch to obtain it


I set in the arduino IDE:
Code: [Select]
PORT -> COM12 (Maple Mini)
Programmer -> AVRISP mkll
Bootloader version -> Original (17k RAM, 108k FLASH)



Code: [Select]
maple_loader v0.1
Resetting to bootloader via DTR pulse
Searching for DFU device [1EAF:0003]...
dfu-util - (C) 2007-2008 by OpenMoko Inc.
Couldn't find the DFU device: [1EAF:0003]
This program is Free Software and has ABSOLUTELY NO WARRANTY


There is an audible device disconnect from windows
THE green LED flashes fast, then slow, then turns off

It says Done uploading but the LED is not flashing.
I am using same sketch as before when i uploaded it over FTDI without the bootloader and it was flashing then. ( ichanged the delays so i know it was not just the original test).

I have tried putting 2k resistor between pins 3.3 and A12 because the board has R10 103 value.

Not sure about any of this. Please advise.

This is the sketch:

Code: [Select]
#define LED PC13

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

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

6v6gt

#1
Feb 03, 2018, 12:59 pm Last Edit: Feb 03, 2018, 01:25 pm by 6v6gt
I did this just recently and found this a useful supplement to the official instructions.

After burning the bootloader, you changed the jumper position Boot0 back to 0 ?
And the LED has pc13 written beside it just as in your illustration ?

Although I used the board manager to load the package, I had manually do the operation

Code: [Select]
drivers/win/install_drivers.bat (Windows 7 or newer).

described here: http://wiki.stm32duino.com/index.php?title=Windows_driver_installation which I found in . . .\Arduino_STM32-master\Arduino_STM32-master\drivers\win


I see this when I upload the blink sketch:

Code: [Select]
maple_loader v0.1
Resetting to bootloader via DTR pulse
Searching for DFU device [1EAF:0003]...
Found it!

Opening USB Device 0x1eaf:0x0003...
Found Runtime: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=2, name="STM32duino bootloader v1.0  Upload to Flash 0x8002000"
Setting Configuration 1...
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x0400
bytes_per_hash=260
Starting download: [##################################################] finished!
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Done!
error resetting after download: usb_reset: could not reset device, win error: The system cannot find the file specified.


Resetting USB to switch back to runtime mode


mandor

I did indeed set the jumper back to 0 and it does say PC13 on the board.
I repeat that this exact sketch was working without the bootloader present and programmed off of PA9-PA10

Go Up