STM32F103VET6 availabilty
-
- Posts: 27
- Joined: Mon Feb 10, 2020 2:50 pm
- Location: India
STM32F103VET6 availabilty
Hello,
At present Im working STM32f103vet6 on roger's core https://github.com/rogerclarkmelbourne/Arduino_STM32
now I want to use https://github.com/stm32duino/Arduino_Core_STM32 this core.
In this core I can not find VET6 controller. Is that controller core is developing
At present Im working STM32f103vet6 on roger's core https://github.com/rogerclarkmelbourne/Arduino_STM32
now I want to use https://github.com/stm32duino/Arduino_Core_STM32 this core.
In this core I can not find VET6 controller. Is that controller core is developing
Re: STM32F103VET6 availabilty
Hi, the ST core supports a lot of the ST MCU's but the individual variants may not be available, you can add one yourself using this guide.
I made a variant for this STM32F103VET6 MCU (I just updated the installation info that also I just noticed that I forgot to add )
So this variant should work for other boards based on the STM32F103VET6 MCU with an 8mhz external crystal.
I made a variant for this STM32F103VET6 MCU (I just updated the installation info that also I just noticed that I forgot to add )
So this variant should work for other boards based on the STM32F103VET6 MCU with an 8mhz external crystal.
Re: STM32F103VET6 availabilty
Thanks for posting the link to the VET6. I have a board with a STM32F103VCT6 that I never got around to creating a variant.
It looks like the main difference is that the VCT6 has 256K flash instead of 512, and 48K ram instead of 64. All the pin names seem to be the same at first glance. Hopefully all that is needed is to specify the correct flash and ram sizes in the linker script.
It looks like the main difference is that the VCT6 has 256K flash instead of 512, and 48K ram instead of 64. All the pin names seem to be the same at first glance. Hopefully all that is needed is to specify the correct flash and ram sizes in the linker script.
-
- Posts: 27
- Joined: Mon Feb 10, 2020 2:50 pm
- Location: India
Re: STM32F103VET6 availabilty
Thank you @.rpv
Re: STM32F103VET6 availabilty
Yes, I think you're right, even they share the same pinmaping file, you just have to change the boards.txt with the correct ram/flash sizes.fredbox wrote: ↑Fri Feb 28, 2020 4:16 am Thanks for posting the link to the VET6. I have a board with a STM32F103VCT6 that I never got around to creating a variant.
It looks like the main difference is that the VCT6 has 256K flash instead of 512, and 48K ram instead of 64. All the pin names seem to be the same at first glance. Hopefully all that is needed is to specify the correct flash and ram sizes in the linker script.
@sankarAMP2 you're welcome.
So this variant was made for boards using a 8mhz crystal, but if your boards have different crystal you just need to change the content of the SystemClock_Config() function on the variant.cpp file, you can generate the code using the stm32cubemx or the stm32cubeide software, on the how to add new variant guide says how to.
Re: STM32F103VET6 availabilty
Multiple LEDs are blinking and USB serial is saying 'hello world.'
It took about 15 minutes to get it working. Half of that was figuring out where to connect the wires from the ST-Link.
Flash and ram are reporting the correct values on upload.
It took about 15 minutes to get it working. Half of that was figuring out where to connect the wires from the ST-Link.
Flash and ram are reporting the correct values on upload.
-
- Posts: 27
- Joined: Mon Feb 10, 2020 2:50 pm
- Location: India
Re: STM32F103VET6 availabilty
hello @.rpv
blink ok, Serial ok but SPI not working.
i am trying to run graphics test code from adafruit its compiling but not able to get anything on display.
I kept like this.
as I am new to this core Want to know how to set SPI.
could you please explain me how to select SPI? multiple SPI slaves on single SPI
blink ok, Serial ok but SPI not working.
i am trying to run graphics test code from adafruit its compiling but not able to get anything on display.
I kept like this.
Code: Select all
#define TFT_MISO PB14
#define TFT_MOSI PB15
#define TFT_CLK PB13
#define TFT_CS PB12
#define TFT_DC PD9
#define TFT_RST PD8
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);
could you please explain me how to select SPI? multiple SPI slaves on single SPI
Re: STM32F103VET6 availabilty
according to adafruit's code, your constructor call will force library to use SOFTWARE spi implementationsankarAMP2 wrote: ↑Mon Mar 02, 2020 1:47 pm hello @.rpv
blink ok, Serial ok but SPI not working.
i am trying to run graphics test code from adafruit its compiling but not able to get anything on display.
I kept like this.as I am new to this core Want to know how to set SPI.Code: Select all
#define TFT_MISO PB14 #define TFT_MOSI PB15 #define TFT_CLK PB13 #define TFT_CS PB12 #define TFT_DC PD9 #define TFT_RST PD8 Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);
could you please explain me how to select SPI? multiple SPI slaves on single SPI
and if this kind of init doesn't work, you need to check your connections, pin defines erc, cuz it cant be issued by hardware spi defines
to use this library with HW SPI you need to call contructor with SPIClass instance (and define your own instance with proper pins set like SPIClass MySPI(MOSI, MISO, SCLK);) or use it with only cs/cd pins and prepare preconfigured SPI instance (with SPI.setMOSI(...)/setMISO(...) etc)
to select slave you need to set pin, connected to slave CS you need to communicate, LOW and others have to be HIGH
but most spi libraries will set LOW configured CS pin automatically, so you usually just need to set all CS pins HIGH at setup()
-
- Posts: 27
- Joined: Mon Feb 10, 2020 2:50 pm
- Location: India
Re: STM32F103VET6 availabilty
yeah its came by keeping
SPI.setMISO(PB14);
SPI.setMOSI(PB15);
SPI.setSCLK(PB13);
SPI.setSSEL(PB12);
in setup()
but printing is very slow when compare with my old core.
see graphics test code run resultswith this core
SPI.setMISO(PB14);
SPI.setMOSI(PB15);
SPI.setSCLK(PB13);
SPI.setSSEL(PB12);
in setup()
but printing is very slow when compare with my old core.
see graphics test code run resultswith this core
Code: Select all
Screen fill
10:33:02 [RX] - 4987978<CR><LF>
Text
10:33:04 [RX] - 271673<CR><LF>
10:33:07 [RX] - Lines
10:33:21 [RX] - 2495543<CR><LF>
Horiz/Vert Lines
10:33:23 [RX] - 413266<CR><LF>
Rectangles (outline)
10:33:25 [RX] - 262321<CR><LF>
Rectangles (filled)
10:33:37 [RX] - 10353227<CR><LF>
Circles (filled)
10:33:40 [RX] - 1209731<CR><LF>
Circles (outline)
10:33:41 [RX] - 1098647<CR><LF>
Triangles (outline)
10:33:43 [RX] - 568266<CR><LF>
Triangles (filled)
10:33:48 [RX] - 3386369<CR><LF>
Rounded rects (outline)
10:33:50 [RX] - 510888<CR><LF>
Rounded rects (filled)
10:34:02 [RX] - 10303390<CR><LF>
Done!<CR><LF>
Re: STM32F103VET6 availabilty
if you are still calling construcor for software spi, it's ok that it's slow
if not, use SPI.setClockDivider(2..256) to set faster bus clock (by default it close to 4MHz, but depends on your hardware), or, better, use SPISettings to configure your slaves with proper params for each
if not, use SPI.setClockDivider(2..256) to set faster bus clock (by default it close to 4MHz, but depends on your hardware), or, better, use SPISettings to configure your slaves with proper params for each