RTEMS+LWIP for LPC1768 BSP
federico.casares at tallertechnologies.com
Tue Aug 26 11:22:54 UTC 2014
In the past weeks we were working on porting the last LWIP version to RTEMS
the LPC1768 microcontroller. Our main goal was to accomplish this with the
minimum number of changes for both projects. Fortunately, the result was
Now, we are capable of providing to the community with this new version of
RTEMS+LWIP port. In details:
- RTEMS: last git revision = baa3c91ecb8a3b48ef387b938fcdb6
- LWIP: last git revision = 63038e03055183e3bc043711ada1de3bb907e989
- LPC1768: based on MBED driver =
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
function attribute "warn_unused_result" to the pthread_*_init functions. As
result, developers will be warned about checking the return value. NOTE: a
common error here could be not checking the return value, assuming a
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
when working with DMA devices).
- RTEMS LPC1768_MBED Ethernet Driver: Based on an existing driver from
ported it to RTEMS. NOTE: we will be creating our own driver in the near
- LWIP: As mentioned previously, we needed to put all LWIP buffers in DMA
locations. Consequently, we added the "section" attribute to LWIP ram_heap
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
project. Additionally, we will provide some minor adds/changes to the lwip
system and statistics system.
- LWIP-contrib: Some of the changes/adds were: fixing some issues related
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
whole or divided into independent patches. Also, we will need to know which
parts of the port are of RTEMS interest to be submitted.
Sr. Software Engineer
Taller Technologies Argentina
San Lorenzo 47, 3rd Floor, Office 5
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the devel