Page 6 of 8
Re: WeAct STM32F411CEU6 black pill
Posted: Mon Jan 04, 2021 10:29 am
by Jeizooo
rahmed wrote: ↑Sun Jan 03, 2021 7:20 pm
Jeizoo,
Thanks for the quick reply. You are right that I don't have the highlighted updates in stm32f4xx_hal_conf.h file. I need so guidance/help how to download the latest Branch using Git as tried to download the Zip file and update it manually but it gave me errors as I am assuming that there are object files in the overall package
Appreciate you support and Thanks in advance for the help.
Kind Regards
Rizwan
Delete the current board directory (ports/stm32/boards/WeAct_F411CE/), compilation directory (ports/stm32/build-WeAct_F411CE/)
In ports/stm32/boards directory:
Code: Select all
git clone https://github.com/jugnu-jethi/WeAct_F411CE-MicroPython.git WeAct_F411CE
Switch to branch:
Code: Select all
cd WeAct_F411CE
git checkout myFix_FirstTimeBuild
Then in ports/stm32:
to be sure nothing remains from previous compilation.
Then
Hope it helps!
Re: WeAct STM32F411CEU6 black pill
Posted: Mon Jan 04, 2021 10:32 am
by rahmed
stumin wrote: ↑Sun Jan 03, 2021 5:01 pm
If you're having problem compiling firmware for STM32F411CEU6 and getting these error:
"
boards/WEACT_F411CEU6/bdev.c:16:8: error: unknown type name 'mp_spiflash_cache_t'
STATIC mp_spiflash_cache_t spi_bdev_cache;
^~~~~~~~~~~~~~~~~~~
boards/WEACT_F411CEU6/bdev.c:23:6: error: 'const struct _mp_spiflash_config_t' has no member named 'cache'
.cache = &spi_bdev_cache,
^~~~~
boards/WEACT_F411CEU6/bdev.c:23:14: error: excess elements in struct initializer [-Werror]
.cache = &spi_bdev_cache
"
then try inserting:
#define MICROPY_HW_SPIFLASH_ENABLE_CACHE (1)
in boards/WEACT_F411CEU6/mpconfigboard.h
I have it after MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE
...
// 1 = use internal flash (512 KByte)
// 0 = use onboard SPI flash (4 MByte) Winbond W25Q32
#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (0)
#define MICROPY_HW_SPIFLASH_ENABLE_CACHE (1)
...
Hopefully it will work for you.
Hi stumin,
Thanks for the help, i was able to compile and was able to download to the board delivered today.
Thanks very much
Re: WeAct STM32F411CEU6 black pill
Posted: Mon Jan 04, 2021 10:41 am
by rahmed
rahmed wrote: ↑Sun Jan 03, 2021 7:20 pm
Jeizoo wrote: ↑Sun Jan 03, 2021 1:26 pm
rahmed wrote: ↑Sun Jan 03, 2021 11:23 am
I used your link and I am getting the following error
adc.h:50:29: error: 'LL_ADC_PATH_INTERNAL_VBAT' undeclared (first use in this function); did you mean 'HAL_ADC_ERROR_INTERNAL'?
adc_common->CCR &= ~LL_ADC_PATH_INTERNAL_VBAT;
^~~~~~~~~~~~~~~~~~~~~~~~~
HAL_ADC_ERROR_INTERNAL
adc.h:50:29: note: each undeclared identifier is reported only once for each function it appears in
make: *** [../../py/mkrules.mk:77: build-WeAct_F411CE/machine_adc.o] Error 1
make: *** Waiting for unfinished jobs....
Check that you pulled the
right branch of the git repo (myFix_FirstTimeBuild)
This error is fixed in the above branch with this in stm32f4xx_hal_conf.h
Code: Select all
#ifdef HAL_ADC_MODULE_ENABLED
#include "stm32f4xx_hal_adc.h"
THIS LINE ----> #include "stm32f4xx_ll_adc.h"
#endif /* HAL_ADC_MODULE_ENABLED */
Jeizoo,
Thanks for the quick reply. You are right that I don't have the highlighted updates in stm32f4xx_hal_conf.h file. I need so guidance/help how to download the latest Branch using Git as tried to download the Zip file and update it manually but it gave me errors as I am assuming that there are object files in the overall package
Appreciate you support and Thanks in advance for the help.
Kind Regards
Rizwan
Hi Jeizoo,
I manually change the file and was able to to compile and I now have a working firmware. Thanks for the support extended.
But I will still be interested in finding out how to download the latest Branch using Git. I tried searching but was not able find the right information.
Re: WeAct STM32F411CEU6 black pill
Posted: Mon Jan 04, 2021 11:08 am
by rahmed
Jeizooo wrote: ↑Mon Jan 04, 2021 10:29 am
rahmed wrote: ↑Sun Jan 03, 2021 7:20 pm
Jeizoo,
Thanks for the quick reply. You are right that I don't have the highlighted updates in stm32f4xx_hal_conf.h file. I need so guidance/help how to download the latest Branch using Git as tried to download the Zip file and update it manually but it gave me errors as I am assuming that there are object files in the overall package
Appreciate you support and Thanks in advance for the help.
Kind Regards
Rizwan
Delete the current board directory (ports/stm32/boards/WeAct_F411CE/), compilation directory (ports/stm32/build-WeAct_F411CE/)
In ports/stm32/boards directory:
Code: Select all
git clone https://github.com/jugnu-jethi/WeAct_F411CE-MicroPython.git WeAct_F411CE
Switch to branch:
Code: Select all
cd WeAct_F411CE
git checkout myFix_FirstTimeBuild
Then in ports/stm32:
to be sure nothing remains from previous compilation.
Then
Hope it helps!
Thanks once again, it worked liked a charm and thanks for the precise instruction.
Re: WeAct STM32F411CEU6 black pill
Posted: Mon Jan 04, 2021 3:22 pm
by Jeizooo
rahmed wrote: ↑Mon Jan 04, 2021 10:41 am
Hi Jeizoo,
I manually change the file and was able to to compile and I now have a working firmware. Thanks for the support extended.
But I will still be interested in finding out how to download the latest Branch using Git. I tried searching but was not able find the right information.
You don't download a branch, you switch your local git repo to a branch...
Re: WeAct STM32F411CEU6 black pill
Posted: Mon Jan 04, 2021 4:08 pm
by dhylands
Jeizooo wrote: ↑Mon Jan 04, 2021 10:29 am
Then in ports/stm32:
to be sure nothing remains from previous compilation.
Then
I just thought I'd point out that running
without specifying BOARD= will do a clean of the default board, which is PYBV10.
You really want to do:
Re: WeAct STM32F411CEU6 black pill
Posted: Mon Jan 04, 2021 6:30 pm
by rahmed
dhylands wrote: ↑Mon Jan 04, 2021 4:08 pm
Jeizooo wrote: ↑Mon Jan 04, 2021 10:29 am
Then in ports/stm32:
to be sure nothing remains from previous compilation.
Then
I just thought I'd point out that running
without specifying BOARD= will do a clean of the default board, which is PYBV10.
You really want to do:
Thanks Dave- I was wondering that why I got the message the following message for removing the directory for PYBV10
rm -rf build-PYBV10
Re: WeAct STM32F411CEU6 black pill
Posted: Tue Jan 05, 2021 5:30 pm
by Jeizooo
This issue may be useful (
https://github.com/mcauser/WEACT_F411CEU6/issues/9) concerning
mp_spiflash_cache_t error.
I got this error when using onboard flash.
Try
...
// 1 = use internal flash (512 KByte)
// 0 = use onboard SPI flash (4 MByte) Winbond W25Q32
#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (0)
#define MICROPY_HW_SPIFLASH_ENABLE_CACHE (1)
...
in boards/WEACT_F411CEU6/mpconfigboard.h
with "#define MICROPY_HW_SPIFLASH_ENABLE_CACHE (1)" I managed to compile without problem.
Compilation working for me...
Re: WeAct STM32F411CEU6 black pill
Posted: Mon Jan 11, 2021 12:50 pm
by CATSUPERBERG
Does STM32F411 port have "@micropython.asm_thumb" and can i use FPU?
Re: WeAct STM32F411CEU6 black pill
Posted: Wed Jan 13, 2021 4:01 am
by rcolistete
Yes, it is supported. Example :
Code: Select all
@micropython.asm_thumb
def toggleLED_asm_thumb():
movwt(r1, stm.GPIOC) # LED(1) is PC13
add(r1, stm.GPIO_BSRRL)
movw(r5, 1 << 13) # r5 has mask for BSRR register
# loop
label(loop)
strh(r5, [r1, 0]) # Turn the LED on
strh(r5, [r1, 2]) # Turn the LED off
bl(loop)
When running at default 96 MHz, it gives a frequency f = 16.0 MHz. While pure MicroPython gives f = 116 kHz.
And the STM32F411CEU6 is a 32 bit ARM Cortex-M4 @ 96 MHz (máx. 100 MHz), with single precision hardware floating point unit (FPU).