FL2440-WiFi模块学习之用rt3070无线网卡使开发板上网

arm9+linux fl2440 实现RT3070无线网卡AP模式并使开发板接入Wifi上网 主机操作系统:centos 6.7 交叉编译器版本:arm-linux-gcc-4.5.4 开发板平台:fl2440 linux内核版本:Linux-3.0 开发 模板:ralink rt3070 Author:  shaocongshuai [*] Networking support  ---> Networking options  ---> [*] Net 阅读详情

主机操作系统:Centos 6.7
交叉编译器版本:buildroot-2012.08 
开发板平台: FL2440 
Linux内核版本: linux-3.0 
开发模块:WIFI-STA模式使开发板上网


RT3070有两种工作模式:STA(station)模式和SoftAP(Access Point)模式。

STA模式就是笔记本上无线网卡模式,用来连接到无线路由器上上网。就是客户端模式(笔记本)。

linux3.0以上的内核中已经含有了RT3070的通用mac80211驱动框架,所以我首先直接基于此并借助wpa_suppicant软件来实现Wifi的STA模式。


一、配置Linux内核支持wireless无线上网


[*] Networking support  --->  
        -*-   Wireless  --->
     <*>   cfg80211 - wireless configuration API                                            
     [*]     enable powersave by default                            
     [ ]     cfg80211 DebugFS entries                                
     [*]     cfg80211 wireless extensions compatibility                
     [*]   Wireless extensions sysfs files                               
     {*}   Common routines for IEEE802.11 drivers                         
     [ ]   lib80211 debugging messages                              
     <*>   Generic IEEE 802.11 Networking Stack (mac80211)                
Device Drivers  --->
       Generic Driver Options  --->
      (/sbin/hotplug) path to uevent helper                                  
      -*- Userspace firmware loading support                                
     [*]   Include in-kernel firmware blobs in kernel binary              
      ()    External firmware blobs to build into the kernel binary         
    [*] Network device support  --->
           [*]   Wireless LAN  --->
               <*>   Ralink driver support  --->                                                            
               <*>   Ralink rt27xx/rt28xx/rt30xx (USB) support                      
                 [*]   Ralink debug output



检查以上选项在内核中都选好后,make编译,将编译好的内核烧录到开发板中,并插入rt3070无线网卡,打印如下信息。

>: lsusb
Bus 001 Device 001: ID 1d6b:0001
Bus 001 Device 002: ID 05e3:0606
Bus 001 Device 003: ID 148f:3070


二、下载无线网络配置工具Wireless tools和Wpa_supplicant以及Openssl移植


目前可以使用wireless-tools或wpa_supplicant工具来配置无线网络。但要注意对无线网络的配置是全局性的,而非针对具体的接口。wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。另外,wpa_supplicant目前只能连接到那些你已经配置好ESSID的无线网络。而wireless-tools支持几乎所有的无线网卡和驱动,但它不能连接到那些只支持WPA的AP。

1、  Wireless tools移植

在PC上下载压缩包

http://download.youkuaiyun.com/detail/u010944778/8916883

解压后修改Makefile

[fanmaolin@Centeros wireless_tools.29]$ vim Makefile 
11 ## Compiler to use (modify this for cross compile).
 12 CC = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc	//根据自己的路径修改
 13 ## Other tools you need to modify for cross compile (static lib only).
 14 AR = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar
 15 RANLIB = /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ranlib
[fanmaolin@Centeros wireless_tools.29]$ make



将ifrename、iwconfig、iwevent等绿色标记的工具下载到开发板的/bin和/lib 目录下,并给777权限
chmod 777 iw* libiw.so.29

2、 Openssl工具移植

现在的wifi网络大多都是WPA加密,所以wpa_supplicant对我们来说除了配置无线网络的需求之外,它更主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的。而要加密就要使用到相关的加密算法,常用的密钥等,所以我们要先移植Openssl工具再移植wpa-supplicant。因为后面编译wpa_supplicant要依赖openssl中的lib和include

pc上下载压缩包

[fanmaolin@Centeros wifi]$ wget https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/source/openssl-1.0.0s.tar.gz

