山东科技大学本科毕业设计(论文)
5.4 代码修改
5.4.1 编译权限
为将来方便调试等操作,设置默认获得Root权限。 修改/trunk/include/prereq-build.mk文件,将require non-root修改为root
define Require/non-root
#[ \(shell whoami)\[ \(shell whoami)\Endef 5.4.2 Flash配置
本次设计使用的AR9331开发板使用的为MXIC型号为MX25L6406的8MB Flash芯片。而默认设置芯片为4MB。
为此需要修改:
trunk/tools/firmware-utils/src/mktplinkfw中AR9331配置为8MB
.id = \.hw_id = AR9331, .hw_rev = 1,
.layout_id = \改为 8Mlzma
trunk/target/linux/ar71xx/image/Makefile中对应AR9331处flash大小为8MB:AR9331,ttyATH0,115200,0x32200002,1,8Mlzma 5.4.3 WiFi配置
设置WiFi的开机自启动,默认开启AP模式。
21
山东科技大学本科毕业设计(论文)
修改trunk/package/kernel/mac80211/files/lib/wifi/mac80211.sh文件:
删除掉wifi-device配置中的option disable 1,使无线WiFi上电自启动。对channel、hwmode、txpower修改,配置信道、功率等设置。同样,在wifi-iface配置中可以改变wifi的mode、ssid、encryption、key等值。 5.4.4 设置LAN默认IP
Openwrt固件LAN口默认ip为192.168.1.1,为防止智能WiFi插座在家用过程中与上级路由IP地址冲突,所以对LAN默认IP进行修改。
修改文件package/base-files/files/lib/functions/uci-defaults.sh config interface 'lan' option ifname 'eth1' option force_link '1' option type 'bridge' option proto 'static'
option netmask '255.255.255.0' option ip6assign '60' option ipaddr '192.168.10.1' 5.4.5 GPIO控制
如果想使用AR9331的一些GPIO引脚来做一些简单逻辑控制,则需要通过注册gpio设备来实现,修改target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c文件
在tl_mr3220_v2_setup函数中添加需要的GPIO管脚注册即
22
山东科技大学本科毕业设计(论文)
可,如: gpio_request_one
(
18,GPIOF_OUT_INIT_LOW
|
GPIOF_EXPORT_DIR_FIXED, \); 5.4.6 按键与指示灯
修改target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd -v4.c文件中对各按键及指示灯定义。 5.4.7 自定义脚本的使用
Openwrt为用户预留的自定义启动脚本/package/base-files/ files/etc/rc.local来实现一些扩展功能,在这里可以添加一些命令,或者调用一个外部脚本来实现一些扩展功能。
5.5 编译固件
输入命令 make V=99 开始编译
成功后在bin文件夹里有编译好的固件,如图4.4所示。
图5.4 编译固件完成
23
山东科技大学本科毕业设计(论文)
5.6 固件写入开发板
1.将AR9331开发板与USB转TTL模块相连后插入电脑,同时也将开发板与电脑的网线接口相连。(TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段)
2.右击网上邻居配置本机IP为192.168.1.2,子网掩码为255.255.255.0。如图5.5所示。
图5.5 修改IP地址
3.下载TFTP32(Tftpd32是集成了DHCP, TFTP等多种网路服务的应用程序,可以用它作为一个FTP服务器)解压后把编译后生成的固件放到tftp32文件夹内,然后打开tftp32。
24
相关推荐: