Compare commits

...

No commits in common. 'master' and 'develop' have entirely different histories.

  1. 4
      .settings/language.settings.xml
  2. 2
      BASE/Inc/BSP/bsp_MB_host.h
  3. 2
      BASE/Src/BSP/bsp_UART.c
  4. 15
      BASE/Src/BSP/bsp_client_setting.c
  5. 70
      BASE/Src/MSP/msp_485_android.c
  6. 16
      BASE/Src/MSP/msp_U7.c
  7. 890
      BHBF_NewFiveWheel3.0 - 副本.ioc
  8. 16
      BHBF_NewFiveWheel3.0.ioc
  9. 2
      Core/Inc/main.h
  10. 2
      Core/Protobuf/PSource/bsp_GV.pb.h
  11. 11
      Core/Protobuf/PSource/bsp_PV.pb.h
  12. 16
      Core/Protobuf/PSource/msp_U7.pb.h
  13. 1
      Core/Protobuf/Proto/bsp_PV.proto
  14. 4
      Core/Protobuf/Proto/msp_U7.proto
  15. 32
      Core/Src/FSM.c
  16. 4
      Core/Src/fdcan.c
  17. 323
      Core/Src/main.c

4
.settings/language.settings.xml

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-822475198191542168" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="531153007411395634" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-822475198191542168" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="531153007411395634" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

2
BASE/Inc/BSP/bsp_MB_host.h

@ -13,7 +13,7 @@
#include "bsp_include.h"
#include "bsp_UART.h"
#define OneLineWaitTime 80 //SendList 等待时间
#define OneLineWaitTime 100 //SendList 等待时间
#define SWAP_ENDIAN_16(x) (((x) >> 8) | ((x) << 8))

2
BASE/Src/BSP/bsp_UART.c

@ -301,7 +301,7 @@ void IntializeUARTHandler(struct UARTHandler *uartHandler,
uartHandler->dispacherController->pHead = NULL;
uartHandler->dispacherController->pTail = NULL;
uartHandler->dispacherController->Dispacher_Enable = 1;
uartHandler->dispacherController->Dispacher_Enable = 0;
uartHandler->dispacherController->DispacherCallTime = Dispacher_Time ; // call the function every 50 ms
uartHandler->dispacherController->Dispacher_Counter = 0;
uartHandler->dispacherController->DispacherNumber = 0;

15
BASE/Src/BSP/bsp_client_setting.c

@ -91,17 +91,10 @@ void decode_received_data_from_client(uint8_t *buffer, uint16_t length)
i_pv_stream = pb_istream_from_buffer(&buffer[4], length - 4);
pb_decode(&i_pv_stream, PV_struct_define_fields,
&_decoded_PV_temp);
// if (decoded_PV.TimeStamp <= _decoded_PV_temp.TimeStamp)
// {
// decoded_PV = _decoded_PV_temp;
// }
if (GV.PV.TimeStamp <= _decoded_PV_temp.TimeStamp)
{
GV.PV = _decoded_PV_temp;
}
if (decoded_PV.TimeStamp <= _decoded_PV_temp.TimeStamp)
{
decoded_PV = _decoded_PV_temp;
}
//将CV写入EEPROM
//CV_struct_define saved_cV = GF_BSP_EEPROM_Get_CV();

70
BASE/Src/MSP/msp_485_android.c

@ -18,8 +18,9 @@ int8_t android_slave_iv_start_holiding_register = 100;
int16_t android_slave_iv_holiding_register_num = 0; //这个数据要随时改变
//最多读取多少个字节
int16_t read_android_holidng_register_count = 19 + 1
+ PV_struct_define_size / 2; //16个subs通道 1个PV数据长度,
int16_t read_android_holidng_register_count = 18 + 1
+ PV_struct_define_size / 2; //16个subs通道 1个PV数据长度,
uint16_t Decoded_Android_HoldingReg_Value[100]; //用来对Android的Sbus /PV /IV 的操作
uint16_t send_pv_android_holdingReg_Value[100]; // /PV /IV 的操作
@ -33,15 +34,15 @@ void android_485_intialize(struct UARTHandler *Handler)
androidr_dispacherController->Dispacher_Enable = 1;
//不周期性发送
androidr_dispacherController->Add_Dispatcher_List(
androidr_dispacherController, android_485_loop);
androidr_dispacherController, android_485_loop);
HardWareErrorController->Add_PCOMHardWare(HardWareErrorController,
"Android_485", 0, ComError_Android_485);
"Android_485", 0, ComError_Android_485);
LOG("msp_485_android_intialize");
}
void android_485_intialize_with_slaveID(struct UARTHandler *Handler,
int slave_id)
int slave_id)
{
android_485_intialize(Handler);
android_slave_id = slave_id;
@ -51,26 +52,26 @@ void android_485_loop()
{
//读取安卓数据
MB_ReadHoldingReg(&android_handler->Tx_Buf, &android_handler->TxCount,
android_slave_id, 0, read_android_holidng_register_count);
android_slave_id, 0, read_android_holidng_register_count);
android_handler->AddSendList(android_handler, android_handler->Tx_Buf,
android_handler->TxCount, OneLineWaitTime, decode_android_485);
android_handler->TxCount, OneLineWaitTime, decode_android_485);
//设定安卓数据
pb_ostream_t IV_o_stream = pb_ostream_from_buffer(
&send_pv_android_holdingReg_Value[1],
sizeof(send_pv_android_holdingReg_Value) - 1);
&send_pv_android_holdingReg_Value[1],
sizeof(send_pv_android_holdingReg_Value) - 1);
pb_encode(&IV_o_stream, IV_struct_define_fields, &IV);
android_slave_iv_holiding_register_num = (IV_o_stream.bytes_written + 1) / 2
+ 1;
+ 1;
send_pv_android_holdingReg_Value[0] = SWAP_ENDIAN_16(
IV_o_stream.bytes_written);
IV_o_stream.bytes_written);
MB_WriteNumHoldingReg(&android_handler->Tx_Buf, &android_handler->TxCount,
android_slave_id, android_slave_iv_start_holiding_register,
android_slave_iv_holiding_register_num,
send_pv_android_holdingReg_Value);
android_slave_id, android_slave_iv_start_holiding_register,
android_slave_iv_holiding_register_num,
send_pv_android_holdingReg_Value);
android_handler->AddSendList(android_handler, android_handler->Tx_Buf,
android_handler->TxCount, OneLineWaitTime, NULL);
android_handler->TxCount, OneLineWaitTime, NULL);
}
int PMK32Index = 0;
@ -78,25 +79,24 @@ int32_t *p_mk32_pointer;
//读取 的寄存器
void decode_android_485(uint8_t *buffer, uint16_t length)
{
// uint8_t data1[length];
// memcpy(data1, buffer, length);
// if (length <= 5)
// {
// return;
// }
uint8_t data1[100];
memcpy(data1, buffer, length);
if (length <= 5)
{
return;
}
int decoded_result = MB_Decode_HoldingRegs(buffer, length,
read_android_holidng_register_count,
&Decoded_Android_HoldingReg_Value[0]);
read_android_holidng_register_count,
&Decoded_Android_HoldingReg_Value[0]);
if (decoded_result == 1)
{
p_mk32_pointer = (int32_t*) P_U7;
//Sbus 设定
for (int PMK32Index = 0; PMK32Index < 19; PMK32Index++)
for (int PMK32Index = 0; PMK32Index < 18; PMK32Index++)
{
//此处必须加类型转换
*p_mk32_pointer =
(int16_t) Decoded_Android_HoldingReg_Value[PMK32Index];
*p_mk32_pointer = (int16_t)Decoded_Android_HoldingReg_Value[PMK32Index];
p_mk32_pointer++;
}
@ -105,23 +105,19 @@ void decode_android_485(uint8_t *buffer, uint16_t length)
{ 0 };
i_pv_stream = pb_istream_from_buffer(
&Decoded_Android_HoldingReg_Value[20],
Decoded_Android_HoldingReg_Value[19]);
&Decoded_Android_HoldingReg_Value[19],
Decoded_Android_HoldingReg_Value[18]);
pb_decode(&i_pv_stream, PV_struct_define_fields, &_decoded_PV_temp);
// if (decoded_PV.TimeStamp <= _decoded_PV_temp.TimeStamp)
// {
// decoded_PV = _decoded_PV_temp;
// }
if (GV.PV.TimeStamp <= _decoded_PV_temp.TimeStamp)
if (decoded_PV.TimeStamp <= _decoded_PV_temp.TimeStamp)
{
GV.PV = _decoded_PV_temp;
decoded_PV = _decoded_PV_temp;
}
HardWareErrorController->Set_PCOMHardWare(HardWareErrorController,
"Android_485", 1);
"Android_485", 1);
} else
}
else
{
LOGFF(DL_ERROR, "Android_485 decoding failed");
}

16
BASE/Src/MSP/msp_U7.c

@ -98,8 +98,8 @@ void Sbus_Data_Count_U7(uint8_t *buf, int32_t *But_Value)
for (int i = 0; i < 20; i++) //16
{
//But_Value[i+1]= (int32_t)(((CH[i]-272)*0.625+1050-1500)*2.22222);
But_Value[i + 1] = (int32_t) ((CH[i] - 992) * 1.388889); // -8这个版本是应对原U7零位整体偏移成11的情况
// But_Value[i + 1] = (int32_t) ((CH[i] - 992 - 8) * 1.388889);
// But_Value[i + 1] = (int32_t) ((CH[i] - 992) * 1.388889); // -8这个版本是应对原U7零位整体偏移成11的情况
But_Value[i + 1] = (int32_t) ((CH[i] - 992 - 8) * 1.388889);
}
//遥控器地面站在线状态
@ -108,12 +108,12 @@ void Sbus_Data_Count_U7(uint8_t *buf, int32_t *But_Value)
else
But_Value[17] = 0;
// But_Value[0]++;
// //?? what use?
// if (But_Value[0] >= 500)
// {
// But_Value[0] = 0;
// }
But_Value[0]++;
//?? what use?
if (But_Value[0] >= 500)
{
But_Value[0] = 0;
}
}
void U7_Sbus_UART_Handler_intialize(struct UARTHandler *Handler)

890
BHBF_NewFiveWheel3.0 - 副本.ioc

@ -0,0 +1,890 @@
#MicroXplorer Configuration settings - do not modify
ADC2.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_5
ADC2.ContinuousConvMode=ENABLE
ADC2.DiscontinuousConvMode=DISABLE
ADC2.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,OffsetSignedSaturation-0\#ChannelRegularConversion,NbrOfConversionFlag,DiscontinuousConvMode,ContinuousConvMode
ADC2.NbrOfConversionFlag=1
ADC2.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC2.OffsetSignedSaturation-0\#ChannelRegularConversion=DISABLE
ADC2.Rank-0\#ChannelRegularConversion=1
ADC2.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
CORTEX_M7.AccessPermission-Cortex_Memory_Protection_Unit_Region0_Settings=MPU_REGION_FULL_ACCESS
CORTEX_M7.AccessPermission-Cortex_Memory_Protection_Unit_Region1_Settings=MPU_REGION_FULL_ACCESS
CORTEX_M7.AccessPermission-Cortex_Memory_Protection_Unit_Region2_Settings=MPU_REGION_FULL_ACCESS
CORTEX_M7.BaseAddress-Cortex_Memory_Protection_Unit_Region0_Settings=0x30040000
CORTEX_M7.BaseAddress-Cortex_Memory_Protection_Unit_Region1_Settings=0x30040000
CORTEX_M7.BaseAddress-Cortex_Memory_Protection_Unit_Region2_Settings=0x30030000
CORTEX_M7.CPU_DCache=Enabled
CORTEX_M7.CPU_ICache=Enabled
CORTEX_M7.Enable-Cortex_Memory_Protection_Unit_Region0_Settings=MPU_REGION_ENABLE
CORTEX_M7.Enable-Cortex_Memory_Protection_Unit_Region1_Settings=MPU_REGION_ENABLE
CORTEX_M7.Enable-Cortex_Memory_Protection_Unit_Region2_Settings=MPU_REGION_ENABLE
CORTEX_M7.IPParameters=MPU_Control,CPU_ICache,CPU_DCache,Enable-Cortex_Memory_Protection_Unit_Region2_Settings,Enable-Cortex_Memory_Protection_Unit_Region0_Settings,BaseAddress-Cortex_Memory_Protection_Unit_Region0_Settings,Size-Cortex_Memory_Protection_Unit_Region0_Settings,IsBufferable-Cortex_Memory_Protection_Unit_Region0_Settings,AccessPermission-Cortex_Memory_Protection_Unit_Region0_Settings,Enable-Cortex_Memory_Protection_Unit_Region1_Settings,BaseAddress-Cortex_Memory_Protection_Unit_Region1_Settings,Size-Cortex_Memory_Protection_Unit_Region1_Settings,AccessPermission-Cortex_Memory_Protection_Unit_Region1_Settings,IsCacheable-Cortex_Memory_Protection_Unit_Region1_Settings,IsShareable-Cortex_Memory_Protection_Unit_Region1_Settings,TypeExtField-Cortex_Memory_Protection_Unit_Region1_Settings,IsShareable-Cortex_Memory_Protection_Unit_Region0_Settings,SubRegionDisable-Cortex_Memory_Protection_Unit_Region0_Settings,IsBufferable-Cortex_Memory_Protection_Unit_Region1_Settings,TypeExtField-Cortex_Memory_Protection_Unit_Region0_Settings,BaseAddress-Cortex_Memory_Protection_Unit_Region2_Settings,Size-Cortex_Memory_Protection_Unit_Region2_Settings,TypeExtField-Cortex_Memory_Protection_Unit_Region2_Settings,AccessPermission-Cortex_Memory_Protection_Unit_Region2_Settings
CORTEX_M7.IsBufferable-Cortex_Memory_Protection_Unit_Region0_Settings=MPU_ACCESS_NOT_BUFFERABLE
CORTEX_M7.IsBufferable-Cortex_Memory_Protection_Unit_Region1_Settings=MPU_ACCESS_BUFFERABLE
CORTEX_M7.IsCacheable-Cortex_Memory_Protection_Unit_Region1_Settings=MPU_ACCESS_NOT_CACHEABLE
CORTEX_M7.IsShareable-Cortex_Memory_Protection_Unit_Region0_Settings=MPU_ACCESS_NOT_SHAREABLE
CORTEX_M7.IsShareable-Cortex_Memory_Protection_Unit_Region1_Settings=MPU_ACCESS_SHAREABLE
CORTEX_M7.MPU_Control=MPU_PRIVILEGED_DEFAULT
CORTEX_M7.Size-Cortex_Memory_Protection_Unit_Region0_Settings=MPU_REGION_SIZE_32KB
CORTEX_M7.Size-Cortex_Memory_Protection_Unit_Region1_Settings=MPU_REGION_SIZE_1KB
CORTEX_M7.Size-Cortex_Memory_Protection_Unit_Region2_Settings=MPU_REGION_SIZE_32KB
CORTEX_M7.SubRegionDisable-Cortex_Memory_Protection_Unit_Region0_Settings=0x0
CORTEX_M7.TypeExtField-Cortex_Memory_Protection_Unit_Region0_Settings=MPU_TEX_LEVEL1
CORTEX_M7.TypeExtField-Cortex_Memory_Protection_Unit_Region1_Settings=MPU_TEX_LEVEL0
CORTEX_M7.TypeExtField-Cortex_Memory_Protection_Unit_Region2_Settings=MPU_TEX_LEVEL1
Dma.Request0=UART4_TX
Dma.Request1=USART1_TX
Dma.Request2=UART5_TX
Dma.Request3=USART2_TX
Dma.Request4=USART3_TX
Dma.Request5=USART6_TX
Dma.Request6=UART7_TX
Dma.RequestsNb=7
Dma.UART4_TX.0.Direction=DMA_MEMORY_TO_PERIPH
Dma.UART4_TX.0.EventEnable=DISABLE
Dma.UART4_TX.0.FIFOMode=DMA_FIFOMODE_ENABLE
Dma.UART4_TX.0.FIFOThreshold=DMA_FIFO_THRESHOLD_FULL
Dma.UART4_TX.0.Instance=DMA1_Stream0
Dma.UART4_TX.0.MemBurst=DMA_MBURST_SINGLE
Dma.UART4_TX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART4_TX.0.MemInc=DMA_MINC_ENABLE
Dma.UART4_TX.0.Mode=DMA_NORMAL
Dma.UART4_TX.0.PeriphBurst=DMA_PBURST_SINGLE
Dma.UART4_TX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART4_TX.0.PeriphInc=DMA_PINC_DISABLE
Dma.UART4_TX.0.Polarity=HAL_DMAMUX_REQ_GEN_RISING
Dma.UART4_TX.0.Priority=DMA_PRIORITY_LOW
Dma.UART4_TX.0.RequestNumber=1
Dma.UART4_TX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,FIFOThreshold,MemBurst,PeriphBurst,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
Dma.UART4_TX.0.SignalID=NONE
Dma.UART4_TX.0.SyncEnable=DISABLE
Dma.UART4_TX.0.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
Dma.UART4_TX.0.SyncRequestNumber=1
Dma.UART4_TX.0.SyncSignalID=NONE
Dma.UART5_TX.2.Direction=DMA_MEMORY_TO_PERIPH
Dma.UART5_TX.2.EventEnable=DISABLE
Dma.UART5_TX.2.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART5_TX.2.Instance=DMA1_Stream3
Dma.UART5_TX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART5_TX.2.MemInc=DMA_MINC_ENABLE
Dma.UART5_TX.2.Mode=DMA_NORMAL
Dma.UART5_TX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART5_TX.2.PeriphInc=DMA_PINC_DISABLE
Dma.UART5_TX.2.Polarity=HAL_DMAMUX_REQ_GEN_RISING
Dma.UART5_TX.2.Priority=DMA_PRIORITY_LOW
Dma.UART5_TX.2.RequestNumber=1
Dma.UART5_TX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
Dma.UART5_TX.2.SignalID=NONE
Dma.UART5_TX.2.SyncEnable=DISABLE
Dma.UART5_TX.2.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
Dma.UART5_TX.2.SyncRequestNumber=1
Dma.UART5_TX.2.SyncSignalID=NONE
Dma.UART7_TX.6.Direction=DMA_MEMORY_TO_PERIPH
Dma.UART7_TX.6.EventEnable=DISABLE
Dma.UART7_TX.6.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART7_TX.6.Instance=DMA1_Stream1
Dma.UART7_TX.6.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART7_TX.6.MemInc=DMA_MINC_ENABLE
Dma.UART7_TX.6.Mode=DMA_NORMAL
Dma.UART7_TX.6.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART7_TX.6.PeriphInc=DMA_PINC_DISABLE
Dma.UART7_TX.6.Polarity=HAL_DMAMUX_REQ_GEN_RISING
Dma.UART7_TX.6.Priority=DMA_PRIORITY_LOW
Dma.UART7_TX.6.RequestNumber=1
Dma.UART7_TX.6.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
Dma.UART7_TX.6.SignalID=NONE
Dma.UART7_TX.6.SyncEnable=DISABLE
Dma.UART7_TX.6.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
Dma.UART7_TX.6.SyncRequestNumber=1
Dma.UART7_TX.6.SyncSignalID=NONE
Dma.USART1_TX.1.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART1_TX.1.EventEnable=DISABLE
Dma.USART1_TX.1.FIFOMode=DMA_FIFOMODE_ENABLE
Dma.USART1_TX.1.FIFOThreshold=DMA_FIFO_THRESHOLD_FULL
Dma.USART1_TX.1.Instance=DMA1_Stream2
Dma.USART1_TX.1.MemBurst=DMA_MBURST_SINGLE
Dma.USART1_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_TX.1.MemInc=DMA_MINC_ENABLE
Dma.USART1_TX.1.Mode=DMA_NORMAL
Dma.USART1_TX.1.PeriphBurst=DMA_PBURST_SINGLE
Dma.USART1_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_TX.1.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_TX.1.Polarity=HAL_DMAMUX_REQ_GEN_RISING
Dma.USART1_TX.1.Priority=DMA_PRIORITY_LOW
Dma.USART1_TX.1.RequestNumber=1
Dma.USART1_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,FIFOThreshold,MemBurst,PeriphBurst,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
Dma.USART1_TX.1.SignalID=NONE
Dma.USART1_TX.1.SyncEnable=DISABLE
Dma.USART1_TX.1.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
Dma.USART1_TX.1.SyncRequestNumber=1
Dma.USART1_TX.1.SyncSignalID=NONE
Dma.USART2_TX.3.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART2_TX.3.EventEnable=DISABLE
Dma.USART2_TX.3.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART2_TX.3.Instance=DMA1_Stream5
Dma.USART2_TX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART2_TX.3.MemInc=DMA_MINC_ENABLE
Dma.USART2_TX.3.Mode=DMA_NORMAL
Dma.USART2_TX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART2_TX.3.PeriphInc=DMA_PINC_DISABLE
Dma.USART2_TX.3.Polarity=HAL_DMAMUX_REQ_GEN_RISING
Dma.USART2_TX.3.Priority=DMA_PRIORITY_LOW
Dma.USART2_TX.3.RequestNumber=1
Dma.USART2_TX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
Dma.USART2_TX.3.SignalID=NONE
Dma.USART2_TX.3.SyncEnable=DISABLE
Dma.USART2_TX.3.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
Dma.USART2_TX.3.SyncRequestNumber=1
Dma.USART2_TX.3.SyncSignalID=NONE
Dma.USART3_TX.4.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART3_TX.4.EventEnable=DISABLE
Dma.USART3_TX.4.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART3_TX.4.Instance=DMA1_Stream6
Dma.USART3_TX.4.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART3_TX.4.MemInc=DMA_MINC_ENABLE
Dma.USART3_TX.4.Mode=DMA_NORMAL
Dma.USART3_TX.4.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART3_TX.4.PeriphInc=DMA_PINC_DISABLE
Dma.USART3_TX.4.Polarity=HAL_DMAMUX_REQ_GEN_RISING
Dma.USART3_TX.4.Priority=DMA_PRIORITY_LOW
Dma.USART3_TX.4.RequestNumber=1
Dma.USART3_TX.4.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
Dma.USART3_TX.4.SignalID=NONE
Dma.USART3_TX.4.SyncEnable=DISABLE
Dma.USART3_TX.4.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
Dma.USART3_TX.4.SyncRequestNumber=1
Dma.USART3_TX.4.SyncSignalID=NONE
Dma.USART6_TX.5.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART6_TX.5.EventEnable=DISABLE
Dma.USART6_TX.5.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART6_TX.5.Instance=DMA1_Stream7
Dma.USART6_TX.5.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART6_TX.5.MemInc=DMA_MINC_ENABLE
Dma.USART6_TX.5.Mode=DMA_NORMAL
Dma.USART6_TX.5.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART6_TX.5.PeriphInc=DMA_PINC_DISABLE
Dma.USART6_TX.5.Polarity=HAL_DMAMUX_REQ_GEN_RISING
Dma.USART6_TX.5.Priority=DMA_PRIORITY_LOW
Dma.USART6_TX.5.RequestNumber=1
Dma.USART6_TX.5.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
Dma.USART6_TX.5.SignalID=NONE
Dma.USART6_TX.5.SyncEnable=DISABLE
Dma.USART6_TX.5.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
Dma.USART6_TX.5.SyncRequestNumber=1
Dma.USART6_TX.5.SyncSignalID=NONE
ETH.IPParameters=MediaInterface,TxDescAddress,RxDescAddress,RxBuffAddress,RxBuffLen
ETH.MediaInterface=HAL_ETH_RMII_MODE
ETH.RxBuffAddress=0x30040400
ETH.RxBuffLen=1528
ETH.RxDescAddress=0x30040000
ETH.TxDescAddress=0x30040200
FDCAN1.CalculateBaudRateNominal=500000
FDCAN1.CalculateTimeBitNominal=2000
FDCAN1.CalculateTimeQuantumNominal=250.0
FDCAN1.IPParameters=NominalPrescaler,NominalTimeSeg1,RxFifo0ElmtsNbr,TxFifoQueueElmtsNbr,CalculateTimeQuantumNominal,CalculateTimeBitNominal,CalculateBaudRateNominal
FDCAN1.NominalPrescaler=10
FDCAN1.NominalTimeSeg1=5
FDCAN1.RxFifo0ElmtsNbr=32
FDCAN1.TxFifoQueueElmtsNbr=32
FDCAN2.CalculateBaudRateNominal=250000
FDCAN2.CalculateTimeBitNominal=4000
FDCAN2.CalculateTimeQuantumNominal=500.0
FDCAN2.IPParameters=NominalPrescaler,NominalTimeSeg1,RxFifo0ElmtsNbr,TxFifoQueueElmtsNbr,CalculateTimeQuantumNominal,CalculateTimeBitNominal,CalculateBaudRateNominal
FDCAN2.NominalPrescaler=20
FDCAN2.NominalTimeSeg1=5
FDCAN2.RxFifo0ElmtsNbr=32
FDCAN2.TxFifoQueueElmtsNbr=32
File.Version=6
GPIO.groupedBy=Group By Peripherals
I2C4.IPParameters=Timing
I2C4.Timing=0x10C0ECFF
KeepUserPlacement=false
LPUART1.BaudRate=57600
LPUART1.IPParameters=BaudRate,OverrunDisableParam
LPUART1.OverrunDisableParam=UART_ADVFEATURE_OVERRUN_DISABLE
LWIP.BSP.number=1
LWIP.GATEWAY_ADDRESS=192.168.001.001
LWIP.IPParameters=LWIP_NETIF_STATUS_CALLBACK,LWIP_DHCP,IP_ADDRESS,NETMASK_ADDRESS,GATEWAY_ADDRESS,MEM_SIZE,LWIP_RAM_HEAP_POINTER
LWIP.IP_ADDRESS=192.168.001.100
LWIP.LWIP_DHCP=0
LWIP.LWIP_NETIF_STATUS_CALLBACK=1
LWIP.LWIP_RAM_HEAP_POINTER=0x30044000
LWIP.MEM_SIZE=1600
LWIP.NETMASK_ADDRESS=255.255.255.000
LWIP.Version=v2.1.2_Cube
LWIP0.BSP.STBoard=false
LWIP0.BSP.api=BSP_COMPONENT_DRIVER
LWIP0.BSP.component=LAN8742
LWIP0.BSP.condition=
LWIP0.BSP.instance=LAN8742
LWIP0.BSP.ip=
LWIP0.BSP.mode=
LWIP0.BSP.name=Driver_PHY
LWIP0.BSP.semaphore=S_LAN8742
LWIP0.BSP.solution=LAN8742
Mcu.CPN=STM32H743VGT6
Mcu.Family=STM32H7
Mcu.IP0=ADC2
Mcu.IP1=CORTEX_M7
Mcu.IP10=NVIC
Mcu.IP11=QUADSPI
Mcu.IP12=RCC
Mcu.IP13=SYS
Mcu.IP14=TIM1
Mcu.IP15=TIM8
Mcu.IP16=UART4
Mcu.IP17=UART5
Mcu.IP18=UART7
Mcu.IP19=USART1
Mcu.IP2=DEBUG
Mcu.IP20=USART2
Mcu.IP21=USART3
Mcu.IP22=USART6
Mcu.IP3=DMA
Mcu.IP4=ETH
Mcu.IP5=FDCAN1
Mcu.IP6=FDCAN2
Mcu.IP7=I2C4
Mcu.IP8=LPUART1
Mcu.IP9=LWIP
Mcu.IPNb=23
Mcu.Name=STM32H743VGTx
Mcu.Package=LQFP100
Mcu.Pin0=PE2
Mcu.Pin1=PE3
Mcu.Pin10=PC2_C
Mcu.Pin11=PC3_C
Mcu.Pin12=PA0
Mcu.Pin13=PA1
Mcu.Pin14=PA2
Mcu.Pin15=PA3
Mcu.Pin16=PA4
Mcu.Pin17=PA5
Mcu.Pin18=PA6
Mcu.Pin19=PA7
Mcu.Pin2=PE4
Mcu.Pin20=PC4
Mcu.Pin21=PC5
Mcu.Pin22=PB1
Mcu.Pin23=PB2
Mcu.Pin24=PE7
Mcu.Pin25=PE8
Mcu.Pin26=PE9
Mcu.Pin27=PE10
Mcu.Pin28=PE11
Mcu.Pin29=PE12
Mcu.Pin3=PE5
Mcu.Pin30=PE13
Mcu.Pin31=PB11
Mcu.Pin32=PB12
Mcu.Pin33=PB13
Mcu.Pin34=PB14
Mcu.Pin35=PB15
Mcu.Pin36=PD8
Mcu.Pin37=PD9
Mcu.Pin38=PD10
Mcu.Pin39=PD11
Mcu.Pin4=PE6
Mcu.Pin40=PD12
Mcu.Pin41=PD13
Mcu.Pin42=PD14
Mcu.Pin43=PC6
Mcu.Pin44=PC7
Mcu.Pin45=PC8
Mcu.Pin46=PC9
Mcu.Pin47=PA8
Mcu.Pin48=PA9
Mcu.Pin49=PA10
Mcu.Pin5=PC13
Mcu.Pin50=PA11
Mcu.Pin51=PA12
Mcu.Pin52=PA13 (JTMS/SWDIO)
Mcu.Pin53=PA14 (JTCK/SWCLK)
Mcu.Pin54=PA15 (JTDI)
Mcu.Pin55=PC10
Mcu.Pin56=PC11
Mcu.Pin57=PC12
Mcu.Pin58=PD0
Mcu.Pin59=PD1
Mcu.Pin6=PH0-OSC_IN (PH0)
Mcu.Pin60=PD2
Mcu.Pin61=PD3
Mcu.Pin62=PD4
Mcu.Pin63=PD5
Mcu.Pin64=PD6
Mcu.Pin65=PB3 (JTDO/TRACESWO)
Mcu.Pin66=PB4 (NJTRST)
Mcu.Pin67=PB5
Mcu.Pin68=PB6
Mcu.Pin69=PB7
Mcu.Pin7=PH1-OSC_OUT (PH1)
Mcu.Pin70=PB8
Mcu.Pin71=PB9
Mcu.Pin72=PE0
Mcu.Pin73=PE1
Mcu.Pin74=VP_LWIP_VS_Enabled
Mcu.Pin75=VP_SYS_VS_Systick
Mcu.Pin76=VP_TIM1_VS_ClockSourceINT
Mcu.Pin77=VP_TIM8_VS_ClockSourceINT
Mcu.Pin8=PC0
Mcu.Pin9=PC1
Mcu.PinsNb=78
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32H743VGTx
MxCube.Version=6.6.1
MxDb.Version=DB.6.0.60
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.DMA1_Stream0_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.DMA1_Stream1_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.DMA1_Stream2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.DMA1_Stream3_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.DMA1_Stream5_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.DMA1_Stream6_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.DMA1_Stream7_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.ETH_IRQn=true\:6\:0\:true\:false\:true\:true\:true\:true
NVIC.ETH_WKUP_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.FDCAN1_IT0_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.FDCAN2_IT0_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.I2C4_ER_IRQn=true\:15\:0\:true\:false\:true\:true\:true\:true
NVIC.I2C4_EV_IRQn=true\:15\:0\:true\:false\:true\:true\:true\:true
NVIC.LPUART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:false
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
NVIC.TIM1_UP_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.TIM8_UP_TIM13_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.UART4_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.UART5_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.UART7_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.USART3_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.USART6_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
PA0.GPIOParameters=PinState,GPIO_Label,PinAttribute
PA0.GPIO_Label=OUT_2
PA0.Locked=true
PA0.PinAttribute=Free
PA0.PinState=GPIO_PIN_SET
PA0.Signal=GPIO_Output
PA1.GPIOParameters=GPIO_Speed,PinAttribute
PA1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA1.Mode=RMII
PA1.PinAttribute=Free
PA1.Signal=ETH_REF_CLK
PA10.Mode=Asynchronous
PA10.Signal=LPUART1_RX
PA11.GPIOParameters=GPIO_Speed,GPIO_PuPd,PinAttribute
PA11.GPIO_PuPd=GPIO_PULLUP
PA11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA11.Locked=true
PA11.Mode=Asynchronous
PA11.PinAttribute=Free
PA11.Signal=UART4_RX
PA12.GPIOParameters=PinAttribute
PA12.Locked=true
PA12.Mode=Asynchronous
PA12.PinAttribute=Free
PA12.Signal=UART4_TX
PA13\ (JTMS/SWDIO).GPIOParameters=PinAttribute
PA13\ (JTMS/SWDIO).Locked=true
PA13\ (JTMS/SWDIO).Mode=Serial_Wire
PA13\ (JTMS/SWDIO).PinAttribute=Free
PA13\ (JTMS/SWDIO).Signal=DEBUG_JTMS-SWDIO
PA14\ (JTCK/SWCLK).GPIOParameters=PinAttribute
PA14\ (JTCK/SWCLK).Mode=Serial_Wire
PA14\ (JTCK/SWCLK).PinAttribute=Free
PA14\ (JTCK/SWCLK).Signal=DEBUG_JTCK-SWCLK
PA15\ (JTDI).GPIOParameters=PinAttribute
PA15\ (JTDI).Locked=true
PA15\ (JTDI).Mode=Asynchronous
PA15\ (JTDI).PinAttribute=Free
PA15\ (JTDI).Signal=UART7_TX
PA2.GPIOParameters=GPIO_Speed,PinAttribute
PA2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA2.Mode=RMII
PA2.PinAttribute=Free
PA2.Signal=ETH_MDIO
PA3.GPIOParameters=PinState,GPIO_Label,PinAttribute
PA3.GPIO_Label=OUT_3
PA3.Locked=true
PA3.PinAttribute=Free
PA3.PinState=GPIO_PIN_SET
PA3.Signal=GPIO_Output
PA4.GPIOParameters=PinState,GPIO_Label,PinAttribute
PA4.GPIO_Label=OUT_4
PA4.Locked=true
PA4.PinAttribute=Free
PA4.PinState=GPIO_PIN_SET
PA4.Signal=GPIO_Output
PA5.GPIOParameters=PinState,GPIO_Label,PinAttribute
PA5.GPIO_Label=OUT_5
PA5.Locked=true
PA5.PinAttribute=Free
PA5.PinState=GPIO_PIN_SET
PA5.Signal=GPIO_Output
PA6.GPIOParameters=GPIO_Label,PinAttribute
PA6.GPIO_Label=ETH_RST
PA6.Locked=true
PA6.PinAttribute=Free
PA6.Signal=GPIO_Output
PA7.GPIOParameters=GPIO_Speed,PinAttribute
PA7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA7.Mode=RMII
PA7.PinAttribute=Free
PA7.Signal=ETH_CRS_DV
PA8.GPIOParameters=GPIO_Speed,GPIO_PuPd,PinAttribute
PA8.GPIO_PuPd=GPIO_PULLUP
PA8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA8.Locked=true
PA8.Mode=Asynchronous
PA8.PinAttribute=Free
PA8.Signal=UART7_RX
PA9.Mode=Asynchronous
PA9.Signal=LPUART1_TX
PB1.Locked=true
PB1.Signal=ADCx_INP5
PB11.GPIOParameters=GPIO_Speed,PinAttribute
PB11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB11.Mode=RMII
PB11.PinAttribute=Free
PB11.Signal=ETH_TX_EN
PB12.GPIOParameters=GPIO_Speed,PinAttribute
PB12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB12.Mode=RMII
PB12.PinAttribute=Free
PB12.Signal=ETH_TXD0
PB13.GPIOParameters=GPIO_Speed,PinAttribute
PB13.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB13.Mode=RMII
PB13.PinAttribute=Free
PB13.Signal=ETH_TXD1
PB14.GPIOParameters=PinAttribute
PB14.Locked=true
PB14.Mode=Asynchronous
PB14.PinAttribute=Free
PB14.Signal=USART1_TX
PB15.GPIOParameters=GPIO_Speed,GPIO_PuPd,PinAttribute
PB15.GPIO_PuPd=GPIO_PULLUP
PB15.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB15.Mode=Asynchronous
PB15.PinAttribute=Free
PB15.Signal=USART1_RX
PB2.GPIOParameters=GPIO_Speed,PinAttribute
PB2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB2.Mode=Single Bank 2
PB2.PinAttribute=Free
PB2.Signal=QUADSPI_CLK
PB3\ (JTDO/TRACESWO).GPIOParameters=GPIO_Label
PB3\ (JTDO/TRACESWO).GPIO_Label=S0_NET
PB3\ (JTDO/TRACESWO).Locked=true
PB3\ (JTDO/TRACESWO).Signal=GPIO_Input
PB4\ (NJTRST).GPIOParameters=GPIO_Label
PB4\ (NJTRST).GPIO_Label=S0_LINKA
PB4\ (NJTRST).Locked=true
PB4\ (NJTRST).Signal=GPIO_Input
PB5.Locked=true
PB5.Mode=FDCAN_Activate
PB5.Signal=FDCAN2_RX
PB6.Locked=true
PB6.Mode=FDCAN_Activate
PB6.Signal=FDCAN2_TX
PB7.GPIOParameters=GPIO_Label
PB7.GPIO_Label=E22_M1
PB7.Locked=true
PB7.Signal=GPIO_Output
PB8.Locked=true
PB8.Mode=FDCAN_Activate
PB8.Signal=FDCAN1_RX
PB9.Locked=true
PB9.Mode=FDCAN_Activate
PB9.Signal=FDCAN1_TX
PC0.GPIOParameters=GPIO_Label
PC0.GPIO_Label=S0_RESET
PC0.Locked=true
PC0.Signal=GPIO_Output
PC1.GPIOParameters=GPIO_Speed
PC1.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PC1.Mode=RMII
PC1.Signal=ETH_MDC
PC10.GPIOParameters=GPIO_Label,PinAttribute
PC10.GPIO_Label=E22_RST
PC10.Locked=true
PC10.PinAttribute=Free
PC10.Signal=GPIO_Output
PC11.GPIOParameters=GPIO_Speed
PC11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PC11.Mode=Single Bank 2
PC11.Signal=QUADSPI_BK2_NCS
PC12.Locked=true
PC12.Mode=Asynchronous
PC12.Signal=UART5_TX
PC13.GPIOParameters=GPIO_Label
PC13.GPIO_Label=IN_5
PC13.Locked=true
PC13.Signal=GPIO_Input
PC2_C.GPIOParameters=PinState,GPIO_Label,PinAttribute
PC2_C.GPIO_Label=OUT_0
PC2_C.Locked=true
PC2_C.PinAttribute=Free
PC2_C.PinState=GPIO_PIN_SET
PC2_C.Signal=GPIO_Output
PC3_C.GPIOParameters=PinState,GPIO_Label,PinAttribute
PC3_C.GPIO_Label=OUT_1
PC3_C.Locked=true
PC3_C.PinAttribute=Free
PC3_C.PinState=GPIO_PIN_SET
PC3_C.Signal=GPIO_Output
PC4.GPIOParameters=GPIO_Speed,PinAttribute
PC4.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PC4.Mode=RMII
PC4.PinAttribute=Free
PC4.Signal=ETH_RXD0
PC5.GPIOParameters=GPIO_Speed,PinAttribute
PC5.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PC5.Mode=RMII
PC5.PinAttribute=Free
PC5.Signal=ETH_RXD1
PC6.GPIOParameters=PinAttribute
PC6.Mode=Asynchronous
PC6.PinAttribute=Free
PC6.Signal=USART6_TX
PC7.GPIOParameters=GPIO_Speed,GPIO_PuPd,PinAttribute
PC7.GPIO_PuPd=GPIO_PULLUP
PC7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PC7.Mode=Asynchronous
PC7.PinAttribute=Free
PC7.Signal=USART6_RX
PC8.GPIOParameters=GPIO_Label,PinAttribute
PC8.GPIO_Label=RS485_3_DIR
PC8.Locked=true
PC8.PinAttribute=Free
PC8.Signal=GPIO_Output
PC9.GPIOParameters=GPIO_Label,PinAttribute
PC9.GPIO_Label=RS485_4_DIR
PC9.Locked=true
PC9.PinAttribute=Free
PC9.Signal=GPIO_Output
PD0.GPIOParameters=GPIO_Label
PD0.GPIO_Label=E28_M0
PD0.Locked=true
PD0.Signal=GPIO_Output
PD1.GPIOParameters=GPIO_Label
PD1.GPIO_Label=E28_M1
PD1.Locked=true
PD1.Signal=GPIO_Output
PD10.GPIOParameters=GPIO_Label,PinAttribute
PD10.GPIO_Label=RS485_1_DIR
PD10.Locked=true
PD10.PinAttribute=Free
PD10.Signal=GPIO_Output
PD11.GPIOParameters=GPIO_Label,PinAttribute
PD11.GPIO_Label=RS485_2_DIR
PD11.Locked=true
PD11.PinAttribute=Free
PD11.Signal=GPIO_Output
PD12.GPIOParameters=PinAttribute
PD12.Mode=I2C
PD12.PinAttribute=Free
PD12.Signal=I2C4_SCL
PD13.GPIOParameters=PinAttribute
PD13.Mode=I2C
PD13.PinAttribute=Free
PD13.Signal=I2C4_SDA
PD14.GPIOParameters=PinAttribute
PD14.Locked=true
PD14.PinAttribute=Free
PD14.Signal=GPXTI14
PD2.GPIOParameters=GPIO_Speed,GPIO_PuPd
PD2.GPIO_PuPd=GPIO_PULLUP
PD2.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PD2.Locked=true
PD2.Mode=Asynchronous
PD2.Signal=UART5_RX
PD3.GPIOParameters=GPIO_Label
PD3.GPIO_Label=E28_M2
PD3.Locked=true
PD3.Signal=GPIO_Output
PD4.GPIOParameters=GPIO_Label
PD4.GPIO_Label=E28_AUX
PD4.Locked=true
PD4.Signal=GPXTI4
PD5.Locked=true
PD5.Mode=Asynchronous
PD5.Signal=USART2_TX
PD6.GPIOParameters=GPIO_Speed,GPIO_PuPd
PD6.GPIO_PuPd=GPIO_PULLUP
PD6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PD6.Locked=true
PD6.Mode=Asynchronous
PD6.Signal=USART2_RX
PD8.GPIOParameters=PinAttribute
PD8.Locked=true
PD8.Mode=Asynchronous
PD8.PinAttribute=Free
PD8.Signal=USART3_TX
PD9.GPIOParameters=GPIO_Speed,GPIO_PuPd,PinAttribute
PD9.GPIO_PuPd=GPIO_PULLUP
PD9.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PD9.Mode=Asynchronous
PD9.PinAttribute=Free
PD9.Signal=USART3_RX
PE0.GPIOParameters=GPIO_Label
PE0.GPIO_Label=E22_M0
PE0.Locked=true
PE0.Signal=GPIO_Output
PE1.GPIOParameters=GPIO_Label
PE1.GPIO_Label=E22_AUX
PE1.Locked=true
PE1.Signal=GPXTI1
PE10.GPIOParameters=GPIO_Speed,PinAttribute
PE10.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PE10.Mode=Single Bank 2
PE10.PinAttribute=Free
PE10.Signal=QUADSPI_BK2_IO3
PE11.GPIOParameters=GPIO_Label,PinAttribute
PE11.GPIO_Label=EEPROM_WP
PE11.Locked=true
PE11.PinAttribute=Free
PE11.Signal=GPIO_Output
PE12.GPIOParameters=GPIO_Label,PinAttribute
PE12.GPIO_Label=EEPROM_SCL
PE12.Locked=true
PE12.PinAttribute=Free
PE12.Signal=GPIO_Output
PE13.GPIOParameters=GPIO_Label,PinAttribute
PE13.GPIO_Label=EEPROM_SDA
PE13.Locked=true
PE13.PinAttribute=Free
PE13.Signal=GPIO_Input
PE2.GPIOParameters=GPIO_Label
PE2.GPIO_Label=IN_0
PE2.Locked=true
PE2.Signal=GPIO_Input
PE3.GPIOParameters=GPIO_Label
PE3.GPIO_Label=IN_1
PE3.Locked=true
PE3.Signal=GPIO_Input
PE4.GPIOParameters=GPIO_Label
PE4.GPIO_Label=IN_2
PE4.Locked=true
PE4.Signal=GPIO_Input
PE5.GPIOParameters=GPIO_Label
PE5.GPIO_Label=IN_3
PE5.Locked=true
PE5.Signal=GPIO_Input
PE6.GPIOParameters=GPIO_Label
PE6.GPIO_Label=IN_4
PE6.Locked=true
PE6.Signal=GPIO_Input
PE7.GPIOParameters=GPIO_Speed,PinAttribute
PE7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PE7.Mode=Single Bank 2
PE7.PinAttribute=Free
PE7.Signal=QUADSPI_BK2_IO0
PE8.GPIOParameters=GPIO_Speed,PinAttribute
PE8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PE8.Mode=Single Bank 2
PE8.PinAttribute=Free
PE8.Signal=QUADSPI_BK2_IO1
PE9.GPIOParameters=GPIO_Speed,PinAttribute
PE9.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PE9.Mode=Single Bank 2
PE9.PinAttribute=Free
PE9.Signal=QUADSPI_BK2_IO2
PH0-OSC_IN\ (PH0).Mode=HSE-External-Oscillator
PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN
PH1-OSC_OUT\ (PH1).Mode=HSE-External-Oscillator
PH1-OSC_OUT\ (PH1).Signal=RCC_OSC_OUT
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
ProjectManager.CompilerOptimize=6
ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=true
ProjectManager.CustomerFirmwarePackage=
ProjectManager.DefaultFWLocation=true
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32H743VGTx
ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.11.2
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x400
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LibraryCopy=1
ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=false
ProjectManager.PreviousToolchain=STM32CubeIDE
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=BHBF_NewFiveWheel3.0.ioc
ProjectManager.ProjectName=BHBF_NewFiveWheel3.0
ProjectManager.RegisterCallBack=
ProjectManager.StackSize=0x1000
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_FDCAN1_Init-FDCAN1-false-HAL-true,5-MX_FDCAN2_Init-FDCAN2-false-HAL-true,6-MX_I2C4_Init-I2C4-false-HAL-true,7-MX_TIM1_Init-TIM1-false-HAL-true,8-MX_UART4_Init-UART4-false-HAL-true,9-MX_UART5_Init-UART5-false-HAL-true,10-MX_UART7_Init-UART7-false-HAL-true,11-MX_USART1_UART_Init-USART1-false-HAL-true,12-MX_USART3_UART_Init-USART3-false-HAL-true,13-MX_USART2_UART_Init-USART2-false-HAL-true,14-MX_USART6_UART_Init-USART6-false-HAL-true,15-MX_TIM8_Init-TIM8-false-HAL-true,16-MX_LWIP_Init-LWIP-false-HAL-false,17-MX_QUADSPI_Init-QUADSPI-false-HAL-true,18-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,19-MX_ADC2_Init-ADC2-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
QUADSPI.ChipSelectHighTime=QSPI_CS_HIGH_TIME_2_CYCLE
QUADSPI.ClockMode=QSPI_CLOCK_MODE_3
QUADSPI.ClockPrescaler=4-1
QUADSPI.FifoThreshold=32
QUADSPI.FlashSize=23+1
QUADSPI.IPParameters=ClockPrescaler,FifoThreshold,SampleShifting,FlashSize,ChipSelectHighTime,ClockMode
QUADSPI.SampleShifting=QSPI_SAMPLE_SHIFTING_HALFCYCLE
RCC.ADCFreq_Value=72000000
RCC.AHB12Freq_Value=200000000
RCC.AHB4Freq_Value=200000000
RCC.APB1Freq_Value=100000000
RCC.APB2Freq_Value=100000000
RCC.APB3Freq_Value=100000000
RCC.APB4Freq_Value=100000000
RCC.AXIClockFreq_Value=200000000
RCC.CECFreq_Value=32000
RCC.CKPERFreq_Value=64000000
RCC.CortexFreq_Value=400000000
RCC.CpuClockFreq_Value=400000000
RCC.D1CPREFreq_Value=400000000
RCC.D1PPRE=RCC_APB3_DIV2
RCC.D2PPRE1=RCC_APB1_DIV2
RCC.D2PPRE2=RCC_APB2_DIV2
RCC.D3PPRE=RCC_APB4_DIV2
RCC.DFSDMACLkFreq_Value=40000000
RCC.DFSDMFreq_Value=100000000
RCC.DIVM1=2
RCC.DIVM2=25
RCC.DIVN1=64
RCC.DIVN2=288
RCC.DIVP1Freq_Value=400000000
RCC.DIVP2=4
RCC.DIVP2Freq_Value=72000000
RCC.DIVP3Freq_Value=50390625
RCC.DIVQ1=20
RCC.DIVQ1Freq_Value=40000000
RCC.DIVQ2=1
RCC.DIVQ2Freq_Value=288000000
RCC.DIVQ3Freq_Value=50390625
RCC.DIVR1=4
RCC.DIVR1Freq_Value=200000000
RCC.DIVR2Freq_Value=144000000
RCC.DIVR3Freq_Value=50390625
RCC.EnbaleCSS=true
RCC.FDCANFreq_Value=40000000
RCC.FMCFreq_Value=200000000
RCC.FamilyName=M
RCC.HCLK3ClockFreq_Value=200000000
RCC.HCLKFreq_Value=200000000
RCC.HPRE=RCC_HCLK_DIV2
RCC.HRTIMFreq_Value=200000000
RCC.I2C123Freq_Value=100000000
RCC.I2C4Freq_Value=100000000
RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVN1,DIVN2,DIVP1Freq_Value,DIVP2,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3Freq_Value,DIVR1,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,EnbaleCSS,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HRTIMFreq_Value,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL1_VCI_Range-AdvancedSettings,PLL2FRACN,PLL2_VCI_Range-AdvancedSettings,PLL3_VCI_Range-AdvancedSettings,PLLFRACN,PLLSourceVirtual,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI23Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
RCC.LPTIM1Freq_Value=100000000
RCC.LPTIM2Freq_Value=100000000
RCC.LPTIM345Freq_Value=100000000
RCC.LPUART1Freq_Value=100000000
RCC.LTDCFreq_Value=50390625
RCC.MCO1PinFreq_Value=64000000
RCC.MCO2PinFreq_Value=400000000
RCC.PLL1_VCI_Range-AdvancedSettings=RCC_PLL1VCIRANGE_3
RCC.PLL2FRACN=0
RCC.PLL2_VCI_Range-AdvancedSettings=RCC_PLL2VCIRANGE_0
RCC.PLL3_VCI_Range-AdvancedSettings=RCC_PLL3VCIRANGE_3
RCC.PLLFRACN=0
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
RCC.QSPIFreq_Value=200000000
RCC.RNGFreq_Value=48000000
RCC.RTCFreq_Value=32000
RCC.SAI1Freq_Value=40000000
RCC.SAI23Freq_Value=40000000
RCC.SAI4AFreq_Value=40000000
RCC.SAI4BFreq_Value=40000000
RCC.SDMMCFreq_Value=40000000
RCC.SPDIFRXFreq_Value=40000000
RCC.SPI123Freq_Value=40000000
RCC.SPI45Freq_Value=100000000
RCC.SPI6Freq_Value=100000000
RCC.SWPMI1Freq_Value=100000000
RCC.SYSCLKFreq_VALUE=400000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
RCC.Tim1OutputFreq_Value=200000000
RCC.Tim2OutputFreq_Value=200000000
RCC.TraceFreq_Value=200000000
RCC.USART16Freq_Value=100000000
RCC.USART234578Freq_Value=100000000
RCC.USBFreq_Value=40000000
RCC.VCO1OutputFreq_Value=800000000
RCC.VCO2OutputFreq_Value=288000000
RCC.VCO3OutputFreq_Value=100781250
RCC.VCOInput1Freq_Value=12500000
RCC.VCOInput2Freq_Value=1000000
RCC.VCOInput3Freq_Value=781250
SH.ADCx_INP5.0=ADC2_INP5,IN5-Single-Ended
SH.ADCx_INP5.ConfNb=1
SH.GPXTI1.0=GPIO_EXTI1
SH.GPXTI1.ConfNb=1
SH.GPXTI14.0=GPIO_EXTI14
SH.GPXTI14.ConfNb=1
SH.GPXTI4.0=GPIO_EXTI4
SH.GPXTI4.ConfNb=1
TIM1.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM1.IPParameters=Prescaler,Period,AutoReloadPreload
TIM1.Period=10000-1
TIM1.Prescaler=2000-1
TIM8.IPParameters=Prescaler,Period
TIM8.Period=200-1
TIM8.Prescaler=2000-1
UART4.BaudRate=57600
UART4.IPParameters=OverrunDisableParam,BaudRate
UART4.OverrunDisableParam=UART_ADVFEATURE_OVERRUN_ENABLE
UART5.BaudRate=100000
UART5.DMADisableonRxErrorParam=UART_ADVFEATURE_DMA_DISABLEONRXERROR
UART5.IPParameters=BaudRate,WordLength,Parity,OverrunDisableParam,DMADisableonRxErrorParam
UART5.OverrunDisableParam=UART_ADVFEATURE_OVERRUN_DISABLE
UART5.Parity=PARITY_EVEN
UART5.WordLength=WORDLENGTH_9B
UART7.BaudRate=38400
UART7.DMADisableonRxErrorParam=UART_ADVFEATURE_DMA_DISABLEONRXERROR
UART7.IPParameters=OverrunDisableParam,BaudRate,DMADisableonRxErrorParam
UART7.OverrunDisableParam=UART_ADVFEATURE_OVERRUN_DISABLE
USART1.BaudRate=115200
USART1.DMADisableonRxErrorParam=ADVFEATURE_DMA_DISABLEONRXERROR
USART1.IPParameters=VirtualMode-Asynchronous,OverrunDisableParam,DMADisableonRxErrorParam,BaudRate
USART1.OverrunDisableParam=ADVFEATURE_OVERRUN_DISABLE
USART1.VirtualMode-Asynchronous=VM_ASYNC
USART2.BaudRate=57600
USART2.DMADisableonRxErrorParam=ADVFEATURE_DMA_DISABLEONRXERROR
USART2.IPParameters=VirtualMode-Asynchronous,OverrunDisableParam,DMADisableonRxErrorParam,BaudRate
USART2.OverrunDisableParam=ADVFEATURE_OVERRUN_DISABLE
USART2.VirtualMode-Asynchronous=VM_ASYNC
USART3.BaudRate=9600
USART3.DMADisableonRxErrorParam=ADVFEATURE_DMA_DISABLEONRXERROR
USART3.FIFOMode=FIFOMODE_ENABLE
USART3.IPParameters=VirtualMode-Asynchronous,DMADisableonRxErrorParam,OverrunDisableParam,FIFOMode,BaudRate
USART3.OverrunDisableParam=ADVFEATURE_OVERRUN_DISABLE
USART3.VirtualMode-Asynchronous=VM_ASYNC
USART6.BaudRate=115200
USART6.DMADisableonRxErrorParam=ADVFEATURE_DMA_ENABLEONRXERROR
USART6.FIFOMode=FIFOMODE_ENABLE
USART6.IPParameters=VirtualMode,OverrunDisableParam,FIFOMode,DMADisableonRxErrorParam,BaudRate,SwapParam
USART6.OverrunDisableParam=ADVFEATURE_OVERRUN_DISABLE
USART6.SwapParam=ADVFEATURE_SWAP_DISABLE
USART6.VirtualMode=VM_ASYNC
VP_LWIP_VS_Enabled.Mode=Enabled
VP_LWIP_VS_Enabled.Signal=LWIP_VS_Enabled
VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TIM1_VS_ClockSourceINT.Mode=Internal
VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT
VP_TIM8_VS_ClockSourceINT.Mode=Internal
VP_TIM8_VS_ClockSourceINT.Signal=TIM8_VS_ClockSourceINT
board=custom
isbadioc=false

16
BHBF_NewFiveWheel3.0.ioc

@ -179,19 +179,19 @@ ETH.RxBuffAddress=0x30040400
ETH.RxBuffLen=1528
ETH.RxDescAddress=0x30040000
ETH.TxDescAddress=0x30040200
FDCAN1.CalculateBaudRateNominal=500000
FDCAN1.CalculateTimeBitNominal=2000
FDCAN1.CalculateTimeQuantumNominal=250.0
FDCAN1.CalculateBaudRateNominal=250000
FDCAN1.CalculateTimeBitNominal=4000
FDCAN1.CalculateTimeQuantumNominal=500.0
FDCAN1.IPParameters=NominalPrescaler,NominalTimeSeg1,RxFifo0ElmtsNbr,TxFifoQueueElmtsNbr,CalculateTimeQuantumNominal,CalculateTimeBitNominal,CalculateBaudRateNominal
FDCAN1.NominalPrescaler=10
FDCAN1.NominalPrescaler=20
FDCAN1.NominalTimeSeg1=5
FDCAN1.RxFifo0ElmtsNbr=32
FDCAN1.TxFifoQueueElmtsNbr=32
FDCAN2.CalculateBaudRateNominal=500000
FDCAN2.CalculateTimeBitNominal=2000
FDCAN2.CalculateTimeQuantumNominal=250.0
FDCAN2.CalculateBaudRateNominal=250000
FDCAN2.CalculateTimeBitNominal=4000
FDCAN2.CalculateTimeQuantumNominal=500.0
FDCAN2.IPParameters=NominalPrescaler,NominalTimeSeg1,RxFifo0ElmtsNbr,TxFifoQueueElmtsNbr,CalculateTimeQuantumNominal,CalculateTimeBitNominal,CalculateBaudRateNominal
FDCAN2.NominalPrescaler=10
FDCAN2.NominalPrescaler=20
FDCAN2.NominalTimeSeg1=5
FDCAN2.RxFifo0ElmtsNbr=32
FDCAN2.TxFifoQueueElmtsNbr=32