解压后在 openssl-1.0.0s目录下创建安装目录
[fanmaolin@Centeros openssl-1.0.0s]$ mkdir install
修改Makefile
[fanmaolin@Centeros openssl-1.0.0s]$ vim Makefile
 29 INSTALLTOP=/home/fanmaolin/fl2440/3rdparty/wifi/openssl-1.0.0s/install/
 30
 31 # Do not edit this manually. Use Configure --openssldir=DIR do change this!
 32 OPENSSLDIR=/home/fanmaolin/fl2440/3rdparty/wifi/openssl-1.0.0s/install/
 62 CC= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
 63 CFLAG= -O
 64 DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -           DOPENSSL_NO_STORE
 65 PEX_LIBS=
 66 EX_LIBS=
 67 EXE_EXT=
 68 ARFLAGS=
 69 AR= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar $(ARFLAGS) r
 70 RANLIB= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ranlib


[fanmaolin@Centeros openssl-1.0.0s]$ make&&make install
[fanmaolin@Centeros openssl-1.0.0s]$ ls install/lib/
engines libcrypto.a  libssl.a  pkgconfig

把 libcrypto.a  libssl.a放到开发板/lib下

3、wpa_supplicant驱动移植

pc下载wpa_supplicant压缩包

[fanmaolin@Centeros wifi]$ wget https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/source/wpa_supplicant-0.7.3.tar.gz
解压后修改.config
[fanmaolin@Centeros wpa_supplicant-0.7.3]$ cd wpa_supplicant/
[fanmaolin@Centeros wpa_supplicant]$ cp defconfig .config
[fanmaolin@Centeros wpa_supplicant]$ vim .config

 27 #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
 28 CC =/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc -L/home/fanmaolin/fl2440/3rdparty/wifi/openssl-1.0.0s/install/lib/
 29 #CFLAGS += -Os
 30 CFLAGS +=-I/home/fanmaolin/fl2440/3rdparty/wifi/openssl-1.0.0s/install/include/
 31 #CPPFLAGS += -I../src/include -I../../src/router/openssl/include
 32 #LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
 33 LIBS +=-L/home/fanmaolin/fl2440/3rdparty/wifi/openssl-1.0.0s/install/lib/

[fanmaolin@Centeros wpa_supplicant]$ make



然后将wpa_cli,wpa_supplicant,wpa_passphrase拷贝到开发板的/bin目录下并都给777权限


三、使能rt3070无线网卡




在开发板下查看网卡信息
>: ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 00:A1:B0:40:6E:F7 
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0   //RX、TX均为0,表示没有数据
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址) 
第三行:MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节 
第四、五行:接收、发送数据包情况统计 
第七行:接收、发送数据字节数统计信息

在pc上下载3070固件,放到开发板/lib/firmware下,通常情况下,load firmware的动作是通过用户空间的hotplug handler,也就是/proc/sys/kernel/hotplug里设定的执行档,来完成。root_qtopia默认会在/etc/init.d/rcS里将/proc/sys/kernel/hotplug设定为/sbin/mdev,即busybox的mdev模块。它在收到来自内核的请求加载rt3070.bin这个firmware消息后,会从/lib/firmware目录下去找rt3070.bin,如果能找到就加载


>: cd lib/
>: mkdir fireware
>: cd lib/
>: mkdir fireware
>: cd firmware/
>: ls
rt2870.bin

>: ifconfig wlan0 up    //开启无线网卡


四、rt3070无线模块连接路由器

>: cd apps/
>: mkdir etc
>: cd etc/
>: mkdir wireless
>: cd wireless


在开发板上输入命令:wpa_passphrase ssid psk>>wpa_supplicant.conf  (ssid就是你wifi的名字 psk就是密码)
>: wpa_passphrase Router_LingYun lingyun_emb>>wpa_supplicant.conf
# WPA-PSK/TKIP
# wpa_supplicant -Dwext -iwlan0 -c/apps/etc/wireless/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="Router_LingYun"
        key_mgmt=WPA-PSK 
        proto=WPA                                                           
        pairwise=TKIP CCMP                                                 
        #psk="lingyun_emb"                                                 
        psk=3083bacdc70aa9a917269b3fb19412d44a4464ecafbca12d5916f091d9d0450a
}
~

