fixes DMA issue by introducing new section
This commit is contained in:
parent
12fb19ec7b
commit
f78d0c95d3
@ -165,7 +165,11 @@ SECTIONS
|
|||||||
} >RAM_D1
|
} >RAM_D1
|
||||||
|
|
||||||
|
|
||||||
|
.dma_buffer : /* Space before ':' is critical */
|
||||||
|
{
|
||||||
|
*(.dma_buffer)
|
||||||
|
} >RAM_D2
|
||||||
|
|
||||||
.lwip_sec (NOLOAD) : {
|
.lwip_sec (NOLOAD) : {
|
||||||
. = ABSOLUTE(0x30040000);
|
. = ABSOLUTE(0x30040000);
|
||||||
*(.RxDecripSection)
|
*(.RxDecripSection)
|
||||||
|
@ -1,17 +1,18 @@
|
|||||||
#include "hardware_init.h"
|
#include "hardware_init.h"
|
||||||
|
#include "OBSWConfig.h"
|
||||||
#include <stm32h743xx.h>
|
#include "boardconfig.h"
|
||||||
#include <stm32h7xx_hal_rcc_ex.h>
|
#include "app_ethernet.h"
|
||||||
#include <stm32h7xx_nucleo.h>
|
|
||||||
|
|
||||||
#include <app_ethernet.h>
|
|
||||||
#include <common/stm32_nucleo/networking/ethernetif.h>
|
#include <common/stm32_nucleo/networking/ethernetif.h>
|
||||||
#include <lwip/netif.h>
|
#include <lwip/netif.h>
|
||||||
#include <lwip/init.h>
|
#include <lwip/init.h>
|
||||||
#include <lwip/ip_addr.h>
|
#include <lwip/ip_addr.h>
|
||||||
#include <netif/ethernet.h>
|
#include <netif/ethernet.h>
|
||||||
|
|
||||||
#include <boardconfig.h>
|
#include "stm32h743xx.h"
|
||||||
|
#include "stm32h7xx_hal_cortex.h"
|
||||||
|
#include "stm32h7xx_hal_rcc_ex.h"
|
||||||
|
#include "stm32h7xx_nucleo.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
/* Forward declarations */
|
/* Forward declarations */
|
||||||
@ -208,6 +209,23 @@ void MPU_Config(void)
|
|||||||
|
|
||||||
HAL_MPU_ConfigRegion(&MPU_InitStruct);
|
HAL_MPU_ConfigRegion(&MPU_InitStruct);
|
||||||
|
|
||||||
|
#if STM_USE_PERIPHERAL_TX_BUFFER_MPU_PROTECTION == 1
|
||||||
|
// Protect DMA buffer for other peripherals
|
||||||
|
MPU_InitStruct.Enable = MPU_REGION_ENABLE;
|
||||||
|
MPU_InitStruct.BaseAddress = 0x30000000;
|
||||||
|
MPU_InitStruct.Size = MPU_REGION_SIZE_1KB;
|
||||||
|
MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
|
||||||
|
MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
|
||||||
|
MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE;
|
||||||
|
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
|
||||||
|
MPU_InitStruct.Number = MPU_REGION_NUMBER1;
|
||||||
|
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;
|
||||||
|
MPU_InitStruct.SubRegionDisable = 0x00;
|
||||||
|
MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;
|
||||||
|
|
||||||
|
HAL_MPU_ConfigRegion(&MPU_InitStruct);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Enable the MPU */
|
/* Enable the MPU */
|
||||||
HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);
|
HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
#ifndef FSFWCONFIG_OBSWCONFIG_H_
|
#ifndef FSFWCONFIG_OBSWCONFIG_H_
|
||||||
#define FSFWCONFIG_OBSWCONFIG_H_
|
#define FSFWCONFIG_OBSWCONFIG_H_
|
||||||
|
|
||||||
|
#define STM_USE_PERIPHERAL_TX_BUFFER_MPU_PROTECTION 1
|
||||||
|
|
||||||
//! Specify whether TMTC commanding via Ethernet is possible
|
//! Specify whether TMTC commanding via Ethernet is possible
|
||||||
#define OBSW_ETHERNET_TMTC_COMMANDING 1
|
#define OBSW_ETHERNET_TMTC_COMMANDING 1
|
||||||
//! Only applies if TMTC commanding is enabled.
|
//! Only applies if TMTC commanding is enabled.
|
||||||
|
2
fsfw_hal
2
fsfw_hal
@ -1 +1 @@
|
|||||||
Subproject commit 20815c1d6b6e5f0ce90ff5c1fcd84502fdff9f1c
|
Subproject commit cf8235cedeb1fa82e594daa67211d55a51c67b11
|
@ -905,6 +905,7 @@
|
|||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.82715789" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.82715789" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.671384657" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.671384657" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
||||||
<listOptionValue builtIn="false" value="ETH"/>
|
<listOptionValue builtIn="false" value="ETH"/>
|
||||||
|
<listOptionValue builtIn="false" value="__MPU_PRESENT=1"/>
|
||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1118638090" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1118638090" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/fsfwconfig}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/fsfwconfig}""/>
|
||||||
@ -918,10 +919,12 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/fsfwconfig}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/fsfwconfig}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Boards/NUCLEO-H743ZI/Inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Boards/NUCLEO-H743ZI/Inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Drivers/BSP/STM32H7xx_HAL_Driver/Inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Drivers/BSP/STM32H7xx_HAL_Driver/Inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/build-Debug-STM32H743-FreeRTOS}""/>
|
||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.255200442" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.255200442" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||||
<listOptionValue builtIn="false" value="FSFW_FREERTOS"/>
|
<listOptionValue builtIn="false" value="FSFW_FREERTOS"/>
|
||||||
<listOptionValue builtIn="false" value="ETH"/>
|
<listOptionValue builtIn="false" value="ETH"/>
|
||||||
|
<listOptionValue builtIn="false" value="__MPU_PRESENT=1"/>
|
||||||
</option>
|
</option>
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.934108357" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.934108357" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
@ -931,10 +934,12 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/fsfwconfig}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/fsfwconfig}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Boards/NUCLEO-H743ZI/Inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Boards/NUCLEO-H743ZI/Inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Drivers/BSP/STM32H7xx_HAL_Driver/Inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/bsp_stm32_freertos/STM32CubeH7/Drivers/BSP/STM32H7xx_HAL_Driver/Inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/fsfw_example_public/build-Debug-STM32H743-FreeRTOS}""/>
|
||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.1540005786" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.1540005786" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||||
<listOptionValue builtIn="false" value="FSFW_FREERTOS"/>
|
<listOptionValue builtIn="false" value="FSFW_FREERTOS"/>
|
||||||
<listOptionValue builtIn="false" value="ETH"/>
|
<listOptionValue builtIn="false" value="ETH"/>
|
||||||
|
<listOptionValue builtIn="false" value="__MPU_PRESENT=1"/>
|
||||||
</option>
|
</option>
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1267738452" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1267738452" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
@ -968,6 +973,7 @@
|
|||||||
</configuration>
|
</configuration>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
|
<storageModule moduleId="ilg.gnumcueclipse.managedbuild.packs"/>
|
||||||
</cconfiguration>
|
</cconfiguration>
|
||||||
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929">
|
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929">
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929" moduleId="org.eclipse.cdt.core.settings" name="fsfw-stm32-freertos-release">
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.450259316.1933681494.615695818.863590432.2027226929" moduleId="org.eclipse.cdt.core.settings" name="fsfw-stm32-freertos-release">
|
||||||
|
@ -59,6 +59,6 @@
|
|||||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||||
</listAttribute>
|
</listAttribute>
|
||||||
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList context="Context string"> <memoryBlockExpression address="604291484" label="*((((this)-&gt;hkBuffer))+0)@100"/> </memoryBlockExpressionList> "/>
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList context="Context string"> <memoryBlockExpression address="604291484" label="*((((this)-&gt;hkBuffer))+0)@100"/> </memoryBlockExpressionList> "/>
|
||||||
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
</launchConfiguration>
|
</launchConfiguration>
|
||||||
|
Reference in New Issue
Block a user