2
Core/Inc/main.h

@ -123,7 +123,7 @@ void Error_Handler(void);
#define hlpuart1Exit 1
#define NewCANSendVersion 0
#define NewCANSendVersion 1
/* USER CODE END Private defines */

2
Core/Protobuf/PSource/bsp_GV.pb.h

@ -107,7 +107,7 @@ extern const pb_msgdesc_t GV_struct_define_msg;
/* Maximum encoded size of messages (where known) */
#define BSP_GV_PB_H_MAX_SIZE GV_struct_define_size
#define GV_struct_define_size 963
#define GV_struct_define_size 928
#ifdef __cplusplus
} /* extern "C" */

11
Core/Protobuf/PSource/bsp_PV.pb.h

@ -18,7 +18,6 @@ typedef struct _PV_struct_define {
int32_t Robot_Force;
int64_t TimeStamp; /* 上位机发送下来的时间戳 */
int32_t RobotRestartAccepted; /* 上位机接收到单片机发送的Restart信号 */
int32_t Robot_AutoWork;
} PV_struct_define;
@ -27,8 +26,8 @@ extern "C" {
#endif
/* Initializer values for message structs */
#define PV_struct_define_init_default {0, 0, 0, 0, 0, 0, 0, 0}
#define PV_struct_define_init_zero {0, 0, 0, 0, 0, 0, 0, 0}
#define PV_struct_define_init_default {0, 0, 0, 0, 0, 0, 0}
#define PV_struct_define_init_zero {0, 0, 0, 0, 0, 0, 0}
/* Field tags (for use in manual encoding/decoding) */
#define PV_struct_define_Robot_ChgLength_tag 1
@ -38,7 +37,6 @@ extern "C" {
#define PV_struct_define_Robot_Force_tag 5
#define PV_struct_define_TimeStamp_tag 6
#define PV_struct_define_RobotRestartAccepted_tag 7
#define PV_struct_define_Robot_AutoWork_tag 8
/* Struct field encoding specification for nanopb */
#define PV_struct_define_FIELDLIST(X, a) \
@ -48,8 +46,7 @@ X(a, STATIC, SINGULAR, DOUBLE, Robot_ManualSpeedBase, 3) \
X(a, STATIC, SINGULAR, INT32, Robot_LaneChange_Direction, 4) \
X(a, STATIC, SINGULAR, INT32, Robot_Force, 5) \
X(a, STATIC, SINGULAR, INT64, TimeStamp, 6) \
X(a, STATIC, SINGULAR, INT32, RobotRestartAccepted, 7) \
X(a, STATIC, SINGULAR, INT32, Robot_AutoWork, 8)
X(a, STATIC, SINGULAR, INT32, RobotRestartAccepted, 7)
#define PV_struct_define_CALLBACK NULL
#define PV_struct_define_DEFAULT NULL
@ -60,7 +57,7 @@ extern const pb_msgdesc_t PV_struct_define_msg;
/* Maximum encoded size of messages (where known) */
#define BSP_PV_PB_H_MAX_SIZE PV_struct_define_size
#define PV_struct_define_size 84
#define PV_struct_define_size 73
#ifdef __cplusplus
} /* extern "C" */

16
Core/Protobuf/PSource/msp_U7.pb.h

@ -28,8 +28,6 @@ typedef struct _SP_MSP_U7_Button {
int32_t S3;
int32_t IsOnline;
int32_t S4;
int32_t S5;
int32_t S6;
} SP_MSP_U7_Button;
@ -38,8 +36,8 @@ extern "C" {
#endif
/* Initializer values for message structs */
#define SP_MSP_U7_Button_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
#define SP_MSP_U7_Button_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
#define SP_MSP_U7_Button_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
#define SP_MSP_U7_Button_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
/* Field tags (for use in manual encoding/decoding) */
#define SP_MSP_U7_Button_RxIndex_tag 1
@ -58,9 +56,7 @@ extern "C" {
#define SP_MSP_U7_Button_M6_tag 14
#define SP_MSP_U7_Button_S3_tag 15
#define SP_MSP_U7_Button_IsOnline_tag 16
#define SP_MSP_U7_Button_S4_tag 17
#define SP_MSP_U7_Button_S5_tag 18
#define SP_MSP_U7_Button_S6_tag 19
#define SP_MSP_U7_Button_S4_tag 18
/* Struct field encoding specification for nanopb */
#define SP_MSP_U7_Button_FIELDLIST(X, a) \
@ -80,9 +76,7 @@ X(a, STATIC, SINGULAR, INT32, M2, 13) \
X(a, STATIC, SINGULAR, INT32, M6, 14) \
X(a, STATIC, SINGULAR, INT32, S3, 15) \
X(a, STATIC, SINGULAR, INT32, IsOnline, 16) \
X(a, STATIC, SINGULAR, INT32, S4, 17) \
X(a, STATIC, SINGULAR, INT32, S5, 18) \
X(a, STATIC, SINGULAR, INT32, S6, 19)
X(a, STATIC, SINGULAR, INT32, S4, 18)
#define SP_MSP_U7_Button_CALLBACK NULL
#define SP_MSP_U7_Button_DEFAULT NULL
@ -93,7 +87,7 @@ extern const pb_msgdesc_t SP_MSP_U7_Button_msg;
/* Maximum encoded size of messages (where known) */
#define MSP_U7_PB_H_MAX_SIZE SP_MSP_U7_Button_size
#define SP_MSP_U7_Button_size 213
#define SP_MSP_U7_Button_size 189
#ifdef __cplusplus
} /* extern "C" */

1
Core/Protobuf/Proto/bsp_PV.proto

@ -8,5 +8,4 @@ message PV_struct_define{
int32 Robot_Force = 5;
int64 TimeStamp=6;//
int32 RobotRestartAccepted=7;//Restart信号
int32 Robot_AutoWork = 8;
};

4
Core/Protobuf/Proto/msp_U7.proto

@ -17,7 +17,5 @@ message SP_MSP_U7_Button {
int32 M6 = 14;
int32 S3 = 15;
int32 IsOnline= 16;
int32 S4 = 17;
int32 S5= 18;
int32 S6= 19;
int32 S4 = 18;
}

32
Core/Src/FSM.c

@ -53,9 +53,7 @@ transition_t MoveTransitions[] =
{ Move_ChgUp, ChgUp },
{ Move_ChgDown, ChgDown },
{ Move_ChgFinish, ChgFinish },
{ Move_Reset, Reset },
};
{ Move_Reset, Reset }, };
transition_t SwingTransitions[] =
{
@ -205,6 +203,7 @@ int JJ_Flag;
// CurrentMoveState = Move_HALT; //停车
// }
//}
int ManualMode_Move();
int ManualMode_Move()
{
@ -215,12 +214,6 @@ int ManualMode_Move()
{
GV.AuTo_Flag = 1;
}
if (GV.PV.Robot_AutoWork == 1
&& GV.RightFrontMotor.Velcity >= GV.Robot_AutoSpeed - 100
&& GV.LeftFrontMotor.Velcity <= -GV.Robot_AutoSpeed + 100)
{
GF_BSP_GPIO_SetIO(Out_Spray, 0);
}
return 1; // 表示已处理自动模式
} else if (P_U7->RU_Three == -1000)
{
@ -229,24 +222,7 @@ int ManualMode_Move()
{
GV.AuTo_Flag = 3;
}
if (GV.PV.Robot_AutoWork == 1
&& GV.RightFrontMotor.Velcity <= -GV.Robot_AutoSpeed + 100
&& GV.LeftFrontMotor.Velcity >= GV.Robot_AutoSpeed - 100)
{
GF_BSP_GPIO_SetIO(Out_Spray, 0);
}
return 1; // 表示已处理自动模式
} else if (P_U7->RU_Three == 0)
{
if (GV.AuTo_Flag != 0)
{
GV.AuTo_Flag = 0;
if (GV.PV.Robot_AutoWork == 1)
{
GF_BSP_GPIO_SetIO(Out_Spray, 1); // 关闭喷枪
}
return 1;
}
}
return 0;
}
@ -493,6 +469,7 @@ void Robot_Move()
// }
//}
//
void Front_End()
{
// 版本二:LU_Single 控制打磨电机和吸尘器(非自锁版本)
@ -714,8 +691,7 @@ void IV_control()
IV.TimeStamp = SystemTimeMiliCount * 2; //2ms一个计数,这里标记的是单片机运行时间
//if (decoded_PV.RobotRestartAccepted == 1)
if (GV.PV.RobotRestartAccepted == 1)
if (decoded_PV.RobotRestartAccepted == 1)
{
IV.RobotRestart = 0;
}

4
Core/Src/fdcan.c

@ -44,7 +44,7 @@ void MX_FDCAN1_Init(void)
hfdcan1.Init.AutoRetransmission = DISABLE;
hfdcan1.Init.TransmitPause = DISABLE;
hfdcan1.Init.ProtocolException = DISABLE;
hfdcan1.Init.NominalPrescaler = 10;
hfdcan1.Init.NominalPrescaler = 20;
hfdcan1.Init.NominalSyncJumpWidth = 1;
hfdcan1.Init.NominalTimeSeg1 = 5;
hfdcan1.Init.NominalTimeSeg2 = 2;
@ -92,7 +92,7 @@ void MX_FDCAN2_Init(void)
hfdcan2.Init.AutoRetransmission = DISABLE;
hfdcan2.Init.TransmitPause = DISABLE;
hfdcan2.Init.ProtocolException = DISABLE;
hfdcan2.Init.NominalPrescaler = 10;
hfdcan2.Init.NominalPrescaler = 20;
hfdcan2.Init.NominalSyncJumpWidth = 1;
hfdcan2.Init.NominalTimeSeg1 = 5;
hfdcan2.Init.NominalTimeSeg2 = 2;

323
Core/Src/main.c

@ -100,63 +100,63 @@ char ReadIO[8];
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* USER CODE END 1 */
/* MPU Configuration--------------------------------------------------------*/
MPU_Config();
/* MPU Configuration--------------------------------------------------------*/
MPU_Config();
/* Enable I-Cache---------------------------------------------------------*/
SCB_EnableICache();
/* Enable I-Cache---------------------------------------------------------*/
SCB_EnableICache();
/* Enable D-Cache---------------------------------------------------------*/
SCB_EnableDCache();
/* Enable D-Cache---------------------------------------------------------*/
SCB_EnableDCache();
/* MCU Configuration--------------------------------------------------------*/
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE BEGIN Init */
// HAL_Delay(10000); ////////////////////////////延时10s
/* USER CODE END Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE BEGIN SysInit */
//__HAL_RCC_D2SRAM3_CLK_ENABLE();
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
MX_FDCAN1_Init();
MX_FDCAN2_Init();
MX_I2C4_Init();
MX_TIM1_Init();
MX_UART4_Init();
MX_UART5_Init();
MX_UART7_Init();
MX_USART1_UART_Init();
MX_USART3_UART_Init();
MX_USART2_UART_Init();
MX_USART6_UART_Init();
MX_TIM8_Init();
MX_QUADSPI_Init();
MX_LPUART1_UART_Init();
MX_ADC2_Init();
MX_LWIP_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
MX_FDCAN1_Init();
MX_FDCAN2_Init();
MX_I2C4_Init();
MX_TIM1_Init();
MX_UART4_Init();
MX_UART5_Init();
MX_UART7_Init();
MX_USART1_UART_Init();
MX_USART3_UART_Init();
MX_USART2_UART_Init();
MX_USART6_UART_Init();
MX_TIM8_Init();
MX_QUADSPI_Init();
MX_LPUART1_UART_Init();
MX_ADC2_Init();
MX_LWIP_Init();
/* USER CODE BEGIN 2 */
SystemTimer_Intialize(); //加数数定时器
GF_BSP_GPIO_SetIO(0, 0); //0�?????????????? 1�??????????????
GF_BSP_GPIO_SetIO(0, 0); //0�????????????? 1�?????????????
GF_BSP_GPIO_SetIO(1, 1);
HAL_Delay(5000); ////////////////////////////延时5s
@ -166,85 +166,89 @@ int main(void)
GV.Move_Speed = 3000; //186.9 * m/min
// udp_client_init();
//tcp_client_connect();
/* USER CODE END 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
MX_LWIP_Process();
/* USER CODE END WHILE */
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RCC_OscInitTypeDef RCC_OscInitStruct =
{ 0 };
RCC_ClkInitTypeDef RCC_ClkInitStruct =
{ 0 };
/** Supply configuration update enable
*/
HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
/** Supply configuration update enable
*/
HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
/** Configure the main internal regulator output voltage
*/
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Configure the main internal regulator output voltage
*/
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
while (!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY))
{
}
/** Macro to configure the PLL clock source
*/
__HAL_RCC_PLL_PLLSOURCE_CONFIG(RCC_PLLSOURCE_HSE);
/** Macro to configure the PLL clock source
*/
__HAL_RCC_PLL_PLLSOURCE_CONFIG(RCC_PLLSOURCE_HSE);
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 2;
RCC_OscInitStruct.PLL.PLLN = 64;
RCC_OscInitStruct.PLL.PLLP = 2;
RCC_OscInitStruct.PLL.PLLQ = 20;
RCC_OscInitStruct.PLL.PLLR = 4;
RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3;
RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
RCC_OscInitStruct.PLL.PLLFRACN = 0;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 2;
RCC_OscInitStruct.PLL.PLLN = 64;
RCC_OscInitStruct.PLL.PLLP = 2;
RCC_OscInitStruct.PLL.PLLQ = 20;
RCC_OscInitStruct.PLL.PLLR = 4;
RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3;
RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
RCC_OscInitStruct.PLL.PLLFRACN = 0;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
{
Error_Handler();
}
/** Enables the Clock Security System
*/
HAL_RCC_EnableCSS();
/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 | RCC_CLOCKTYPE_D3PCLK1
| RCC_CLOCKTYPE_D1PCLK1;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
{
Error_Handler();
}
/** Enables the Clock Security System
*/
HAL_RCC_EnableCSS();
}
/* USER CODE BEGIN 4 */
@ -258,10 +262,10 @@ void CV_GV_Init()
CV.SwingMoveSpeedBase = 1000;
CV.TiltMoveSpeedBase = 1000;
Motor[1] = &GV.LeftFrontMotor; //Motor[1]指向GV的电机参�??????????????
Motor[1] = &GV.LeftFrontMotor; //Motor[1]指向GV的电机参�?????????????
Motor[2] = &GV.RightFrontMotor;
// Motor[2] = &GV.LeftFrontMotor; //Motor[1]指向GV的电机参�??????????????
// Motor[2] = &GV.LeftFrontMotor; //Motor[1]指向GV的电机参�?????????????
// Motor[1] = &GV.RightFrontMotor;
RobotSpeed = &GV.Move_Speed; //RobotSpeed指向GV的移动车体�?�度 这是整体车�?? 不是单个轮的
@ -322,11 +326,11 @@ void GF_Robot_Init()
force_sensor_intialize(&RS_485_2_UART_Handler);
Ultrasonic_sensor_intialize(&RS_485_3_UART_Handler);
CMCU_sensor_intialize(&RS_485_2_UART_Handler);
//Dynamometer_sensor_intialize(&RS_485_4_UART_Handler);
Dynamometer_sensor_intialize(&RS_485_4_UART_Handler);
//client_setting_intialize(&LPUART1_UART_Handler); //安卓
client_setting_intialize(&LPUART1_UART_Handler); //安卓
//U7_Sbus_UART_Handler_intialize(&E28_SBUS_UART_Handler);
U7_Sbus_UART_Handler_intialize(&E28_SBUS_UART_Handler);
android_485_intialize(&RS_485_4_UART_Handler);
GF_BSP_FDCAN_Init();
@ -336,11 +340,11 @@ void GF_Robot_Init()
TankWashing_Motor_Controller_intialize(&FD_CAN_1_Handler);
Fsm_Init(); //把遥控器指令绑定定时�??????????????
Fsm_Init(); //把遥控器指令绑定定时�?????????????
uint8_t _state = 1;
_state = _state & GF_BSP_TIMER_Init(); //定时器最后启�???????????????????
_state = _state & GF_BSP_TIMER_Init(); //定时器最后启�??????????????????
}
/* USER CODE END 4 */
@ -349,59 +353,60 @@ void GF_Robot_Init()
void MPU_Config(void)
{
MPU_Region_InitTypeDef MPU_InitStruct = {0};
/* Disables the MPU */
HAL_MPU_Disable();
/** Initializes and configures the Region and the memory to be protected
*/
MPU_InitStruct.Enable = MPU_REGION_ENABLE;
MPU_InitStruct.Number = MPU_REGION_NUMBER0;
MPU_InitStruct.BaseAddress = 0x30040000;
MPU_InitStruct.Size = MPU_REGION_SIZE_32KB;
MPU_InitStruct.SubRegionDisable = 0x0;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);
/** Initializes and configures the Region and the memory to be protected
*/
MPU_InitStruct.Number = MPU_REGION_NUMBER1;
MPU_InitStruct.Size = MPU_REGION_SIZE_1KB;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;
MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);
/** Initializes and configures the Region and the memory to be protected
*/
MPU_InitStruct.Number = MPU_REGION_NUMBER2;
MPU_InitStruct.BaseAddress = 0x30030000;
MPU_InitStruct.Size = MPU_REGION_SIZE_32KB;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);
/* Enables the MPU */
HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);
MPU_Region_InitTypeDef MPU_InitStruct =
{ 0 };
/* Disables the MPU */
HAL_MPU_Disable();
/** Initializes and configures the Region and the memory to be protected
*/
MPU_InitStruct.Enable = MPU_REGION_ENABLE;
MPU_InitStruct.Number = MPU_REGION_NUMBER0;
MPU_InitStruct.BaseAddress = 0x30040000;
MPU_InitStruct.Size = MPU_REGION_SIZE_32KB;
MPU_InitStruct.SubRegionDisable = 0x0;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);
/** Initializes and configures the Region and the memory to be protected
*/
MPU_InitStruct.Number = MPU_REGION_NUMBER1;
MPU_InitStruct.Size = MPU_REGION_SIZE_1KB;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;
MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);
/** Initializes and configures the Region and the memory to be protected
*/
MPU_InitStruct.Number = MPU_REGION_NUMBER2;
MPU_InitStruct.BaseAddress = 0x30030000;
MPU_InitStruct.Size = MPU_REGION_SIZE_32KB;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);
/* Enables the MPU */
HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);
}
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
@ -410,7 +415,7 @@ void Error_Handler(void)
HAL_Delay(1000);
LOGFF(DL_ERROR, "Something Bad Happened, Now in Error_Handler Function");
}
/* USER CODE END Error_Handler_Debug */
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT

Loading…
Cancel
Save