1 基础知识
env 工具和 源码 所处的目录都不能有中文或空格请先检查!!
code 是一个命令 点 ‘.’ 是一个参数表示当前目录,中间有一个空格。
romfs ramfs 文件系统中的文件名和c的变量的命名一样,只能由英文字母开头且仅包含数字和下划线。
修改 qemu.bat 里面的参数时,要注意那是一行参数中间没有空格(复制粘贴完要注意)。其中ifname=tap 的意思就是虚拟TAP网卡的名字重命名为了 tap.
终端显示 ?[m?[ 乱码
图中的 ?[m?[ 是终端字体颜色的代码,显示出来是因为终端不支持颜色显示。
添加环境变量方法
首先请确认下面红框里的环境变量是否都有。
注意:修改完环境变量之后,要注销或重启电脑才能使环境变量生效
添加环境变量方法
获取不到 IP 地址
获取不到 IP 地址的可能有很多,
一般启动 qemu 之后需要等个几秒才能获取到 IP 地址。
第一次开机可能获取不到 IP 地址,只要在 qemu 运行着的情况下,关闭网络共享,然后再开一次即可。
获取到的 IP 地址时 10.0.x.x 说明没有添加启动参数,请参照上面基础知识第 4 条添加启动参数。
如果运行 QEMU 时,tap 网卡的显示的不是未识别的状态 ,那可能是启动参数填错了,请参照上面基础知识第 4 条修改为正确的启动参数。
如果都设置对了,运行时 tap 网卡显示 未识别的状态,右键 tap 网卡点击 状态,如果是 无 Internet 连接 ,请进行网络诊断试试。
有 VMvare 网卡的可以先禁用 再试一次。
menuconfig 找不到要配置的项
应该是 env 的软件包索引需要更新了,或者需要先按空格开启这一项功能,然后再按回车进入配置项。
menuconfig 找不到要配置的项
解决方法:在 env 输入命令 pkgs --upgrade 更新 env 的运行脚本和软件包索引。 具体方法参见:env 使用手册
2 环境搭建
scons 编译结果很短
scons 编译结果很短
解决方法:这不是问题,编译器只编译被改变过的文件,没有改变的不会重复编译,而且,显示已经编译完成了。另外,图中的 ?[m?[ 是终端字体颜色的代码,显示出来是因为终端不支持颜色显示。
pkgs --update 更新失败
pkgs --update 更新失败
原因
没有安装Git,也可能是没有添加环境变量
解决方法
安装Git,添加环境变量,并需要注销或者重启系统添加环境变量方法
创建网桥失败
创建网桥失败
原因,共享和网桥只能使用一种方式,不要同时使用。
网络共享失败
网络共享失败
原因:
上面出现网络共享失败的原因已经找到,是因为PC机安装了360,360默认将防火墙服务关闭了,需要手动开启防火墙功能
解决方法:
具体解决办法,参考了 https://jingyan.baidu.com/article/d5c4b52bcb9f04da560dc59d.html
Tap 网卡显示未识别的网络
Tap 网卡显示未识别的网络
解决方法:这是==正常==的状态,获取不到ip 只要在qemu运行的情况(即tap网卡显示未识别的网络)下关闭网络共享,再重新打开即可。
Scons 不能用
Scons 不能用
运行有 SDIO 红色错误
运行有 SDIO 红色错误
解决方法:这个不用管,没影响。
ping 命令找不到
ping 命令找不到
原因:
打开了 RT-Thread online packages ---> 里面的某些功能,但是由于一些原因却没有成功更新到本地上造成的。所以有以下几种情况
没有在 online packages 里开启 ping 的功能
没有更新软件包
网络不好更新失败
更新成功了却没有 scons 重新编译
解决方法:
更新软件包的方法:
手动更新软件包 输入命令 pkgs --update
开启自动更新软件包功能
网络不好更新失败的:去官网下载最新版 env,然后在 env 的配置 menuconfig -s 里面开启镜像源下载 pkgs download using mirror server
3 Vscode 调试
输入 code 命令出错
输入 code 命令出错
注意:code 是命令 ‘.’ 是参数,中间有空格
解决方法:添加 vscode 所在路径的环境变量,添加环境变量,并需要注销或者重启系统
找不到 qemu debug
找不到 qemu debug
解决方法:请看下图中的操作步骤
调试工程注意事项
出现 cppdbg 错误
出现 cppdbg 错误
没有 Debug@windows 选项
没有 Debug@windows 选项
解决方法:按视频操作下载最新的源码。
出现一长串数字
调试出现一长串数字
原因:
没有在文件 qemu-dbg.bat 的参数前加 start 或者 没关闭之前运行的 qemu,要先关闭之前运行的 qemu,才能开始调试。
解决方法:
按教程中操作,在文件 qemu-dbg.bat 的参数前加 start 或着先关闭之前运行的 qemu,再按 F5。
按 F5 键 不管用
笔记本电脑的 F5 一般和功能键复用了,如果按下 F5 是调节屏幕亮度或其他功能,可以尝试按 Fn + F5。
4 文件系统
romfs 编译报错
原因:romfs ramfs 文件系统中的文件名和c的变量的命名一样,只能由英文字母开头且仅包含数字和下划线,不能有中横线。
ramfs 运行出现断言错误
ramfs 运行出现断言错误
解决方法:这是一个已经解决的 bug ,需要更新源码,拉取最新源码的方法见第一节环境搭建的视频。
中文名称文件显示乱码
中文名称文件显示乱码
原因:显示的编码不同,VScode 是 UTF8, env 是 gb2312,好像是。
在 env 中找不到示例代码
在 env 中找不到示例代码
解决方法:env 该更新了,输入命令 pkgs --upgrade 升级 env,然后请仔细看一遍 env 手册(链接地址在本文档头部)。
ls 出现 No such directory
解决方法:这是文件系统初始化失败了,查看文件系统初始化的代码,检查问题。
5 网络抓包
检测不到网卡的话,请自行百度。
6 socket 编程
注意:socket 不支持多线程操作
-
网络编程
+关注
关注
0文章
71浏览量
10075
原文标题:这到底是哪里出了错?网络编程常见问题及解决方法
文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论