[ell-i-developers] Brain storming for ENCX24J600 emulator & using it with Runtime Emulator

  • From: Asif Sardar <engr.asif.sardar@xxxxxxxxxxxxxx>
  • To: "ell-i-developers@xxxxxxxxxxxxx" <ell-i-developers@xxxxxxxxxxxxx>
  • Date: Mon, 24 Nov 2014 15:59:03 +0200

Hi all,

I wanted to brain storm here to collect ideas about the ENCX24J600 Ethernet
chip emulation in python. And, how actually would it be used in Runtime
emulator or in our testing system.

Until so far:


   Writing the code for ENCX24J600 in python. Most of the code structure is
   based on the existing actual driver in the Runtime (SPI SFR map,
   addresses, register initialization, SPI op-codes, Ethernet interface etc)

   Studying the Linux TAP/TUN and how would they be used in Tx & Rx logic

   Encapsulating the Tx & Rx in separate processes or threads (threading
   would suite in my point of view, if we run on computers that support no



   Thinking a way to emulate the ECNX24J600 memory organization e.g.
   separating different memory segments (SFR, Main memory SRAM etc) and
   providing interface in terms of SPI byte instructions and also bit
   set/clear instructions (In my point of view, encapsulating the memory as a
   python list/dictionary and providing interface for the SPI op-codes. I
   think, there is no need to emulate SPI itself, but only providing the SPI
   op-code interface to control ENCX24J600 would be fine).

   We also need to implement indirect addressing interface (external
   pointers) to the memory organization.

   Thinking a way for Tx & Rx buffer wrap around and also Rx queuing and
   buffer full/empty conditions.

   Synchronization and communication among Tx & Rx threads and how to make
   use of Linux virtual TUN/TAP devices here

   How to provide an interface for Runtime emulator code for CoAP to call
   ENCX24J600 emulator to send and receive packets

May be I am silly or completely wrong in my thinking above, so please
provide as much ideas as you can.


*With Best Regards,Asif Sardar.+358 43 8265795*

Other related posts:

  • » [ell-i-developers] Brain storming for ENCX24J600 emulator & using it with Runtime Emulator - Asif Sardar