Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
网络学习营
【网络编程学习】peter lu+上手RT-Thread,在Win7 64bit QEMU上运行
发布于 2018-07-31 23:58:15 浏览:3502
订阅该版
* 本帖最后由 pingl98 于 2018-8-9 02:08 编辑 * 一直想要学习RTOS,于是参加了RT-Thread网络编程学习营,虽然是RTT菜鸟,但机不可失,刚好工作上也可以用到。 **建置环境**:Windows 7 64bit,下载工具为64bit版本 **首先要建置RT-Thread的编程环境**: [list=1] (*)先详阅RT-Thread 文档:在 Windows QEMU 上运行 RT-Thread,[http://ci.rt-thread.com/3067/site/topics/qemu/setup/](http://ci.rt-thread.com/3067/site/topics/qemu/setup/) (*)进入RT-Thread下载页面,[https://www.rt-thread.org/page/download.html](https://www.rt-thread.org/page/download.html), (*)点选“RT-Thread Env工具下载”,这会来到 env_release的百度网盘,进入env_release文件夹,勾选“env_released_0.7.0.zip"并下载(note:env_released_0.7.0_lite.zip是不含gcc与qemu的,不能用这个。) (*)将 "env_released_0.7.0.zip" 解压到本地硬盘中,路径放在 "D:\env" (note:注意存放的路径中不能有空格与中文,否则会出现找不到的情况) (*)(extra step)参考"D:\env\Add_Env_To_Right-click_Menu.png"的步骤,将env prompt 加到鼠标右键的选单中,方便后续操作。  [/list] **再来要下载RT-Thread的源码**: 方法A:使用git clone指令下载 准备步骤:下载并安装 "Git-2.18.0-64-bit" from [Git SCM](https://git-scm.com/download/win) [list=1] (*)打开env prompt,cd 到源码的文件夹,如"D:\src". (*)使用git clone指令下载,从国内 type "git clone [https://gitee.com/rtthread/rt-thread](https://gitee.com/rtthread/rt-thread)",从国外 type "git clone [https://github.com/RT-Thread/rt-thread](https://github.com/RT-Thread/rt-thread)" (*)约几分钟(或更久)后源码就会下载到 "D:\src t-thread" (*)cd 到qemu bsp的文件夹,如"D:\src t-thread\bsp\qemu-vexpress-a9" (*)第一次设置bsp,type "menuconfig",先不改任何选项,然后"exit",当提示是否储存configuration时,选"yes",会将设定存到 ".config" 档案中 (*)然后设定自动更新packages,type “menuconfig -s",选"Env config --->",按Enter,再勾选"Auto update pkgs config" 和 "pkgs download using mirror server",储存并退出  (*)type ”pkgs --upgrade",更新最新的packages设定 [/list] 方法B:下载RT-Thread的源码包 [list=1] (*)进入RT-Thread git库,国内 [https://gitee.com/rtthread/rt-thread](https://gitee.com/rtthread/rt-thread) ,国外 [https://github.com/RT-Thread/rt-thread](https://github.com/RT-Thread/rt-thread) (*)点选"Clone or download",再选"Download zip",下载"rtthread-rt-thread-master.zip" (*)解压到源码的文件夹,如"D:\src",源码路径为"D:\src t-thread" (*)cd 到qemu bsp的文件夹,如"D:\src t-thread\bsp\qemu-vexpress-a9" (*)第一次设置bsp,type "menuconfig",先不改任何选项,然后"exit",当提示是否储存configuration时,选"yes",会将设定存到 ".config" 档案中 (*)然后设定自动更新packages,type “menuconfig -s",选"Env config --->",按Enter,再勾选"Auto update pkgs config" 和 "pkgs download using mirror server",储存并退出 (*)type ”pkgs --upgrade",更新最新的packages设定 [/list] **Env与源码都有了,再来要下载一堆工具程式**: [list=1] (*)Tap for windows,"tap-windows-9.21.2.exe" from [TAP-Windows](http://swupdate.openvpn.org/community/releases/tap-windows-9.21.2.exe) (*)Wireshark抓包工具,"Wireshark-win64-2.6.2.exe" from [Wireshark ORG](https://www.wireshark.org/#download) (*)网路调试助手,"netassist.rar" from [CM Soft](http://www.cmsoft.cn/reslink.php?id=205) (*)Tftpd64,"Tftpd64-4.60-setup.exe" from [RTT Tools](https://github.com/RT-Thread-packages/netutils/blob/master/tools/Tftpd64-4.60-setup.exe) (*)Putty, "putty-64bit-0.70-installer.msi" from [Putty page](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) [/list] **在网路编程前,要先设置QEMU的TAP 网卡**: [list=1] (*)安装 "tap-windows-9.21.2.exe" (*)打开控制台的网路和共享中心,选"更改适配器设置",将 TAP-Windows Adapter V9 的名称改为 "tap"  (*)点选上网的网卡,从右键菜单打开属性,选"共享",勾选"允许其他网路用户通过此计算机的 Internet 连接来连接" (*)在家庭网路连接方格中,选"tap"网卡 (*)按"确定“,保存设定  (*)设置qemu使用tap网卡,找到 bsp\qemu-vexpress-a9 路径下的 qemu.bat 文件,使用文本编辑器打开该文件,在下图所示位置添加 -net nic -net tap,ifname=tap 配置,并保存退出  [/list] [align=center]![FastAdmin]() 万事俱备,可以开始网路编程了: **A)开启 Ping 工具** [list=1] (*)在bsp\qemu-vexpress-a9 路径下,打开Env prompt,type "menuconfig" (*)选RT-Thread online packages -> IoT - internet of things -> netutils: Networking utilities for RT-Thread -> Enable Ping utility,Exit 并储存设定。  (*)type "scons",开始编程,若无错误,结果如图。  (*)type “qemu",进入msh。 (*)type "ping www.taobao.com",成功结果如图。  [/list] **B)TCP 客户端** [list=1] (*)在bsp\qemu-vexpress-a9 路径下,打开Env prompt,type "menuconfig" (*)通过 env 配置将示例代码加入到项目中 ``` RT-Thread online packages ---> miscellaneous packages ---> samples: RT-Thread kernel and components samples ---> network sample options ---> (*) [network] tcp client ```  (*)type "scons",开始编程 (*)type “qemu",进入msh。 (*)先打开网络调试助手,开启一个 TCP 服务器,如图。  (*)在msh,type "tcpclient 192.168.199.151 5000",若连接成功,可以在网络调试助手,客户端的方格中看到连接的客户。 (*)在网络调试助手,发送message(type "q"发送可结束连接),可以在qemu中看到message,如图。  [/list] **C)UDP 客户端** [list=1] (*)在bsp\qemu-vexpress-a9 路径下,打开Env prompt,type "menuconfig" (*)通过 env 配置将示例代码加入到项目中 ``` RT-Thread online packages ---> miscellaneous packages ---> samples: RT-Thread kernel and components samples ---> network sample options ---> (*) [network] udp client ```  (*)type "scons",开始编程 (*)type “qemu",进入msh。 (*)先打开网络调试助手,开启一个 UDP 服务器,如图。  (*)在msh,type "udpclient 192.168.199.151 5000",若接收成功,可以在网络调试助手,看到10个 UDP messages,如上图。  [/list] **D)NTP 获取网络时间** [list=1] (*)在bsp\qemu-vexpress-a9 路径下,打开Env prompt,type "menuconfig" (*)通过 env 配置将示例代码加入到项目中 ``` RT-Thread online packages ---> IoT - internet of things ---> netutils: Networking utilities for RT-Thread ---> (*) Enable NTP(Network Time Protocol) client ```  (*)type "scons",开始编程 (*)type “qemu",进入msh。 (*)在msh,type "ntp_sync",若成功,可以看到获取到正确的网络时间,如图。  [/list] **E)Telnet 远程登陆** [list=1] (*)在bsp\qemu-vexpress-a9 路径下,打开Env prompt,type "menuconfig" (*)通过 env 配置将示例代码加入到项目中 ``` RT-Thread online packages ---> IoT - internet of things ---> netutils: Networking utilities for RT-Thread ---> (*) Enable Telnet server ```  (*)type "scons",开始编程 (*)type “qemu",进入msh。 (*)先查看 ip 地址,在msh,type "ifconfig",记下 ip 地址,如图。  (*)在msh,type "telnet_server",进入伺服器模式,如图。  (*)在PC端,打开telnet程式(使用putty),连接到 ip 地址,如图。  (*)若连接成功,就会看到 msh prompt,type "ps",列出运行线程的讯息,type "ls",列出档案讯息,如图。  [/list] **F) TFTP 文件传输** [list=1] (*)在bsp\qemu-vexpress-a9 路径下,打开Env prompt,type "menuconfig" (*)通过 env 配置将示例代码加入到项目中 ``` RT-Thread online packages ---> IoT - internet of things ---> netutils: Networking utilities for RT-Thread ---> (*) Enable TFTP(Trivial File Transfer Protocol) server ```  (*)按下面路径找到 lwIP 的 tcpip 默认配置,将原来默认的 1024 改为 2048 ``` RT-Thread Components ---> Network stack ---> light weight TCP/IP stack ---> (2048) the stack size of lwIP thread ```  (*)type "scons",开始编程 (*)type “qemu",进入msh。 (*)先查看 ip 地址,在msh,type "ifconfig",记下 ip 地址(如192.168.137.139) (*)在msh,type "tftp_server",进入伺服器模式,如图。  (*)在PC端,打开tftpd程式,设定 ip 地址,如图。  (*)先传输(put)一个文件(sky city.png)到 RT-Thread 上,如图所示。  (*)在msh,type "ls",可看到刚上传的档案。  (*)再下载(get)一个文件(hello.txt)到 PC上,如图所示。   (*)在PC端,可看到刚下载的档案。  [/list] [align=center]![FastAdmin]() 在网路编程的过程中,有时需要一些工具,例如, **抓包工具wireshark:** [list=1] (*)如想要看NTP的packet,可以用Wireshark,设定在tap网卡上,查看NTP protocol packet,如图。  (*)并检查NTP的packet内容,如图。  [/list] [align=center]![FastAdmin]() **结论:**就第一次使用RT-Thread的新手而言,env 工具提供了一个很容易上手的开发环境,QEMU仿真器则免去了架设硬体的烦恼,不到几天的时间就学习了TCP,UDP,TELNET,TFTP,NTP等的知识,真是不错。可以对照QEMU的环境在硬件上开发就容易的多了。End [align=center]![FastAdmin]()
查看更多
0
个回答
默认排序
按发布时间排序
暂无答案,快来添加答案吧
撰写答案
登录
注册新账号
关注者
0
被浏览
3.5k
关于作者
pingl98
这家伙很懒,什么也没写!
提问
5
回答
0
被采纳
0
关注TA
发私信
相关问题
1
【LWIP学习营】第一关开发环境搭建
2
LWIP学习营第一周入门移植问题汇总贴
3
【LWIP学习营】f407+lan8720A小结
4
【LwIP学习营】【第一周】仅零散记录,无主题
5
【LWIP学习营】正点原子探索者F407+LAN8720第一周小结
6
【LwIP学习营】【第一周】网络通信基础及实现TCP 聊天客户端
7
【LwIP学习营】【第一周】LWIP移植
8
【LwIP学习营】【第一周】LWIP移植
9
【LwIP学习营】【第一周】开发板适配
10
【LwIP学习营】【第一周】环境搭建和配置验证
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RT-Thread OS应用开发实战线上师资培训通知
2
【ci】【github】【bsp】RT-Thread仓库的CI自动编译测试
3
免费解锁MCU超能力!4月AIoT实战培训三城巡演
4
rt-thread主仓 BSP瘦身指南
5
Studio环境下ST M7系列USB主机(CherryUSB)配置及踩坑
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
rt-smart
RTC
FAL
I2C_IIC
cubemx
ESP8266
WIZnet_W5500
UART
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
SFUD
msh
ulog
C++_cpp
at_device
本月问答贡献
RTT_逍遥
4
个答案
2
次被采纳
聚散无由
3
个答案
2
次被采纳
踩姑娘的小蘑菇
5
个答案
1
次被采纳
a1012112796
4
个答案
1
次被采纳
YZRD
2
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部