Giga devices GD32F405

ChibiOS public support forum for topics related to the STMicroelectronics STM32 family of micro-controllers.

Moderators: RoccoMarco, barthess

Tabulous
Posts: 509
Joined: Fri May 03, 2013 12:02 pm
Has thanked: 7 times
Been thanked: 17 times

Giga devices GD32F405

Postby Tabulous » Thu Oct 07, 2021 10:28 am

Anyone tried using these devices, they look identical to STM32's ?

Just having a play with Giga devices GD32F405, but I2C seems to give "i2cMasterTransmitTimeout" panic.....

With the supply chain issues of STM32 thought it might be a good idea to have option(s) for people.

User avatar
Giovanni
Site Admin
Posts: 14455
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: Giga devices GD32F405

Postby Giovanni » Thu Oct 07, 2021 10:47 am

There is something on community, those devices are very unlikely to make it to the official repository.

Giovanni

Tabulous
Posts: 509
Joined: Fri May 03, 2013 12:02 pm
Has thanked: 7 times
Been thanked: 17 times

Re: Giga devices GD32F405

Postby Tabulous » Thu Oct 07, 2021 12:43 pm

Everything seems to working apart from I2C, it seems when the slave device ACKs the bus the Master(GD32) locks up with "i2cMasterTransmitTimeout" panic.

I2CD1 is used and is with DMA, this is the config

#define STM32_I2C_USE_I2C1 TRUE
#define STM32_I2C_USE_I2C2 FALSE
#define STM32_I2C_USE_I2C3 FALSE
#define STM32_I2C_BUSY_TIMEOUT 50
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)//STM32_DMA_STREAM_ID(1, 0)
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
#define STM32_I2C_I2C1_IRQ_PRIORITY 5
#define STM32_I2C_I2C2_IRQ_PRIORITY 5
#define STM32_I2C_I2C3_IRQ_PRIORITY 5
#define STM32_I2C_I2C1_DMA_PRIORITY 3
#define STM32_I2C_I2C2_DMA_PRIORITY 3
#define STM32_I2C_I2C3_DMA_PRIORITY 3
#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")


Can only assume this is some critical timing or race issue. I know I2C was always a bit of a pain before on STM32.
Have tried changing priority of I2C not to sure where the issue is.....


Return to “STM32 Support”

Who is online

Users browsing this forum: No registered users and 18 guests