1回答

0收藏

[原创] 7.ESP32-DevkitC教程之Monitor调试

乐鑫ESP32 乐鑫ESP32 9944 人阅读 | 1 人回复 | 2018-01-19

本帖最后由 风之山谷 于 2018-1-19 12:52 编辑

ESP-IDF中make用法还有一种make monitor的用法,可以查看程序是否在运行,显示它的寄存器数据,可以用来调试程序。

打开Cygwin,即运行<解压缩目录>\AiThinkerIDE_V0.5\cygwin\Cygwin.bat,之后便会出现一个黑框,等一会之后便会出现字符,进入了Cygwin程序的仿Linux Shell界面。进入到要调试的程序的目录,比如说<解压缩目录>\AiThinkerIDE_V0.5\cygwin\home\aithinker\project\esp-idf\examples\get-started\hello_world,在界面中输入cd ~/project\esp-idf\examples\get-started\hello_world,按回车,再输入
  1. make monitor
复制代码
进行监视程序。


但是在安可信套件中运行make monitor来监控的时候会报错,在windows系统下使用Cygwin时会遇到如图情况,
  1. MONITOR
  2. /bin/sh:winpty: Command not found
  3. make:  *** [ ................................. ] Error 127
复制代码
显示winpty命令没有找到,我也很奇怪,于是在官方中找到了一个说明,链接为http://esp-idf.readthedocs.io/en/latest/get-started/idf-monitor.html。


如图在官网中看见已知问题中,可以执行
  1. pacman -S winpty
复制代码
来修复,然后我们用的是Cygwin程序,里面并不是用pacman来管理程序。于是谷歌之,发现这个是用来把windows powershell中转换成Linux Shell的工具,系统中并没有安装。搜索Cygwin Packages库中,并没有找到winpty,看来官方并不支持winpty。再谷歌之,外国友人也有相同的问题,它们提供了一种解决方法,并且把程序放在https://github.com/rprichard/winpty上。

以下为该程序的说明:
  1. winpty is a Windows software package providing an interface similar to a Unix pty-master for communicating with Windows console programs. The package consists of a library (libwinpty) and a tool for Cygwin and MSYS for running Windows console programs in a Cygwin/MSYS pty.
复制代码
如果要想在Cygwin使用下使用该winptypackages,需要确保已经安装了以下的依赖包,安可信环境的Cygwin已经集成了以下的Packages,所以可以不用理了。
  1. mingw64-x86_64-gcc-g++
  2. gcc-g++
  3. make
复制代码
然后开始把winpty Packages源码包下载下来编译:

1.先把程序git clone下载到本地~/winpty
  1. git clone https://github.com/rprichard/winpty ~/winpty
复制代码

2.下载完成之后,这个winpty packages源码包就放在在~/winpty中


3.在开始编译这个packages之前由于涉及到系统文件,需要用管理员身份运行,具体操作是关闭当面的Cygwin窗口,对着<解压缩目录>\AiThinkerIDE_V0.5\cygwin\Cygwin.bat右键->以管理员身份运行,成功进入Cygwin后,用cd命令跳转到刚刚放winpty packages编译包的地方,比如:
  1. cd ~/winpty/
复制代码
然后对winpty进行配置,输入以下命令:
  1. ./configure
复制代码
自动完成配置,如图。


然后输入以下命令进行编译:
  1. make install
复制代码
等几分钟编译完成,显示下图则安装编译并安装成功了。


如果没有出现成功,出现如下图,则是没有用管理员权限运行Cygwin程序,解决方法是关闭并用管理员权限运行Cygwin



现在测试一下winpty功能,输入:
  1. Winpty powershell
复制代码
即可看见进入了windows系统的powershell,这里简单测试一下加法,输入
  1. 10+20
复制代码
此时显示30即功能正常。输入
  1. exit
复制代码


即可退出windows powershell此时cd进入待调试的程序根目录,再次运行make monitor,则成功输出,如下图。



分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

jack163com

发表于 2018-1-23 10:58:35 | 只看该作者

楼主我可进入了windows系统的powershell,测试一下加法也正常,可是运行make install还是会出现如下内容
监控失败。Cygwin是以管理员权限运行的

3-15.png (95.02 KB, 下载次数: 123)

3-15.png
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条