linux-setup.rst 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. *******************************************************************
  2. Linux 平台工具链的标准设置 (CMake)
  3. *******************************************************************
  4. :link_to_translation:`en:[英文]`
  5. .. include:: ../cmake-warning.rst
  6. 安装前提
  7. =====================
  8. 编译 ESP-IDF 需要以下软件包:
  9. - CentOS 7::
  10. sudo yum install git wget ncurses-devel flex bison gperf python pyserial cmake ninja-build ccache
  11. - Ubuntu 和 Debian::
  12. sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-pyparsing cmake ninja-build ccache
  13. - Arch::
  14. sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-pyparsing cmake ninja ccache
  15. .. note::
  16. 使用 ESP-IDF 需要 CMake 3.5 或以上版本。较早版本的 Linux 可能需要升级才能向后移植仓库,或安装 "cmake3" 软件包,而不是安装 "cmake"。
  17. 工具链的设置
  18. =========================
  19. .. include:: /_build/inc/download-links.inc
  20. Linux 版的 ESP32 工具链可以从 Espressif 的网站下载:
  21. - 64 位 Linux:
  22. |download_link_linux64|
  23. - 32 位 Linux:
  24. |download_link_linux32|
  25. 1. 下载完成后,将它解压到 ``~/esp`` 目录:
  26. - for 64-bit Linux:
  27. .. include:: /_build/inc/unpack-code-linux64.inc
  28. - for 32-bit Linux:
  29. .. include:: /_build/inc/unpack-code-linux32.inc
  30. .. _setup-linux-toolchain-add-it-to-path-cmake:
  31. 2. 工具链将会被解压到 ``~/esp/xtensa-esp32-elf/`` 目录。
  32. 要使用工具链,你还需要在 ``~/.profile`` 文件中更新环境变量 ``PATH``。要使 ``xtensa-esp32-elf`` 在所有的终端会话中都有效,需要将下面这一行代码添加到你的 ``~/.profile`` 文件中:::
  33. export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"
  34. 或者,你也可以给上面的命令创建一个别名。这样做的好处是,你仅在需要时才获取工具链,将下面这行代码添加到 ``~/.profile`` 文件中即可::
  35. alias get_esp32='export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"'
  36. 然后,当你需要使用工具链时,在命令行输入 ``get_esp32``,然后工具链会自动添加到你的 ``PATH`` 中。
  37. .. note::
  38. 如果将 ``/bin/bash`` 设置为登录 shell,且同时存在 ``.bash_profile`` 和 ``.profile``,则更新 ``.bash_profile``。
  39. 3. 退出并重新登录以使 ``.profile`` 更改生效。运行以下命令来检查 ``PATH`` 设置是否正确:::
  40. printenv PATH
  41. 检查一下字符串的末尾是否包含类似的工具链的路径::
  42. $ printenv PATH
  43. /home/user-name/bin:/home/user-name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/user-name/esp/xtensa-esp32-elf/bin
  44. 除了 ``/home/user-name``,应该有具体的安装的主路径。
  45. 权限问题 /dev/ttyUSB0
  46. ----------------------------------------------
  47. 使用某些 Linux 版本向 ESP32 烧写固件时,可能会出现 ``Failed to open port /dev/ttyUSB0`` 错误消息。此时,可以将当前用户增加至 :ref:` Linux Dialout 组 <linux-dialout-group-cmake>`
  48. Arch Linux 用户
  49. --------------------------------
  50. 在 Arch Linux 中运行预编译的 gdb (xtensa-esp32-elf-gdb) 需要 ncurses 5,但是 Arch 使用的是 ncurses 6。
  51. `AUR`_ 中存在向下兼容的库文件,可用于本地和 lib32 的配置:
  52. - https://aur.archlinux.org/packages/ncurses5-compat-libs/
  53. - https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/
  54. 在安装这些软件包之前,你可能需要将作者的公钥添加到你的密钥环中,具体见上方链接中的 "Comments" 部分的介绍。
  55. 或者,你也可以使用 crosstool-NG 编译一个链接到 ncurses 6 的 gdb。
  56. 后续步骤
  57. ================
  58. 后续开发环境设置,请参考 :ref:`get-started-get-esp-idf-cmake` 一节。
  59. 相关文档
  60. =================
  61. .. toctree::
  62. :maxdepth: 1
  63. linux-setup-scratch
  64. .. _AUR: https://wiki.archlinux.org/index.php/Arch_User_Repository