Software Struktur DiscoNetBSP – Projekt
Im folgenden wird die Software Struktur des DiscoNetBSP Projekts visualisiert:
Es wurde besondere Beachtung auf die Erstellung einer professionellen und gut strukturierten Projektstruktur gelegt.
Von CubeMX werden Tasks standardmäßig in main.c implementiert. Das macht umfangreiche Projekte extrem unübersichtlich. Wichtig war es trotzdem auch bei der Systempflege bei Erweiterungen weiterhin STM32CubeMX verwenden zu können.
Z.B. sind die Tasks nicht wie z.B. standardmäßig von MxCube generiert in main.c sondern jeder Task in einer eigenen Datei. Das macht die Systempflege erheblich einfacher
├── App
│ ├── Inc
│ │ ├── app_init.h
│ │ ├── AppConfig.h
│ │ └── net_service.h
│ └── Src
│ ├── app_init.c
│ └── net_service.c
├── BSP
│ ├── Inc
│ │ ├── board_led.h
│ │ ├── board.h
│ │ └── hw_inits.h
│ └── Src
│ ├── board_led.c
│ └── board.c
├── CMakeLists.txt
├── Core
│ ├── Inc
│ │ ├── board_lcd.h
│ │ ├── board_mpu.h
│ │ ├── board_sdram.h
│ │ ├── dma2d.h
│ │ ├── dsihost.h
│ │ ├── fmc.h
│ │ ├── FreeRTOSConfig.h
│ │ ├── gpio.h
│ │ ├── i2c.h
│ │ ├── lan8742.h
│ │ ├── ltdc.h
│ │ ├── main.h
│ │ ├── rtc.h
│ │ ├── sdram.h
│ │ ├── stm32f769i_discovery_conf.h
│ │ ├── stm32f7xx_hal_conf.h
│ │ ├── stm32f7xx_it.h
│ │ ├── usart.h
│ │ └── version.h
│ ├── Src
│ │ ├── board_lcd.c
│ │ ├── board_mpu.c
│ │ ├── board_sdram.c
│ │ ├── dma2d.c
│ │ ├── dsihost.c
│ │ ├── fmc.c
│ │ ├── freertos.c
│ │ ├── gpio.c
│ │ ├── i2c.c
│ │ ├── lan8742.c
│ │ ├── ltdc.c
│ │ ├── main.c
│ │ ├── rtc.c
│ │ ├── sdram.c
│ │ ├── stm32f7xx_hal_msp.c
│ │ ├── stm32f7xx_hal_timebase_tim.c
│ │ ├── stm32f7xx_it.c
│ │ ├── syscalls.c
│ │ ├── sysmem.c
│ │ ├── system_stm32f7xx.c
│ │ └── usart.c
│ └── Startup
│ └── startup_stm32f769nihx.s
├── DiscoNetBSP.ioc
├── Docs
│ ├── Logs.txt
│ ├── Projekt Tasks auslagern
│ └── TippsUndTricks
├── Drivers
│ ├── BSP
│ │ ├── Components
│ │ ├── stm32f769i_discovery_lcd.c
│ │ ├── stm32f769i_discovery_lcd.h
│ │ ├── stm32f769i_discovery_sdram.c
│ │ ├── stm32f769i_discovery_sdram.h
│ │ ├── stm32f769i_discovery_ts.c
│ │ ├── stm32f769i_discovery_ts.h
│ │ ├── stm32f769i_discovery.c
│ │ └── stm32f769i_discovery.h
│ ├── CMSIS
│ │ ├── Device
│ │ ├── Include
│ │ └── LICENSE.txt
│ └── STM32F7xx_HAL_Driver
│ ├── Inc
│ ├── LICENSE.txt
│ └── Src
├── generate_version.sh
├── LWIP
│ ├── App
│ │ ├── lwip.c
│ │ └── lwip.h
│ └── Target
│ ├── ethernetif.c
│ ├── ethernetif.h
│ ├── lwipopts-chaos.h
│ └── lwipopts.h
├── Middlewares
│ └── Third_Party
│ ├── FreeRTOS
│ └── LwIP
├── ScratchVersionControl
│ ├── generate_version.sh
│ ├── pre-commit
│ └── tasks.json
├── STM32F769NIHX_FLASH.ld
├── STM32F769NIHX_RAM.ld
├── Tasks
│ ├── Inc
│ │ ├── default_task.h
│ │ ├── net_task.h
│ │ ├── task_100ms.h
│ │ ├── task_10ms.h
│ │ ├── task_1second.h
│ │ ├── task_touch.h
│ │ └── web_task.h
│ ├── Src
│ │ ├── default_task.c
│ │ ├── net_task.c
│ │ ├── task_100ms.c
│ │ ├── task_10ms.c
│ │ ├── task_1second.c
│ │ ├── task_touch.c
│ │ └── web_task.c
│ └── Tasks_ReadMe.txt
└── Utils
├── Inc
│ ├── analog_clock.h
│ ├── debug_utils.h
│ ├── graphic_utils.h
│ ├── lcd_utils.h
│ ├── tim_utils.h
│ ├── touch_utils.h
│ └── vled_utils.h
├── Src
│ ├── analog_clock.c
│ ├── debug_utils.c
│ ├── graphic_utils.c
│ ├── lcd_utils.c
│ ├── tim_utils.c
│ ├── touch_utils.c
│ └── vled_utils.c
└── Utils_ReadMe.txt