Uploaded demo version 1.5.0 (STM32)
+ Fixed bug #B3.7
+ Added support for Managed Build system (MBS)
New bug report. The problem is in the startup file (startup_stm32f10x_cl.c). For more information please see the Known Issues section of the main demo page.
Status:the problem is fixed. The new file is in the component Common version 1.3.4.
Uploaded demo version 1.4.2 (STM32) and 1.3.3 (STR912).
+ ST Standard Peripheral Library v3.2.0 (CMSIS 1.3.0 compliant).
+ Updated to lwIP version 1.3.2
- STM32 and STR912
+ Configured to use OpenOCD 0.4.0 RELEASE. The component Common version 1.3.3 is needed.
+ Configured to use the new DSF debugger. A new Debug Configuration - RTOSDemo (DFS) - was added.
New bug report. The problem is in the Ethernet driver (stm32x_ethernetif.c). For more information please see the Known Issues section of the main demo page.
Status:the problem is fixed. The new driver is the component Common version 1.3.2.
Now a better driver is available! :-)
With high Ethernet load an unmanaged error condition in Ethernet driver may generate bus fault. For more information please refer to Known Issue section of the main demo page.
Thanks to the effort of all people using these few bit of code today we have a better and stable code base. The works go on...
I received a bug report a few days ago, but the provided mail address generates a Mail Delivery Subsystem error. Following is the original message and my reply.
1st the Bug #3.3 with the duplicate ethernet frames seems not to be solved with setting the SendCount to 2. (You've done it already in the current release). As I see it you always send an ethernet frame twice in the vMAC_ISR();
2nd memory is allocated in vSendMACData with s_lwip_buf = prvGetNextBuffer(); This function tries 30 times to allocate buffer and returns NULL if it fails. In this situation you surely write a NULL-address into xTxDescriptor.Buffer1Addr. This will cause a bus fault.
In my opinion it might also be better to leave the lwip-source untouched and put the stm32x_ethernetif.c into the Demo-Code
About the bug #B3.3. The are two places in the driver code where I set the SendCount parameter, but only in one place I set it to the correct value (2). I just uploaded a new version of the demo v1.4.1. I also changed some lwIP configuration parameters. You find it on the Download area as usual. Could you please check that version respect to 3B3.3?
About the bus fault problem. The function prvGetNextBuffer never fails in my test! I think there is enough time for the MAC to send an outgoing frame or for the lwIP to process an incoming frame in order to avoid "no free buffer condition". Can you give more information in order to reproduce the problem?
Finally, I agree with you about the bad placement of the stm32x_ethernetif.c file. I think to put it under lwip/contrib/netif folder. I'm just too lazy regards this point until now! Sorry
This version support both STM32F107 and STR912 MCUs.
- STM32 specific info:
- Tested with lwIP v1.3.2
- Fixed bug #B3.3
- Fixed bug #B3.4
The source files can be downloaded from the Download page of the web site. The project .zip archive for STM32F107 are located in the folders Demo\CORTEX_STM32F107_Eclipse.
A bad MAC initialization make the board work in promiscuous mode. For more information please refer to Known Issue section of the main demo page.
A bug cause each outgoing Ethernet frame is transmitted twice. For more information please refer to Known Issue section of the main demo page.