This site provides tutorials on how to compile native programs written in C and C++ for the LEGO Mindstorms EV3 brick. I have tested two alternatives:

  1. Using the original LEGO firmware
  2. Using the alternative ev3dev firmware

Either option uses the same cross-compiler to create executable programs that can run in the EV3, however they both use different methods for accessing the hardware resources (e.g. motors, sensors).

Regardless of the firmware that users ultimately decide to use, I recommend mastering all the steps needed for compiling, uploading and running programs, as they will be used often. Next, readers should become familiar with hardware manipulation using the corresponding firmware API. Finally, users are encouraged to try out the demos that introduce more advanced concepts of system integration, localization and control.