Detailed documentation?

Looking for detailed data sheets for:

  • The x86 chip in here (specifically something that provides information on the integrated peripherals, registers, etc...)
  • The ARC chip in here (as above, also - reference for the instruction set used on the ARC)

Also looking for information on how the decision is made to target the x86 chip vs. the arc chip when code is being compiled.

(Given how low level most of FastLED's working code is, this is the type of reference information that I usually need for porting to a new platform).

Arduino user code never runs on the x86; that core is only there as a companion to run USB/serial code.

Intel has not published datasheets on the chips/cores themselves yet. However, you can find most of the low level details you need by installing the Arduino101 board package and then exploring the files in Packages/Intel/hardware/arc32.

ARC is the instruction set. ARC (processor) - Wikipedia. However, you probably won't need to know any more than that. All the low level details including direct GPIO register writes are available in the sources you'll find in the arc32 folder.

edit: Also a nice example of low-level ARC code in the NeoPixel library version installed by the Arduino101 package. Look for the "defined(ARDUINO_ARC)" code, it probably does something very similar to what you're interested in doing.