Hi Everyone,
I just found recently about Platformio and I think it’s a great initiative. I have myself designed production grade STM32F429 board made for audio DSP purposes and I would like to create a board configuration for it.
Documentation is very brief on how to create custom board config and I’m trying to learn from github.
It would be great if someone experienced can help me in that process as some steps seem to be unclear.
My board has STM32F429ZGT6 MCU as you can figure out from subj. It requires external debugger like STlink.
Board itself has 256MB external RAM chip, I2S codecs and external connectors for I2C, SPI, UARTs, GPIOs and bunch of other stuff.
Right now I have created my myboard.json
inside ./platformio/boards
directory, installed ststm32
platform and I’m able to list it my board file trough pio boards
As a next step is I need is to refine the cofiguration within the json.
Im using these two files as references:
- disco_f429zi.json one is most closest from chip family
- black_f407ze.json and second uses external debugger.
from these files I cannot understand what should maximum_ram_size
and maximum_size
fields be in my case. The values in references do not match. According to datasheet STM32F429ZI discovery board should have 2MBytes Flash memory and 256 Kbytes RAM.
Can someone explain me how does this maps to
“maximum_ram_size”: 262144,
“maximum_size”: 2097152,
specified in disco_f429zi.json
Currently my json looks like this:
{
"build": {
"cpu": "cortex-m4",
"extra_flags": "-DSTM32F4 -DSTM32F429xx",
"f_cpu": "180000000L",
"mcu": "stm32f429zgt6",
"product_line": "STM32F429xx"
},
"debug": {
"default_tools": ["stlink"],
"jlink_device": "STM32F429ZG",
"openocd_target": "stm32f4x",
"svd_path": "STM32F429x.svd"
},
"frameworks": ["stm32cube", "cmsis", "freertos"],
"platforms": ["ststm32"],
"name": "BDSP",
"upload": {
"maximum_ram_size": 262144,
"maximum_size": 2097152,
"protocol": "stlink",
"protocols": ["jlink", "cmsis-dap", "stlink", "blackmagic", "mbed"]
},
}
If someone can review other fields as well and tell me if It seems to be correct - I’d really appretiate. Im completely new to the platform so hoping alot on community help to bypass wasting time on errors in configuration