I was reading this link. I am wondering to know how the WiFi could talk to CPU directly (and vice versa). I searched everywhere but no sign of such communication. AFAIK it's OS's job to handle this communication via WiFi driver, but is it a complete different way?

When you put both CPU and WiFi circuits on a single SoC, it's hard to understand how do they talk to each other without any OSes. Or there is some OS running on SoC?

One other question: Is it possible to implement TCP/IP stack with hardware? I mean some kind of direct access (or access through a hardware device) between CPU and WiFi.


closed as unclear what you're asking by pjc50, pipe, ThreePhaseEel, Voltage Spike, Dmitry Grigoryev Mar 27 '17 at 8:45

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    \$\begingroup\$ Do you understand that "OS" and "WiFi driver" are both pieces of software that are running on the "CPU directly"? So it isn't at all clear what distinction you're trying to make. \$\endgroup\$ – Dave Tweed Mar 26 '17 at 11:40
  • 1
    \$\begingroup\$ To the CPU WiFi is just like any other peripheral - a set of memory addresses that have to be written and read in specific way. You can do that in a device driver that can be part of an OS (but doesn't need to be), or in your user application, \$\endgroup\$ – Wouter van Ooijen Mar 26 '17 at 13:21

Or there is some OS running on SoC?

Generally yes -- either some form of Linux, or an RTOS -- either of which will have the necessary driver as well as the the higher levels of the TCP/IP protocol "stack" that make it easy to write applications.

Is it possible to implement TCP/IP stack with hardware?

Sort of. There are chips that implement TCP/IP in "hardware", but they're really just a separate microcontroller that's dedicated to that function, with the necessary firmware stored in its internal memory.


Not the answer you're looking for? Browse other questions tagged or ask your own question.