ESP8266 MAC(OSX)开发环境搭建
来源:互联网 发布:西安程序员工资 编辑:程序博客网 时间:2024/05/18 15:54
ESP8266 MAC(OSX)开发环境搭建
资料
ESP8266官网
NodeMcu官网
ESP8266 linux环境编译工具链
ESP8266开源编译工具链源码
OSX搭建ESP8266开发环境
OSX搭建ESP8266开发环境2
安装MAC编译工具链
- 安装brew
- 安装命令行工具前安装最新版本Xcode(>=8.3)
- 安装相关工具
$ brew tap homebrew/dupes$ brew install binutils coreutils automake wget gawk libtool help2man gperf gnu-sed --with-default-names grep$ export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
- 安装MacPort下载地址与gsed
export PATH=/opt/local/bin:$PATHexport PATH=/opt/local/sbin:$PATHsudo port -v selfupdateport install gsed
- 创建大小写敏感的文件系统,MAC默认文件名不区分大小写
$ sudo hdiutil create ~/Development/esp-open-sdk.dmg -volname "esp-open-sdk" -size 5g -fs "Case-sensitive HFS+"$ sudo hdiutil mount ~/Development/esp-open-sdk.dmg$ cd /Volumes/esp-open-sdk
- 下载esp-open-sdk编译工具源码
git clone https://github.com/pfalcon/esp-open-sdk.git --recursive
- Linux切Mac的一些修改
(==注意这里用的sed命令是Mac下的,不是gsed,如果执行失败把sed替换成/usr/bin/sed==)
cd esp-open-sdksed -i.bak '1s/^/gettext=\'$'\n/' crosstool-NG/kconfig/Makefilesed -i.bak -e 's/[[:<:]]sed[[:>:]]/gsed/' Makefilesed -i.bak -e 's/[[:<:]]awk[[:>:]]/\$(AWK)/' lx106-hal/src/Makefile.amsed -i.bak 's/AM_PROG_AS/AM_PROG_AS\'$'\nAM_PROG_AR/' lx106-hal/configure.ac
- 开始编译
make STANDALONE=n
==编译出错1:==
./ct-ng build[INFO ] Performing some trivial sanity checks[INFO ] Build started 20170408.174558[INFO ] Building environment variables[INFO ] =================================================================[INFO ] Retrieving needed toolchain components' tarballs[ERROR] [ERROR] >>[ERROR] >> Build failed in step 'Retrieving needed toolchain components' tarballs'[ERROR] >> called in step '(top-level)'[ERROR] >>[ERROR] >> Error happened in: do_libc_get[scripts/build/libc/newlib.sh@12][ERROR] >> called from: main[scripts/crosstool-NG.sh@594][ERROR] >>[ERROR] >> For more info on this error, look at the file: 'build.log'[ERROR] >> There is a list of known issues, some with workarounds, in:[ERROR] >> 'share/doc/crosstool-ng/crosstool-ng-1.22.0-60-g37b07f6f-dirty/B - Known issues.txt'[ERROR] [ERROR] (elapsed: 5:08.00)[05:10] / make[2]: *** [build] Error 1make[1]: *** [_toolchain] Error 2make: *** [/Volumes/esp-open-sdk/esp-open-sdk/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc] Error 2
分析/Volumes/esp-open-sdk/esp-open-sdk/crosstool-NG/build.log定位源码newlib.sh 12行,原因为下载失败
do_libc_get() { local libc_src="{http://mirrors.kernel.org/sourceware/newlib, ftp://sourceware.org/pub/newlib}" if [ "${CT_LIBC_NEWLIB_CUSTOM}" = "y" ]; then CT_GetCustom "newlib" "${CT_LIBC_VERSION}" \ "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}" else # ! custom location if echo ${CT_LIBC_VERSION} |${grep} -q linaro; then YYMM=`echo ${CT_LIBC_VERSION} |cut -d- -f3 |${sed} -e 's,^..,,'` CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src} \ https://releases.linaro.org/${YYMM}/components/toolchain/newlib-linaro \ http://cbuild.validation.linaro.org/snapshots else CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src} \ http://mirrors.kernel.org/sources.redhat.com/newlib fi fi # ! custom location}
解决方法:去http://mirrors.kernel.org/sourceware/newlib手动下载newlib-2.0.0.tar.gz,放至 /Volumes/esp-open-sdk/esp-open-sdk/crosstool-NG/.build/tarballs目录,再重新执行编译
- 将生成的交叉编译工具xtensa-lx106-elf加到环境变量
vim $HOME/.bash_profileexport PATH=$PATH:/esptools/esp-open-sdk/xtensa-lx106-elf/binsource $HOME/.bash_profile
编译
- 进入esp8266代码目录,执行下面命令开始编译
make COMPILE=gcc
烧录
安装usb转串口驱动(比如PL2303)
- 下载驱动
- 安装
- 安装完成,重启电脑之后我们在“网络偏好设置”中,发现多了一项USB-SerialController
- 终端执行下面命令查看,tty.usbserial就是我们的设备
192:dev shenhaibo$ cd /dev192:dev shenhaibo$ ll tty.*crw-rw-rw- 1 root wheel 20, 0 4 9 11:02 tty.Bluetooth-Incoming-Portcrw-rw-rw- 1 root wheel 20, 2 4 9 11:04 tty.usbserial
固件下载工具配置
- 下载源码
git clone https://github.com/themadinventor/esptool.git
- 配置环境变量
vim $HOME/.bash_profileexport PATH=$PATH:/Users/shenhaibo/Development/ESP6288/esptoolsource $HOME/.bash_profile
- 安装PySerial下载地址
tar xfvz pyserial-2.7.tar.gzcd pyserial-2.7sudo python setup.py install
固件下载工具使用
- 擦除芯片
sudo esptool.py --port /dev/tty.usbserial erase_flash
- 下载固件
sudo esptool.py --port /dev/tty.usbserial write_flash -fm dio -fs 32m -ff 40m 0x00000 ~/Desktop/nodemcu_float_0.9.6-dev_20150704.bin
烧录说明
==Gokit3.0 ESP8266是:Flash size 32Mbit-C1: 1024KB+1024KB==
***********************BOOT MODE***********************download:Flash size 8Mbit: 512KB+512KBboot_v1.2+.bin 0x00000user1.1024.new.2.bin 0x01000esp_init_data_default.bin 0xfc000 (optional)blank.bin 0x7e000 & 0xfe000Flash size 16Mbit: 512KB+512KBboot_v1.2+.bin 0x00000user1.1024.new.2.bin 0x01000esp_init_data_default.bin 0x1fc000 (optional)blank.bin 0x7e000 & 0x1fe000Flash size 16Mbit-C1: 1024KB+1024KBboot_v1.2+.bin 0x00000user1.2048.new.5.bin 0x01000esp_init_data_default.bin 0x1fc000 (optional)blank.bin 0xfe000 & 0x1fe000Flash size 32Mbit: 512KB+512KBboot_v1.2+.bin 0x00000user1.1024.new.2.bin 0x01000esp_init_data_default.bin 0x3fc000 (optional)blank.bin 0x7e000 & 0x3fe000Flash size 32Mbit-C1: 1024KB+1024KBboot_v1.2+.bin 0x00000user1.2048.new.5.bin 0x01000esp_init_data_default.bin 0x3fc000 (optional)blank.bin 0xfe000 & 0x3fe000***********************NON-BOOT MODE***********************downloadeagle.flash.bin 0x00000eagle.irom0text.bin 0x40000blank.bin Flash size 4Mbit: not supported Flash size 8Mbit: 0x7e000 & 0xfe000 Flash size 16Mbit: 0x7e000 & 0x1fe000 Flash size 16Mbit-C1: 0xfe000 & 0x1fe000 Flash size 32Mbit: 0x7e000 & 0x3fe000 Flash size 32Mbit-C1: 0xfe000 & 0x3fe000esp_init_data_default.bin (optional) Flash size 8Mbit: 0xfc000 Flash size 16Mbit: 0x1fc000 Flash size 16Mbit-C1: 0x1fc000 Flash size 32Mbit: 0x3fc000 Flash size 32Mbit-C1: 0x3fc000*NOTICE*:UPDATE is not supported in non-boot mode***********************************************************Update steps1.Make sure TE(terminal equipment) is in sta or sta+ap modeex. AT+CWMODE=3 OK2.Make sure TE got ip addressex. AT+CWJAP="ssid","12345678" OK AT+CIFSR 192.168.1.1343.Let's updateex. AT+CIUPDATE +CIPUPDATE:1 found server +CIPUPDATE:2 connect server +CIPUPDATE:3 got edition +CIPUPDATE:4 start start OKnote. If there are mistakes in the updating, then break update and print ERROR.
烧录示例
==如:gokit3_SoC_ESP8266_03000003_2016120711项目==
sudo esptool.py --port /dev/tty.usbserial write_flash -fm dio -fs 32m -ff 40m 0x00000 boot_v1.6.bin sudo esptool.py --port /dev/tty.usbserial write_flash -fm dio -fs 32m -ff 40m 0x01000 gokit3_SoC_ESP8266_03000003_2016120711.bin sudo esptool.py --port /dev/tty.usbserial write_flash -fm dio -fs 32m -ff 40m 0x3fc000 esp_init_data_default.bin sudo esptool.py --port /dev/tty.usbserial write_flash -fm dio -fs 32m -ff 40m 0x3fe000 blank.bin
0 0
- ESP8266 MAC(OSX)开发环境搭建
- Mac osx开发环境搭建
- MAC OSX上搭建Android开发环境
- Mac osx 下搭建java开发环境
- MAC OSX Docker开发环境搭建
- mac osx 搭建php开发环境
- MAC OSX 搭建android 开发环境
- mac osx 下 nodejs开发环境搭建
- mac osx下 react 开发环境搭建
- Mac osx 下搭建java开发环境
- Mac osx环境下android开发环境搭建
- Mac OSX平台搭建Android开发环境(github)
- 在Mac OSX系统中搭建Python集成开发环境
- mac osx 搭建8266开发环境简单记录
- cordova 安卓开发环境搭建(Mac OSX
- ESP8266 Linux开发环境搭建
- <WIFI>搭建ESP8266开发环境
- Mac OSX 上OpenCV环境搭建小记
- jquery.cookie() 设置过期时间 (自己记录使用)
- 小莫的成神之旅(一)原生js封装组件tooltip
- 单元测试:java.lang.IllegalStateException: Failed to load ApplicationContext
- cout<<重载,将定义置于头文件中发生错误(未解)
- 装饰器模式(Decorator Pattern)
- ESP8266 MAC(OSX)开发环境搭建
- JSON初认识
- java 101-200之间的素数
- HDU 5742 It's All In The Mind 贪心
- Android实战之app版本更新升级全文章(三)
- mysql按周统计数据
- 数据库<3>
- POJ1751 Highways
- 实时监听输入框值变化:oninput & onpropertychange