I have been trying to get started with the official lwIP (light-weight IP) pack from Keil.
Summary
Currently, I am unable to get any project that includes the RTE component "Network > CORE" from lwIP to even start to build. There are no errors, it simply does not compile!
Build Output:
Build started: Project: httpd*** Using Compiler 'V6.21', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'Build target 'MCBSTM32F200 V1.2'Target not created.Build Time Elapsed: 00:00:00
Only by excluding the component from the build does it actually continue (see steps below). Naturally, this results in errors instead.
Steps to reproduce
This is consistent across different projects, for different boards, and even different versions of the packs for CMSIS, lwIP, etc.
The easiest way to reproduce this is to run one of the bundled examples from the lwIP pack; for example the "HTTP Server (Raw)":
1) Install the lwIP pack, version 2.2.0
2) Bring up the example. This is easily done by searching for "STM32F207IGHx" under Devices, and finding it under Examples.
You will likely need to install the STM32F2xx_DFP if you do not have it. I have version 2.10.0.
3) If you are using an older version of CMSIS (< 6.0.0), you should not need to configure the example project any further! However, if you are using 6.0.0 (or later?), it may be necessary to bring up the RTE manager. The issue can be fixed in two ways:
a) Either, simply click Resolve to add the "OS Tick > SysTick" component.
b) Alternatively, if you can revert to earlier version of CMSIS and use that without any further changes. If you want to revert to 5.9.0, it can easily be done using "Select Packs" and fixing the version, and excluding the newer CMSIS-RTX component completely
4) Once the RTE is fixed, you can try to build the project. You will be met by the 4-line Build Output seen at the beginning of this post.
5) Finally, by excluding the CORE component from the build, the project instead builds and fails!
".\Objects\httpd.axf" - 15 Error(s), 0 Warning(s).Target not created.Build Time Elapsed: 00:00:01
This is an enigma for me. Please help me understand what it is that causes the build script to stall without any errors! Thanks.
Additional information
I tried to get more information bout the build by generating a Batch-file. This is what it contains:
SET PATH=C:\Keil_v5\ARM\ARMCLANG\Bin;%PATH%SET CPU_TYPE=STM32F207IGHxSET CPU_VENDOR=STMicroelectronicsSET UV2_TARGET=MCBSTM32F200 V1.2SET CPU_CLOCK=0x00B71B00
And that's where it stops. Note that I have pruned the PATH, the tail just conatains my system PATH; Java, Python etc...
IDE-Version:µVision V5.39.0.0Copyright (C) 2023 ARM Ltd and ARM Germany GmbH. All rights reserved.License Information:User-based license: Keil MDK CommunityValid until: Jun 1 2033. Cached until: Mar 15 2024Tool Version Numbers:Toolchain: Keil MDK Community Version: 5.39.0.0Toolchain Path: C:\Keil_v5\ARM\ARMCLANG\BinC Compiler: ArmClang.exe V6.21Assembler: Armasm.exe V6.21Linker/Locator: ArmLink.exe V6.21Library Manager: ArmAr.exe V6.21Hex Converter: FromElf.exe V6.21CPU DLL: SARMCM3.DLL V5.39.0.0Dialog DLL: TCM.DLL V1.56.4.0Target DLL: UL2CM3.DLL V1.164.9.0Dialog DLL: TCM.DLL V1.56.4.0