2016-09-06 02:36 AM
Hi,
I want to read the battery status from a smart battery using SMBus. I found the Cube extension ''X-CUBE-SMBUS''. http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-expansion-software/x-cube-smbus.htmlIn Application Note 4502 says: ''This document describes the STM32 SMBus/PMBus firmware (X-CUBE-SMBUS) stack,which is based on specific STM32Cube™ HAL drivers available for STM32F0 andSTM32F3 families, i.e. the STM32 MCUs that contain I2C peripheral supportingSMBus/PMBus features�?.''I tried to port the software stack to STM32F7. I have commented out every macro in stm32_hal_legay.h and added the files ''stm32f3xx_hal_smbus.*'' and ''stm32_SMBUS_stack.*'' from the example project to my project (generated from STM32CubeMX). After adapting the includes everything compiles. But I get the following linker errors, although the functions are defined in ''stm32f3xx_hal_smbus.*'':Undefined symbol HAL_SMBUS_DeInit ...Undefined symbol HAL_SMBUS_DisableListenIT ......Can anyone help to fix this error? Or does anyone know how to use SMBUS on STM32F7?2016-09-06 03:31 AM
Hi smrtkai,
Unfortunately the SMBus/PMBus stack is not supported by STM32F7 HAL drivers.I will raise you request to our development team. Sorry for the inconvenience it may bring.-Syrine-2016-09-06 04:42 AM
Thank you.
But SMBus is basically I2C, so there should not be a problem to port the stack. I think it should work, if I solve this linker error.2016-09-06 05:59 AM
Hi smrtkai,
HAL_SMBUS_DeInitHAL_SMBUS_DisableListenIT...These functions are defined on the hal_smbus driver witch is not available on the STM32F7 HAL package.-Syrine-