readme.txt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. Lego Mindstorms EV3
  2. Intro
  3. =====
  4. This is the buildroot basic board support for the Lego Mindstorms EV3
  5. programmable brick.
  6. The Lego Mindstorms EV3 brick comprises a Texas Instruments AM1808 SoC, with
  7. an ARM 926EJ-S main processor running at 300 MHz.
  8. See:
  9. - https://en.wikipedia.org/wiki/Lego_Mindstorms_EV3
  10. - http://www.lego.com/en-us/mindstorms/products/ev3/31313-mindstorms-ev3/
  11. - http://www.ti.com/product/am1808
  12. How it works
  13. ============
  14. Boot process :
  15. --------------
  16. The EV3 boots from an EEPROM. This loads whatever is on the built-in 16MB flash
  17. (usually U-Boot) and runs it. The U-Boot from the official LEGO firmware and
  18. mainline U-Boot will attempt to boot a Linux kernel from the external µSD card.
  19. It will try to load a uImage (and optional boot.scr) from the first µSD card
  20. partition, which must be formatted with a FAT filesystem. If no µSD is found or
  21. it does not contain a uImage file, then the EV3 will boot the uImage from the
  22. built-in 16MB flash.
  23. How to build it
  24. ===============
  25. Configure Buildroot
  26. -------------------
  27. The lego_ev3_defconfig configuration provides basic support to boot on the Lego
  28. Mindstorms EV3 programmable brick:
  29. $ make lego_ev3_defconfig
  30. Build everything
  31. ----------------
  32. Note: you will need to have access to the network, since Buildroot will
  33. download the packages' sources.
  34. $ make
  35. Result of the build
  36. -------------------
  37. After building, you should obtain this tree:
  38. output/images/
  39. ├── boot.vfat
  40. ├── flash.bin
  41. ├── rootfs.ext2
  42. ├── rootfs.ext3 -> rootfs.ext2
  43. ├── rootfs.squashfs
  44. ├── sdcard.img
  45. ├── u-boot.bin
  46. ├── uImage -> uImage.da850-lego-ev3
  47. └── uImage.da850-lego-ev3
  48. Installation
  49. ============
  50. You can use either flash.bin or the sdcard.img. To load flash.bin, use the
  51. official Lego Mindstorms EV3 programming software firmware update tool to load
  52. the image. To use sdcard.img, use a disk writing tool such as Etcher or dd to
  53. write the image to the µSD card.
  54. NOTE: The sdcard.img created by lego_ev3_defconfig won't boot if the official
  55. LEGO firmware is installed on the EV3 (it has an old version of U-Boot that
  56. doesn't know about device tree). You must either set the kernel configuration
  57. option to append the device tree to the kernel or you can create a boot.scr
  58. that chainloads a newer U-Boot or you can install a newer U-Boot in the flash
  59. memory (just flashing u-boot.bin is enough).
  60. Finish
  61. ======
  62. To have a serial console, you will need a proper USB to Lego serial port
  63. adapter plugged into the EV3 sensors port 1.
  64. See:
  65. - http://botbench.com/blog/2013/08/15/ev3-creating-console-cable/
  66. - http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/
  67. The serial port config to use is 115200/8-N-1.
  68. Bluetooth
  69. =========
  70. To enable Bluetooth:
  71. # modprobe hci_uart
  72. # /usr/libexec/bluetooth/bluetoothd &
  73. # bluetoothctl
  74. [bluetooth]# power on