相比于搭建Windows环境,Linux更简单更方便,更适合我!
所以本文只介绍Linux下的sdk搭建!本人使用的是Ubuntu,请使用其他系统的同学测试成功后在本文章后面留言告知。
MediaTek_LinkIt_Connect_7681_SDK_V1_7_1_for Linux
1、点击上面链接下载1.7.1版本的Linux sdk
2、解压后如下
jack@ubuntu:mt7681$ cd LinkIt\ Connect\ 7681\ SDK\ V1.71\ Linux/
jack@ubuntu:LinkIt Connect 7681 SDK V1.71 Linux$ ls
ReleaseNote.txt Src ToolChain Uploader
会有上面4个文件夹,其中Src就是我们要开发的地方,toolchain是交叉编译工具,Uploader是刷机用的,不过基本不用这玩意!
3、设置交叉编译工具
1 2 3 4 5 6 |
#cd Src/mak/MT7681 #vim compiler.mk (找到如下位置,将TOOLCHAINS设置好交叉编译工具的路径) #For Linux TS TOOLCHAINS = /home/jack/study/mt7681/LinkIt\ Connect\ 7681\ SDK\ V1.71\ Linux/ToolChain/Andes_Linux_BSP_Toolchains/nds32le-elf-newlib-v2j/bin |
4、修改个别文件权限
到第三部基本就ok了,但是在编译的时候你会发现出错
1 2 3 |
/home/jack/study/mt7681/IoT_MT7681_PKG_V1.7.1/toolchain_20150110/Andes_Linux_BSP_Toolchains/nds32le-elf-newlib-v2j/bin/nds32le-elf-ld: warning: _SDA_BASE_ is recommanded being located in an output section, please fix it in the linker script. make: execvp: ./flash_merge.sh: Permission denied make: *** [out/sta/MT7681_sta_overlay.bin] Error 127 |
提示一些sh脚本没有可执行权限
所以需要执行个命令
1 2 |
#cd Src #chmod 777 *.sh |
这样就可以了!
5、第一次编译SDK
#cd Src
编译sta固件
#make b=1 或者 make
编译ap固件
#make b=2
编译recovery固件
#make b=0
清除clean
make b=(0/1/2) clean
6、编译log
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
$ make b=1 Makefile:245: target `cust/vectors.o' doesn't match the target pattern Makefile:245: target `cust/startup.o' doesn't match the target pattern Makefile:245: target `cust/ctxsw.o' doesn't match the target pattern Makefile:277: target `cust/vectors.d' doesn't match the target pattern Makefile:277: target `cust/startup.d' doesn't match the target pattern Makefile:277: target `cust/ctxsw.d' doesn't match the target pattern echo Compiling cust/ap_pub.c ... Compiling cust/ap_pub.c ... echo Compiling cust/ap_pub.c ... >> out/sta/build_sta.log echo Compiling cust/crypt_crc.c ... Compiling cust/crypt_crc.c ... echo Compiling cust/crypt_crc.c ... >> out/sta/build_sta.log echo Compiling cust/iot_aes_pub.c ... Compiling cust/iot_aes_pub.c ... echo Compiling cust/iot_aes_pub.c ... >> out/sta/build_sta.log echo Compiling cust/iot_at_cmd.c ... Compiling cust/iot_at_cmd.c ... echo Compiling cust/iot_at_cmd.c ... >> out/sta/build_sta.log echo Compiling cust/iot_at_cmd_tcpip.c ... Compiling cust/iot_at_cmd_tcpip.c ... echo Compiling cust/iot_at_cmd_tcpip.c ... >> out/sta/build_sta.log echo Compiling cust/iot_at_cmd_utility.c ... Compiling cust/iot_at_cmd_utility.c ... echo Compiling cust/iot_at_cmd_utility.c ... >> out/sta/build_sta.log echo Compiling cust/iot_custom.c ... Compiling cust/iot_custom.c ... echo Compiling cust/iot_custom.c ... >> out/sta/build_sta.log echo Compiling cust/iot_custom_uart2wifi.c ... Compiling cust/iot_custom_uart2wifi.c ... echo Compiling cust/iot_custom_uart2wifi.c ... >> out/sta/build_sta.log echo Compiling cust/iot_parse.c ... Compiling cust/iot_parse.c ... echo Compiling cust/iot_parse.c ... >> out/sta/build_sta.log echo Compiling cust/iot_parse_conn_mgmt.c ... Compiling cust/iot_parse_conn_mgmt.c ... echo Compiling cust/iot_parse_conn_mgmt.c ... >> out/sta/build_sta.log echo Compiling cust/iot_uart_rb.c ... Compiling cust/iot_uart_rb.c ... echo Compiling cust/iot_uart_rb.c ... >> out/sta/build_sta.log echo Compiling cust/iot_uplink.c ... Compiling cust/iot_uplink.c ... echo Compiling cust/iot_uplink.c ... >> out/sta/build_sta.log echo Compiling cust/iot_xmodem.c ... Compiling cust/iot_xmodem.c ... echo Compiling cust/iot_xmodem.c ... >> out/sta/build_sta.log echo Compiling cust/main_pub.c ... Compiling cust/main_pub.c ... echo Compiling cust/main_pub.c ... >> out/sta/build_sta.log echo Compiling cust/misc_pub.c ... Compiling cust/misc_pub.c ... echo Compiling cust/misc_pub.c ... >> out/sta/build_sta.log echo Compiling cust/mt7681_ChSw_pub.c ... Compiling cust/mt7681_ChSw_pub.c ... echo Compiling cust/mt7681_ChSw_pub.c ... >> out/sta/build_sta.log echo Compiling cust/printf.c ... Compiling cust/printf.c ... echo Compiling cust/printf.c ... >> out/sta/build_sta.log echo Compiling cust/rtmp_data_pub.c ... Compiling cust/rtmp_data_pub.c ... echo Compiling cust/rtmp_data_pub.c ... >> out/sta/build_sta.log echo Compiling cust/spi-flash_pub.c ... Compiling cust/spi-flash_pub.c ... echo Compiling cust/spi-flash_pub.c ... >> out/sta/build_sta.log echo Compiling cust/stdlib.c ... Compiling cust/stdlib.c ... echo Compiling cust/stdlib.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/clock-arch.c ... Compiling cust/tcpip/clock-arch.c ... echo Compiling cust/tcpip/clock-arch.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/cloudclient.c ... Compiling cust/tcpip/cloudclient.c ... echo Compiling cust/tcpip/cloudclient.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/dhcpc.c ... Compiling cust/tcpip/dhcpc.c ... echo Compiling cust/tcpip/dhcpc.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/dhcpd.c ... Compiling cust/tcpip/dhcpd.c ... echo Compiling cust/tcpip/dhcpd.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/iot_tcp_app.c ... Compiling cust/tcpip/iot_tcp_app.c ... echo Compiling cust/tcpip/iot_tcp_app.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/iot_tcpip_interface.c ... Compiling cust/tcpip/iot_tcpip_interface.c ... echo Compiling cust/tcpip/iot_tcpip_interface.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/iot_udp_app.c ... Compiling cust/tcpip/iot_udp_app.c ... echo Compiling cust/tcpip/iot_udp_app.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/memb.c ... Compiling cust/tcpip/memb.c ... echo Compiling cust/tcpip/memb.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/mt76xx_dev.c ... Compiling cust/tcpip/mt76xx_dev.c ... echo Compiling cust/tcpip/mt76xx_dev.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/resolv.c ... Compiling cust/tcpip/resolv.c ... echo Compiling cust/tcpip/resolv.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/sample_resolv_usage.c ... Compiling cust/tcpip/sample_resolv_usage.c ... echo Compiling cust/tcpip/sample_resolv_usage.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/sample_udp_client.c ... Compiling cust/tcpip/sample_udp_client.c ... echo Compiling cust/tcpip/sample_udp_client.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/sample_udp_server.c ... Compiling cust/tcpip/sample_udp_server.c ... echo Compiling cust/tcpip/sample_udp_server.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/tcpip_main.c ... Compiling cust/tcpip/tcpip_main.c ... echo Compiling cust/tcpip/tcpip_main.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/uip-fw.c ... Compiling cust/tcpip/uip-fw.c ... echo Compiling cust/tcpip/uip-fw.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/uip-neighbor.c ... Compiling cust/tcpip/uip-neighbor.c ... echo Compiling cust/tcpip/uip-neighbor.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/uip-split.c ... Compiling cust/tcpip/uip-split.c ... echo Compiling cust/tcpip/uip-split.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/uip.c ... Compiling cust/tcpip/uip.c ... echo Compiling cust/tcpip/uip.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/uip_arp.c ... Compiling cust/tcpip/uip_arp.c ... echo Compiling cust/tcpip/uip_arp.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/uip_timer.c ... Compiling cust/tcpip/uip_timer.c ... echo Compiling cust/tcpip/uip_timer.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/uiplib.c ... Compiling cust/tcpip/uiplib.c ... echo Compiling cust/tcpip/uiplib.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/webclient-strings.c ... Compiling cust/tcpip/webclient-strings.c ... echo Compiling cust/tcpip/webclient-strings.c ... >> out/sta/build_sta.log echo Compiling cust/tcpip/webclient.c ... Compiling cust/tcpip/webclient.c ... echo Compiling cust/tcpip/webclient.c ... >> out/sta/build_sta.log echo Compiling cust/wifi_task_pub.c ... Compiling cust/wifi_task_pub.c ... echo Compiling cust/wifi_task_pub.c ... >> out/sta/build_sta.log Linking out/sta/MT7681_sta.elf ... /home/jack/study/mt7681/IoT_MT7681_PKG_V1.8.2/toolchain_20150110/Andes_Linux_BSP_Toolchains/nds32le-elf-newlib-v2j/bin/nds32le-elf-ar r libandessta.a /home/jack/study/mt7681/IoT_MT7681_PKG_V1.8.2/toolchain_20150110/Andes_Linux_BSP_Toolchains/nds32le-elf-newlib-v2j/bin/nds32le-elf-ld -EL -g -Bstatic --check-sections --gc-sections -nostartfiles -T mak/MT7681/sta.lds -Map out/sta/MT7681_sta.map -o out/sta/MT7681_sta.elf --start-group obj/sta/ap_pub.o obj/sta/crypt_crc.o obj/sta/iot_aes_pub.o obj/sta/iot_at_cmd.o obj/sta/iot_at_cmd_tcpip.o obj/sta/iot_at_cmd_utility.o obj/sta/iot_custom.o obj/sta/iot_custom_uart2wifi.o obj/sta/iot_parse.o obj/sta/iot_parse_conn_mgmt.o obj/sta/iot_uart_rb.o obj/sta/iot_uplink.o obj/sta/iot_xmodem.o obj/sta/main_pub.o obj/sta/misc_pub.o obj/sta/mt7681_ChSw_pub.o obj/sta/printf.o obj/sta/rtmp_data_pub.o obj/sta/spi-flash_pub.o obj/sta/stdlib.o obj/sta/tcpip/clock-arch.o obj/sta/tcpip/cloudclient.o obj/sta/tcpip/dhcpc.o obj/sta/tcpip/dhcpd.o obj/sta/tcpip/iot_tcp_app.o obj/sta/tcpip/iot_tcpip_interface.o obj/sta/tcpip/iot_udp_app.o obj/sta/tcpip/memb.o obj/sta/tcpip/mt76xx_dev.o obj/sta/tcpip/resolv.o obj/sta/tcpip/sample_resolv_usage.o obj/sta/tcpip/sample_udp_client.o obj/sta/tcpip/sample_udp_server.o obj/sta/tcpip/tcpip_main.o obj/sta/tcpip/uip-fw.o obj/sta/tcpip/uip-neighbor.o obj/sta/tcpip/uip-split.o obj/sta/tcpip/uip.o obj/sta/tcpip/uip_arp.o obj/sta/tcpip/uip_timer.o obj/sta/tcpip/uiplib.o obj/sta/tcpip/webclient-strings.o obj/sta/tcpip/webclient.o obj/sta/wifi_task_pub.o cust/vectors.o cust/startup.o cust/ctxsw.o -L. -landessta --end-group >> out/sta/build_sta.log /home/jack/study/mt7681/IoT_MT7681_PKG_V1.8.2/toolchain_20150110/Andes_Linux_BSP_Toolchains/nds32le-elf-newlib-v2j/bin/nds32le-elf-ld: warning: _SDA_BASE_ is recommanded being located in an output section, please fix it in the linker script. option is 1 9+1 records in 9+1 records out 36964 bytes (37 kB) copied, 0.000699727 s, 52.8 MB/s 10+1 records in 10+1 records out 43212 bytes (43 kB) copied, 0.000305476 s, 141 MB/s 4+1 records in 4+1 records out 17852 bytes (18 kB) copied, 0.000176902 s, 101 MB/s merge flash bin file:out/sta/MT7681_sta.bin ok,size is 148924 bytes option is 3 0+1 records in 0+1 records out 184 bytes (184 B) copied, 0.000675018 s, 273 kB/s 10+1 records in 10+1 records out 44544 bytes (45 kB) copied, 0.000264767 s, 168 MB/s 0+1 records in 0+1 records out 512 bytes (512 B) copied, 0.000407603 s, 1.3 MB/s 36+1 records in 36+1 records out 148924 bytes (149 kB) copied, 0.000407833 s, 365 MB/s 34+1 records in 34+1 records out 141624 bytes (142 kB) copied, 0.000732182 s, 193 MB/s merge flash bin file:MT7681_all.bin ok,size is 465208 bytes out/sta/MT7681_sta.bin 4 out/sta/MT7681_sta_header.bin |
附上Windows版本的sdk