Changing from NicheTask to Superloop

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Changing from NicheTask to Superloop

2,520 Views
tobiasplayer
Contributor I
Has anyone ever backed out the NicheTask and got the NicheLite TCP/IP stack running with SuperLoop? If so, what steps did you take? I've been able to remove the NicheTask, get the code to compile, but it seems like the NicheLite stack is not running.
 
Thanks,
Bob
Labels (1)
0 Kudos
2 Replies

389 Views
pnordby
Contributor I
A bit more details about "my stuff": GCC from CodeSourcery and usage of M52235EVB. From ethereal sniffing, the 52235 sends an ARP request for the configured gateway address, and receives a valid reply to this.

I guess this is parts of the answer (correct me, if this is incorrect):
  • use power-up code similar to the niche web-server (without the tasks and web-server)
  • call inet_timer() from timer_isr()
  • call packet_check() from timer_isr() (??)
These attempts on simple low-level data transfer has failed:
  • send data with udp_send() (no relevant data found in ethereal)
  • receive data by using udp_open() and waiting for callback function (no callback)
  • listen on TCP port with m_listen() and wait for connect (no callback when attempting to connect to 52235 with netcat)
Does anyone have a tip or success story to share with us?

Here is a dump of (strategic) parts of my "ipport.h" file:

#define SUPERLOOP 1
#define INCLUDE_ARP     1  /* use Ethernet ARP */
#define FULL_ICMP       1  /* use all ICMP || ping only */
#define OMIT_IPV4       1  /* not IPV4, use with MINI_IP */
#define MINI_IP         1   /* Use Nichelite mini-IP layer */
#define MINI_TCP        1   /* Use Nichelite mini-TCP layer */
#define MINI_PING       1   /* Build Light Weight Ping App for Niche Lite */
#define BSDISH_RECV     1   /* Include a BSD recv()-like routine with mini_tcp */
#define BSDISH_SEND     1   /* Include a BSD send()-like routine with mini_tcp */
#define NB_CONNECT      1  /* support Non-Blocking connects (TCP, PPP, et al) */
#define MUTE_WARNS      1  /* gen extra code to suppress compiler warnings */
//#define IN_MENUS        1  /* support for InterNiche menu system */
#define NET_STATS       1  /* include statistics printfs */
#define QUEUE_CHECKING  1  /* include code to check critical queues */
//#define INICHE_TASKS    1  /* InterNiche multitasking system */
#define MEM_BLOCKS      1  /* list memory heap stats */
// EMG #define TFTP_CLIENT     1  /* include TFTP client code */
// EMG #define TFTP_SERVER     1  /* include TFTP server code */
// EMG #define DNS_CLIENT      1  /* include DNS client code */
#define INICHE_TIMERS   1  /* Provide Interval timers */
// EMG #define DHCP_CLIENT     1  /* include DHCP client code */
// EMG #define INCLUDE_NVPARMS 1  /* non-volatile (NV) parameters logic */
#define NPDEBUG         1  /* turn on debugging dprintf()s */
// EMG #define VFS_FILES       1  /* include Virtual File System */
// EMG #define USE_MEMDEV      1   /* Psuedo VFS files mem and null */
#define NATIVE_PRINTF   1   /* use target build environment's printf function */
#define NATIVE_SPRINTF  1   /* use target build environment's printf function */
#define PRINTF_STDARG   1   /* build ...printf() using stdarg.h */
#define TK_STDIN_DEVICE 1   /* Include stdin (uart) console code */
#define BLOCKING_APPS   1   /* applications block rather than poll */
#define INCLUDE_TCP     1  /* this link will include NetPort TCP w/MIB */

#define tk_yield packet_check
#define SignalPktDemux() ;
0 Kudos

389 Views
pnordby
Contributor I
I am struggling with the same problem. Any help regarding this would be greatly appreciated.
0 Kudos