NetX packet pools on external SDRAM


For an application that needs to use a satellite connection I would need to be able to allocate a packet pool of at least 512 packets(since the delay is 700ms and I should transmit at least 1Mbps). I increased the windows size, but if I use the nx_packet_allocate function I don't have enough space in the internal RAM. Is there any way to get it allocated in the external SDRAM?

Best Regards


  • Anyone have any suggestions?

  • In reply to Paolo M.:

    Create a secondary pool in SDRAM and allocate packets in it. IF you know the address where you set up SDRAM, you can use it in the call directly...
    UINT nx_packet_pool_create(NX_PACKET_POOL *pool_ptr,
    CHAR *name,
    ULONG payload_size,
    VOID *memory_ptr, /* SDRAM address */

    ULONG memory_size);

    Then use THIS pool pointer (pool_ptr) when allocating space for packets in your code.

  • In reply to larry_c_not_Renesas:

    To try it out, I modified the file generated by the configurator and put it in read-only mode, if it works then I'll make a more elegant modification.