AnsweredAssumed Answered

VDK + lwip +__cplb_miss_without_replacement

Question asked by Sumetaso on Jul 20, 2010
Latest reply on Apr 28, 2011 by apankoke

Hi all,

 

I am currently having problems with a project that I have started using the "LWIP wizard" for BF561 using VisualDSP++ v5.0 update 8.

 

Note that I am working on custom hardware, using the MDMA_9218 driver. (And yes, it is ported to work for the BF561, and has undergone basic testing)

 

After I close down a thread which contains one accept socket (I do close the socket before thread exit ) and try to start the thead again, I can not bind to the same port with a new accept socket.

 

With accept socket I mean a socket that I bind to a port, listen and which I will call accept on.

 

When I allocate the thread for the 2nd time and call "bind", I get a "__cplb_miss_without_replacement".

 

When checking the sequencer status, I see that it is an EXCAUSE 26, "Data access CPLB miss".

Checking the sequencer RETX value I find 0x0080F3D6.

 

Then I check my dcplbs_table[]:

---snip----

// 512 MB (Maximum) SDRAM memory space (64 MB populated on Ez-kit)
   {0x00000000, (PAGE_SIZE_4MB | CACHE_MEM_MODE | CPLB_LOCK)},
   {0x00400000, (PAGE_SIZE_4MB | CACHE_MEM_MODE | CPLB_LOCK)},
  
   // CPLBs covering 56MB
   {0x00800000, (PAGE_SIZE_4MB | CACHE_MEM_MODE)},
   {0x00c00000, (PAGE_SIZE_4MB | CACHE_MEM_MODE)},
   {0x01000000, (PAGE_SIZE_4MB | CACHE_MEM_MODE)},
   {0x01400000, (PAGE_SIZE_4MB | CACHE_MEM_MODE)},
   {0x01800000, (PAGE_SIZE_4MB | CACHE_MEM_MODE)},
   {0x01c00000, (PAGE_SIZE_4MB | CACHE_MEM_MODE)},
   {0x02000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE)},
   {0x02400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE)},
   {0x02800000, (PAGE_SIZE_4MB | CPLB_DNOCACHE)},
   {0x02c00000, (PAGE_SIZE_4MB | CPLB_DNOCACHE)},
   {0x03000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE)},
   {0x03400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE)},
   {0x03800000, (PAGE_SIZE_4MB | CPLB_DNOCACHE)},
   {0x03c00000, (PAGE_SIZE_4MB | CPLB_DNOCACHE)},

---snip---

 

So as far as I understand I should have a valid CPLB data value for that address.

 

But I have also noticed, that the first time I create the thread, it has ID:5, the second time I create it, it has ID:16389.

And as far as I understand it should have ID:6, or ID:5, thinking that I have not created or destroyed any other threads in the meantime.

 

Any suggestions to what type of error I should search for regarding this problem?

 

Regards,

Alf

Outcomes