>: wpa_supplicant -Dwext -iwlan0 -c/apps/etc/wireless/wpa_supplicant.conf &//连接路由器


-Dwext :wext,驱动名称

-iwlan0 :wlan0,网络接口名称

-c/apps/etc/wireless/wpa_supplicant.conf :wpa_supplicant的配置文件path


若成功连接路由器,则打印如下信息:
>: Trying to associate with c0:61:18:f5:3e:62 (SSID='Router_LingYun' freq=2462 MHz)
cfg80211: Calling CRDA for country: CN
Associated with c0:61:18:f5:3e:62
cfg80211: Regulatory domain changed to country: CN
cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
cfg80211:     (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (N/A, 3000 mBm)
cfg80211:     (57240000 KHz - 59400000 KHz @ 2160000 KHz), (N/A, 2800 mBm)
cfg80211:     (59400000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4400 mBm)
cfg80211:     (63720000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 2800 mBm)
WPA: Key negotiation completed with c0:61:18:f5:3e:62 [PTK=CCMP GTK=TKIP]
CTRL-EVENT-CONNECTED - Connection to c0:61:18:f5:3e:62 completed (auth) [id=0 id_str=]


设置你的无限网卡IP和子网掩码//要注意不能和自己的eth0的Ip在同一网段内
>: ifconfig wlan0 192.168.2.50 netmask 255.255.255.0
>: ping 192.168.2.105    //ping 自己的主机IP
PING 192.168.2.105 (192.168.2.105): 56 data bytes
64 bytes from 192.168.2.105: seq=0 ttl=128 time=268.957 ms
64 bytes from 192.168.2.105: seq=1 ttl=128 time=68.606 ms
64 bytes from 192.168.2.105: seq=2 ttl=128 time=51.662 ms
64 bytes from 192.168.2.105: seq=3 ttl=128 time=56.586 ms
64 bytes from 192.168.2.105: seq=4 ttl=128 time=45.697 ms
64 bytes from 192.168.2.105: seq=5 ttl=128 time=4.613 ms
64 bytes from 192.168.2.105: seq=6 ttl=128 time=47.652 ms
64 bytes from 192.168.2.105: seq=7 ttl=128 time=44.600 ms
64 bytes from 192.168.2.105: seq=8 ttl=128 time=46.711 ms


连接外网 在/etc/创建resolv.conf的文件

因为在内核启动的时候内核会在resolv.conf文件中找dns

配置DNS:echo "nameserver 8.8.8.8" > /etc/resolv.conf
>: cat /etc/resolv.conf
nameserver 8.8.8.8
配置默认网关:route add default gw 192.168.2.1 
ping百度官网
>: ping www.baidu.com
PING www.baidu.com (180.97.33.107): 56 data bytes
64 bytes from 180.97.33.107: seq=1 ttl=54 time=185.751 ms
64 bytes from 180.97.33.107: seq=2 ttl=54 time=68.647 ms
64 bytes from 180.97.33.107: seq=3 ttl=54 time=72.669 ms
64 bytes from 180.97.33.107: seq=4 ttl=54 time=78.230 ms

--- www.baidu.com ping statistics ---
5 packets transmitted, 4 packets received, 20% packet loss
round-trip min/avg/max = 68.647/101.324/185.751 ms

到这里表示开发板已经能够上网了,OK


查看自己的网卡信息:
>: ifconfig
eth0      Link encap:Ethernet  HWaddr 06:16:C9:53:1E:95 
          inet addr:192.168.3.1  Bcast:192.168.3.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:128 errors:0 dropped:0 overruns:0 frame:0
          TX packets:261 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12605 (12.3 KiB)  TX bytes:10962 (10.7 KiB)
          Interrupt:51 Base address:0x4300

wlan0     Link encap:Ethernet  HWaddr 00:A1:B0:40:6E:F7 
          inet addr:192.168.2.50  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:429 errors:0 dropped:143 overruns:0 frame:0			//RX,TX有数据传输
          TX packets:70 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:35705 (34.8 KiB)  TX bytes:8877 (8.6 KiB)



现在总结一下开发板上网的流程:

首先下载安装好各种工具,上面有详细步骤

1、ifconfig wlan0 up//使能网卡
2、连你想连的WIFIwpa_passphrase ssid psk>>wpa_supplicant.conf
3、wpa_passphrase Router_LingYun lingyun_emb>>wpa_supplicant.conf//修改脚本,生成秘钥
4、wpa_supplicant -Dwext -iwlan0 -c/apps/etc/wireless/wpa_supplicant.conf &//连接路由器
5、
设置你的无限网卡IP和子网掩码//要注意不能和自己的eth0的Ip在同一网段内
>: ifconfig wlan0 192.168.2.50 netmask 255.255.255.0
6、配置DNS:echo "nameserver 8.8.8.8" > /etc/resolv.conf   //8.8.8.8是Google的
7、配置默认网关:route add default gw 192.168.2.1 //路由器ip

如果你设置过一次WIFI,那么就执行1、4、5、6、7就可以通过开发板上网了

下面会用DHCP自动获取IP地址来上网




问题总结:

1、无法连接wifi,明明已经设置了wifi名字和密码,错误信息如下:

Failed to initiate AP scan.
ioctl[SIOCSIWSCAN]: Device or resource busy
Failed to initiate AP scan.
Trying to associate with d4:ee:07:22:6b:5c (SSID='HiWiFi_LingYun' freq=2427 MHz)
cfg80211: Calling CRDA for country: CN
Associated with d4:ee:07:22:6b:5c
cfg80211: Regulatory domain changed to country: CN
cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
cfg80211:     (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (N/A, 3000 mBm)
cfg80211:     (57240000 KHz - 59400000 KHz @ 2160000 KHz), (N/A, 2800 mBm)
cfg80211:     (59400000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4400 mBm)
cfg80211:     (63720000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 2800 mBm)
cfg80211: Calling CRDA to update world regulatory domain
CTRL-EVENT-DISCONNECTED bssid=d4:ee:07:22:6b:5c reason=0

可能是我之前改错了某些地方,但是检查了几遍也没有发现,于是重新设置了另一个WIFI,就是我上面用的wifi,要重新生成秘钥,就可以连接了。


2、
>: ping www.baidu.com
ping: bad address 'www.baidu.com'

可以Ping自己的主机Ip却不能ping百度,分析dns和网关,发现网关没有配置,配置后解决问题
route add default  gw 192.168.2.1



RT3070无线网卡STA模式并使开发板接入Wifi上网 开发板:FL2440    内核:linux 3.0   无线网卡:RT3070 Wifi设置Sta模式 阅读详情

相关推荐

arm9+Linux fl2440 下的WiFi驱动rt3070的编译移植以及station模式

--------------------------------------------------------------------------------------------------------                                     主机操作系统:centos 6.7                                     交叉编

柯利南的专栏 3399

arm架构 CF-WU810N网卡驱动安装经验

arm架构 CF-WU810N网卡驱动安装经验方法

Pioneerrr_的博客 2663

RT3070无线网卡STA模式

实现RT3070无线网卡STA模式并使开发板接入Wifi上网 主机操作系统:Centos 6.7 交叉编译器环境:arm-linux-gcc-4.5.4 开发板平台: FL2440         Linux内核版本: 3.0 STA模式:笔记本上无线网卡模式,用来连接到无线路由器上上网。通俗点说,就是客户端模式(笔记本)   所以我们的驱动有两种,分别支持无来线网卡工作在STA模式

L_x_b的博客 3693

UOS 1050e ARM架构(linux)安装TP-LINK TL-WN823N免驱版无线网卡驱动

提示/root/Desktop/rtl8821CU-master/rtl8821CU-master/os_dep/linux/rtw_android.c文件中的632行的access_ok传递了3个参数,但是只需要两个就可以了,我们去修改一下这个源码。我去/usr/src/kernels/4.19.90-2201.4.0.0135.up1.uel20.aarch64/arch/查看根本没有这个文件夹,然后把文件夹arm64做了个软连接到aarch64。本次编译安装的驱动是rtl8821CU。

linux小菜鸡的博客 8458

FL2440wifi模块学习之用rt3070芯片使开发板变为路由器上网

SoftAP模式。以开发板fl2440作为一个路由器,并使自己的手机、笔记本电脑连接到这个“路由器”上网。 一、配置内核支持无线网卡softAP模式 [*] Networking support ---> Networking options ---> [*] Network packet filtering framework (Netfilt

樊茂林的博客 1544

FL2440WiFi学习之rt3070无线网卡动态获取IP上网

主机操作系统:Centos 6.7 交叉编译器版本:buildroot-2012.08  开发板平台: FL2440  Linux内核版本: linux-3.0  开发模块:rt3070无线网卡动态获取IP上网 之前我们需要自己手动设置IP来上网,现在让它动态获取IP自己上网。 一、修改内核 Networking --->     Networkin

樊茂林的博客 792

linux USB无线网卡(RTL8188EUS)驱动

rtl8188 usb 驱动源码: Kconfig是文件WIFI驱动的配置界面文档,图形界面配置文件 内容如下: 删除自带的RTL8192CU驱动 内核源码中,drivers/net/wireless/rtlwifi/Kconfig 删除 config RTL8192CU tristate "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter" depends on USB select RTLWIFI select RTLWIFI_USB

7974

rt3070无线网卡工作在staion模式----fl2440开发板

----------------------------------------------------------------------- 主机操作系统:Centos 6.5 交叉编译器环境:arm-linux-gcc-4.5.4 开发板平台: FL2440        Linux内核版本: linux-3.0 ----------------------------------

huangjiaming的博客 1048

在arm Cortex-A9开发板移植rtl8821au无线网卡并实现与外网通信

开发板:Xilinx ZC702 嵌入式系统:linux4.4 交叉编译器:arm-xilinx-linux-gnueabi-gcc WIFi工具:wireless_tools.30.rtl 驱动版本:rtl8821AU_WiFi_linux_v5.2.6.2_23547.20170814_COEX20170206-6760 本文中所用的rtl8821au无线网卡实为蓝牙无线网卡

hhhlizhao的博客 5846

原理图-PEN-RT3070-QFN-V32RW-EFUSE-090109

原理图参考PDF PEN-RT3070-QFN-V32RW-EFUSE-090109 RT3070 + RTC6681

格(Lattice)基础(一)

有关格的基础概念,和相关的格难题

Amire0x的小乐园 5699

wifi,WLAN,wpa_supplicant,wpa_cli

关于wpa_supplicant: 用到wpa_cli命令 wpa_cli -iwlan0 add_network            // wlan0 是无线网络设备的名字,增加一个网络,会返回一个数字,假设为1 set_network 1 ssid'"……"'   //这里ssid是要连接的网络名,注意 后面是单引号+双引号 set_network 1 psk'"……"'    /

无敌电工 2752

告别unittest!用Pytest+Fixture重构你的Python测试代码(附实战案例)

本文详细介绍了如何从unittest迁移到Pytest框架,重点解析了Pytest的Fixture机制如何提升测试效率和代码简洁性。通过实战案例展示了Pytest在减少代码量、提升调试效率和资源管理方面的优势,帮助开发者重构Python测试代码。

weixin_26749245的博客 206

在fl2440开发板上添加WiFi模块------RT3070无线网卡

在fl2440开发板上添加Wifi模块即实现RT3070无线网卡STA模式并使开发板接入Wifi上网。 RT3070的工作模式分为 STA(station)模式、SoftAP(Access Point)模式两种。 STA模式:STA就是站点,每一个连接到无线网络中的终端(如笔记本电脑、 PDA及其它可以联网的用户设备)都可称为一个站点。 AP模式:AP也就是无线接入点,是一个无线网络的创

luliteng的博客 923

计算机等级考试(二级WPS)---真题14套

目录 真题14一、选择题二、WPS文字三、WPS表格四、WPS演示21.打开考生文件夹下的素材文档 “WPS.docx”(.docx 为文件扩展名),后续操作均基于此文件,否则不得分。小周正在整理一份关于极光的文档,请按要求帮助她完成文档的排版工作。1.将全文中的手动换行符全部替换为中文句号并回车,删除文中的空行和空格。2.将正文第 2 段(“在我國的古書…… 極光”)中的繁体字转换成简体字,并为其设置 “正文” 样式。3.对文档样式进行如下设置:4.为 “1.3 极光的形态” 一节中列出的五种极光形态特征

2401_82750246的博客 1177

EndNote导入文献出现带有大括号{}乱码的解决办法

进入word中的Endnote工具栏——Bibliography Preferences(位于Bibliography区块的右下角),就是那个输入杂志名的小三角形,在Temporary citation delimiters处修改变量的默认符号。将默认的大括号{}修改为文章中不回使用到的符号。原因:因为Endnote插入的参考文献在Word中的代码就是以大括号隔开的,当文章中出现了该符号,endnote就会自动比对Library中的书目,而此时endnote出现错误。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 4万+

实现RT3070无线网卡STA模式并使开发板接入Wifi上网

实现RT3070无线网卡STA模式并使开发板接入Wifi上网 主机操作系统:Centos 6.5 交叉编译器环境:arm-linux-gcc-4.5.4 开发板平台: FL2440 Linux内核版本: 3.0 STA模式:笔记本上无线网卡模式,用来连接到无线路由器上上网。通俗点说,就是客户端模式(笔记本) 所以我们的驱动有两种,分别支持无来线网卡工作在STA

1、测试博主技术知识分享 2、pos行业知识技术分享 3、java后端技术知识分享 4、嵌入式技术知识分享 5、运维部署相关知识分享 2857

导数与微分在 FPS 射击游戏中的实际应用:把“手感”算出来

摘要:射击游戏开发中,单线程适用于简单小游戏(如单机打靶),所有任务由主线程顺序处理,代码简单但效率较低;多线程则适合复杂场景(如多人在线3D大作),通过渲染、逻辑、网络、音效等线程分工协作,确保画面流畅、响应迅速和实时同步。选择依据取决于游戏复杂度、联网需求和性能要求,小型游戏用单线程,大型高要求项目必须采用多线程架构。(149字)

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 3278

基于s3c2440平台rt3070芯片工作在station模式

基于s3c2440平台rt3070芯片工作在station模式

HULU 1926

Linux C/C++ or 嵌入式面试之《C/C++笔面试系列》(10) C++ 前置后置增减运算符重载形式与比较

C语言的++、–运算符在此不讨论。 文章目录1、前置后置增减运算符重载的形式2、前置和后置运算符的性能比较 1、前置后置增减运算符重载的形式 自增运算符“++”和自减运算符“–”分别包含两个版本。即运算符前置形式(如 ++x)和运算符后置形式(如 x++),这两者进行的操作是不一样的。因此,当我们在对这两个运算符进行重载时,就必须区分前置和后置形式。C++根据参数的个数来区分前置和后置形式。如果按照通常的方法来重载 ++ 运算符(即作为成员函数重载时不带参数,或者作为非成员函数重载时带有一个参数),那么重载

二进制君 5831

YOLOv11改进,YOLOv11添加ASFF检测头,并添加小目标检测层(四头检测),适合目标检测、分割等任务,全网首发

YOLOv11改进,YOLOv11添加ASFF检测头,并添加小目标检测层(四头检测),适合目标检测、分割等任务,全网首发

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4735

fl2440添加rt3070wifi模块--关于sta模式

目的:实现RT3070无线网卡STA模式并使开发板接入Wifi上网 STA模式:STA就是站点,每一个连接到无线网络中的终端(如笔记本电脑、 PDA及其它可以联网的用户设备)都可称为一个站点。 wpa_supplicant移植

lumqi的博客 810

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

fl2440模块学习——添加RT3070实现无线上网

最近学习了在fl2440开发板上添加了RT3070网卡,并通过连接路由器上网,在此记录一下。首先预备一下一些有关的网络知识: 1、计算机网络->无线网络的几种常见标准: IEEE802.11a:使用5GHz频段,传输速度54Mbps,与802.11b不兼容; IEEE 802.11b:使用2.4GHz频段,传输速度11Mbps; IEEE802.11g:使用2.4GH

C_Aya的博客 997

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

fl2440-添加RT3070驱动(STA模式)实现无线上网

*************************************************************************************************************************************************************************************** 开发板     :fl2440

crazy boy 1026

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: 通过获取IP地址熟悉popen、str*系列、snprintf()、fgets
下一篇: 通过secureCRT的SSH2来实现无线连接开发板
fml1997
博客等级 码龄10年 30粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值