Greetings community!
I'm trying
to use lwip with concerto.
I've been searching forums for some time now and found information that the
last release of the controlSuite would include a concerto lwip example. But so far no luck.
link
As it didn't came out, I start digging through stellaris forums and with my poor c++, CCS and almost inexeting TCP/IP skills made a new project where I included all the files in the list:
Added:
lwipopts.h
locator.c
lwiplib.c
uartstdio.c
ustdlib.c
startup.c
Linked:
driverlib.lib
enet_lwip_ccs.cmd (tried other with no luck, this compiles without erros, from stellaris enet_lwip example)
Included the following folders:
- "${workspace_loc:/z_master_lwip_man/lwip}"
- "C:\TI\controlSUITE\device_support\f28m35x\vBeta1\MWare"
- "C:\TI\controlSUITE\device_support\f28m35x\vBeta1\MWare\third_party"
- "C:\TI\controlSUITE\device_support\f28m35x\vBeta1\MWare\third_party\lwip-1.3.2\src\include"
- "C:\TI\controlSUITE\device_support\f28m35x\vBeta1\MWare\third_party\lwip-1.3.2\src\include\ipv4"
- "C:\TI\controlSUITE\device_support\f28m35x\vBeta1\MWare\third_party\lwip-1.3.2\ports\C2000\include"
After this I made a new source file where I only initiate the board, the GPIO and Ethernet peripherals and one function from lwip, the lwIPInit().
So far I think I'm doing everything ok, right? (with the includes, linked and added files?)
When I compile the code a bunch of errors appear, in the first was something to do with missing and not added/linked necessary files, a lot of unresolved symbols would appear. But now there are errors that I think I can't solve, example:
- Missing files. In ...\controlSUITE\device_support\f28m35x\vBeta1\MWare\third_party\lwip-1.3.2\ports\C2000\sys_arch.c
/* Concerto header files required for this interface driver. */
(...)
#include "driverlib/rom.h"
#include "driverlib/rom_map.h"
(...)
In controlSuite these files don't exist! (can I use the ones from stellaris software?)
-error in functions calls, In ...\controlSUITE\device_support\f28m35x\vBeta1\MWare\third_party\lwip-1.3.2\ports\C2000\netif\concertoif.c
(line 601)
/* initialize the hardware */
conertoif_hwinit(netif); // conertoif? Should be concertoif
Other functions like MAP_IntMasterDisable() or MAP_IntMasterEnable(), they give errors when we compile everything and should be changed to IntMasterEnable and IntMasterDisable.
Still after "correcting" these errors /typos I still get a bunch of errors afterwards (most of them in lwip api, file pbuf.c), one simple error that "'doens't exist' like "expected a ";" in .../controlSUITE/device_support/f28m35x/vBeta1/MWare/third_party/lwip-1.3.2/src/core netif.c line 456
netif.c
file:
(...)
454 */
455 void netif_set_down(struct
netif *netif)
456 {
457 if ( netif->flags & NETIF_FLAG_UP )
458 {
(...)
With the thought that I might have changed something critical in the software I have reinstalled controlsuite several times, I have 5 folders of lwip on third_party folder (I keep changing names conforming the folder as most of them have a fixe include path for only lwip-1.3.2 folder)
I'm trying to
build a data client (or server) that connects to a servers (or client)
and sends/receives data. Due to the need of sending big data, lack of knowledge
in the area and after reading that uIP 1.0 is worst then lwip regarding
throughput, I chose the last one to my project. But it's giving me a hard time
to actually do something with it.
PS: all examples compile fine, I'm able to run them all. Including the
stellaris example enet_lwip with only one warning in a file system related c
file (ff.c).
Can you help me put the lwip api working on concerto?
Thank you for your time.