gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.3' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
1b7c is the size of maple_mini_boot20.bin here..
Btw – why this switch while flashing the bootloader in: -g 0x0 ?
Crazy idea: when setting the start of execution at main flash start (the above g 0x0 switch), after flashing the bootloader in the main flash is erased as well – and here in the empty flash the execution starts then..
First run after flashing the bootloader – it jumps to empty main flash, runs through it (nops) and wraps around till it finds bootloader somewhere and starts the upload normally. After the first sketch upload – it jumps to the newly uploaded sketch start (uploaded into main flash), and will not find the bootloader..
When you get bootloader flashed in again, the main flash will be also erased again, and, while running over the entire empty flash, it finds the bootloader somehow.. This reminds me on similar issues I cope with many decades back
Weird idea, indeed..

Try using the commits menu in github to download an old version of the binary e.g. perhaps 6 months ago and see if that is any better
PS. It would be good to know what the problem is, because I have not been able to reproduce the problem, hence i can’t investigate and fix it.
The problem seems to be the mini maple bin file on the server is corrupt as the make file did not clean out object files from a different type of board.
I will recompile all binaries again today
is there any chance to change how the maple mini is introducing to the system? I mean the name which now is maple mini the vendor LeafLabs and I would like to change to some new name and new vendor. Can You tell me how to do this?
In the core and the bootloader were are also description strings you can change, but in Windows you only see those names if you go right into the device properties dialog and go down though the various data items in that dialog
You can also change the VID and PID identifiers in the core and bootloader as well, but if yiu do that, you will defiitely need to change the installer to match those new values
#include <Adafruit_GFX.h>
#include <gfxfont.h>
#include <SPI.h>
#include "Adafruit_ILI9341_8bit_STM.h"
Adafruit_ILI9341_8bit_STM tft = Adafruit_ILI9341_8bit_STM();
void setup() {
Serial.begin(115200);
SPI.begin();
SPI.setDataMode(SPI_MODE0); // CPHA = 0
SPI.setBitOrder(MSBFIRST);
tft.begin();
tft.setRotation(2);
tft.fillScreen(ILI9341_BLACK);
tft.setCursor(30 , 30);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(3);
tft.println("test");
tft.setTextSize(1);
tft.setCursor(55 , 20);
tft.println("test");
Serial.println("test");
}
void loop() {
// put your main code here, to run repeatedly:
}
If Serial USB stops working it is because your sketch has crashed or somehow corrupted the USB subsystem.
I see nothing in you code which would tell you it is still running at all.
Try putting some Blink code into loop and see if it continues to flash, I suspect it wont as the code in setup has probably crashed.
#include <Adafruit_GFX.h>
#include <gfxfont.h>
#include <SPI.h>
#include "Adafruit_ILI9341_8bit_STM.h"
Adafruit_ILI9341_8bit_STM tft = Adafruit_ILI9341_8bit_STM();
void setup() {
pinMode(PC13, OUTPUT);
Serial.begin(115200);
SPI.begin();
SPI.setDataMode(SPI_MODE0);
SPI.setBitOrder(MSBFIRST);
tft.begin();
tft.setRotation(2);
tft.fillScreen(ILI9341_BLACK);
tft.setCursor(30 , 30);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(3);
tft.println("test");
tft.setTextSize(1);
tft.setCursor(55 , 20);
tft.println("test");
}
void loop() {
digitalWrite(PC13, HIGH);
delay(1000);
digitalWrite(PC13, LOW);
delay(1000);
}
setDataTerminalReady(true)
I don’t think there is a serial problem.
According to your sketch, the main loop only toggles the LED, but nothing will be sent to serial.
What do you expect?
EDIT
In addition, you are trying to use the TFT 8 bit parallel lib over SPI? It will not work.
Why do You think so ? After calling tft function mentioned above Serial crashes but everything else is working fine (this is why I put blink example in the loop) so where your conclusion is from? Now when I connect maple mini to usb I have serial (via cdc) available and after calling tft it disappears. Same problem as here: http://www.stm32duino.com/viewtopic.php?p=17432#p17410 So I expect that when I start a serial in setup it will be available anytime in sketch. Loop with led was only a test to check if maple is still working. And no I’m not trying to use TFT 8 bit parallel lib over SPI. Only SD I’m using over SPI but this is off topic.
I see in the sketch the SPI initialization and I thought that it is for the display, but it makes sense that it is a preparation for SD access.
OK, so I would suggest you, just like in the other thread, to remove the latest tft functions one by one, from the last one up to setTextSize(1), and check which function causes the trouble. Because setTextSize(1) cannot be the root cause.
I have tried your code, and it works on my board, with small changes, detailed description in the other thread.