Hi, In the past weeks we were working on porting the last LWIP version to RTEMS for the LPC1768 microcontroller. Our main goal was to accomplish this with the minimum number of changes for both projects. Fortunately, the result was positive.
Now, we are capable of providing to the community with this new version of the RTEMS+LWIP port. In details: - RTEMS: last git revision = baa3c91ecb8a3b48ef387b938fcdb6 e60b5bdc8a - LWIP: last git revision = 63038e03055183e3bc043711ada1de3bb907e989 - LPC1768: based on MBED driver = https://github.com/mbedmicro/mbed/tree/master/libraries/net/eth/lwip-eth/arch/TARGET_NXP The list of changes follows: - RTEMS OS: No changes were needed here. Despite this we will be posting a possible improvement in the newlib maillist soon. It consist in adding the gcc function attribute "warn_unused_result" to the pthread_*_init functions. As a result, developers will be warned about checking the return value. NOTE: a common error here could be not checking the return value, assuming a successful result, and trying to, for example, lock a mutex which init function has returned ENOMEM. (We found this exact mistake in the current LWIP OS layer implementation for Unix) - RTEMS LPC1768_MBED BSP: We added a new section to the linker script, so we were able to put the LWIP and driver buffers in an exact memory location (useful when working with DMA devices). - RTEMS LPC1768_MBED Ethernet Driver: Based on an existing driver from MBED, we ported it to RTEMS. NOTE: we will be creating our own driver in the near future. - LWIP: As mentioned previously, we needed to put all LWIP buffers in DMA memory locations. Consequently, we added the "section" attribute to LWIP ram_heap and memp_memory buffers. Furthermore, as this is a common strategy in embedded devices with DMA, we made it generic and we will send these changes to the LWIP project. Additionally, we will provide some minor adds/changes to the lwip log system and statistics system. - LWIP-contrib: Some of the changes/adds were: fixing some issues related with posix initialization checks and allow set threads stack size. - LWIP-test-app: A simple TCP echo server with debugging functionality (rtems malloc statistics, rtems stack checker, lwip statistics, driver statistics and registers dump) available. As this new port is comprised of several patches and adds, it would be great to have some advice in how to proceed. We can provide you with the project as a whole or divided into independent patches. Also, we will need to know which parts of the port are of RTEMS interest to be submitted. Regards. -- [image: http://www.tallertechnologies.com] <http://www.tallertechnologies.com> Casares, Federico Sr. Software Engineer Taller Technologies Argentina San Lorenzo 47, 3rd Floor, Office 5 Córdoba, Argentina
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel