大家好,我是杂烩君。
飞凌嵌入式本月发布了全新子品牌ElfBoard,并推出了新品ELF 1及ELF 1S。产品面向嵌入式初学者、爱好者、单片机进阶学习的学习者。
我这边有收到一块ELF 1S,本篇文章我们来一起了解了解这一块板子。
ELF是Embedded Learning Fans嵌入式学习爱好者的首字母缩写。ELF也是精灵的意思,ElfBoard以灵动的精灵形象作为品牌Logo,代表着自由、智慧和科技,也寓意学习者能够像精灵一样自由地掌握技术,发挥无限创造力。
标配的ELF 1S开发包包含有:主控板(ELF 1) x 1、扩展板 x 1、Type-C数据线 x 2、网线 x 1、杜邦线 x 1、一字螺丝刀 x 1。
ELF 1S由ELF 1与扩展板构成。
ELF 1在此处也称为主控板。
ELF 1(主控板)由核心板 + 底板构成:
主控板和扩展板通过P2排针进行连接, 如果只使用主控板不使用扩展板, 则主控板的排针所对应的部分引脚可另作它用, 比如复用成GPIO功能, 或使用其资源接口连接其他模块 。
ELF 1(主控板)的核心板基于 NXP 公司的 i.MX6ULL 低功耗处理器设计, 主频 800MHz,ARM Cortex-A7 架构, 独特的电源管理架构相比 ARM9 系列核心板功耗更低。主控板正面:
扩展板另可扩展 Ethernet、 RS485、 RS232、4G、 CAN、 HDMI 等功能接口;4G、 WiFi 等功能采用模块化设计, 功能配置可以很灵活。扩展板正面:
我们使用配套的Type-C接上主控板的USB-Debug口就可以愉快地玩耍了!
我们这边没有屏幕,可以通过开发板的打印信息来看其启动流程。
ELF 1S集成了 wifi&bt 模块 RTL8723DU, wifi 模块支持 STA 和 AP 两种模式。我们体验体验STA模式。
对wifi驱动移植过程感兴趣的朋友可阅读往期文章:RTL8723驱动移植+wpa_supplicant移植+SSH移植
查看wifi驱动模块加载的情况:
ELF 1S系统给我们提供了一个连接wifi的脚本,通过这个脚本我们可以很方便地连接我们想要连接的网络。
elf1_cmd_wifi.sh 脚本内容如:
#!/bin/sh
function usage()
{
echo "Usage: -i -s -p "
echo "eg: ./wifi.sh -i 8189 -s bjforlinx -p 12345678 "
echo "eg: ./wifi.sh -i 8188 -s bjforlinx -p NONE "
echo "eg: ./wifi.sh -i 8723 -s bjforlinx -p NONE "
echo " -i : 8189 8188 or 8723"
echo " -s : wifi ssid"
echo " -p : wifi password or NONE"
}
function parse_args()
{
while true; do
case "$1" in
-i ) wifi=$2;echo wifi $wifi;shift 2 ;;
-s ) ssid=$2;echo ssid $ssid;shift 2 ;;
-p ) pasw=$2;echo pasw $pasw;shift 2 ;;
-h ) usage; exit 1 ;;
* ) break ;;
esac
done
}
if [ $# != 6 ]
then
usage;
exit 1;
fi
parse_args $@
if [ -e /etc/wpa_supplicant.conf ]
then
rm /etc/wpa_supplicant.conf
fi
echo \#PSK/TKIP >> /etc/wpa_supplicant.conf
echo ctrl_interface=/var/run/wpa_supplicant >>/etc/wpa_supplicant.conf
echo network={ >>/etc/wpa_supplicant.conf
echo ssid=\"$ssid\" >>/etc/wpa_supplicant.conf
echo scan_ssid=1 >>/etc/wpa_supplicant.conf
if [ $pasw == NONE ]
then
echo key_mgmt=NONE >>/etc/wpa_supplicant.conf
else
echo psk=\"$pasw\" >>/etc/wpa_supplicant.conf
echo key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE >>/etc/wpa_supplicant.conf
echo group=CCMP TKIP WEP104 WEP40 >>/etc/wpa_supplicant.conf
fi
echo } >>/etc/wpa_supplicant.conf
ifconfig -a|grep wlan0 |grep -v grep > /dev/null
if [ $? -eq 0 ]
then
ifconfig wlan0 down > /dev/null
fi
ifconfig -a|grep eth0 |grep -v grep > /dev/null
if [ $? -eq 0 ]
then
ifconfig eth0 down > /dev/null
fi
ifconfig -a|grep eth1 |grep -v grep > /dev/null
if [ $? -eq 0 ]
then
ifconfig eth1 down > /dev/null
fi
lsmod|grep 8723bu |grep -v grep > /dev/null
if [ $? -eq 0 ]
then
rmmod 8723bu
fi
lsmod|grep 8723du |grep -v grep > /dev/null
if [ $? -eq 0 ]
then
rmmod 8723du
fi
lsmod|grep 8189es |grep -v grep > /dev/null
if [ $? -eq 0 ]
then
rmmod 8189es
fi
lsmod|grep 8188eu |grep -v grep > /dev/null
if [ $? -eq 0 ]
then
rmmod 8188eu
fi
if [ $wifi == 8723 ]
then
insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtl8723DU/8723du.ko > /dev/null
elif [ $wifi == 8189 ]
then
insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtl8189ES/8189es.ko > /dev/null
elif [ $wifi == 8188 ]
then
insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtl8188EUS/8188eu.ko > /dev/null
fi
sleep 3
ifconfig wlan0 up
sleep 1
ps -fe|grep wpa_supplicant |grep -v grep > /dev/null
if [ $? -eq 0 ]
then
kill -9 $(pidof wpa_supplicant) > /dev/null
rm /var/run/wpa_supplicant -r
fi
if [ $wifi == 8723 ]
then
wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf &
else
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &
fi
sleep 3
udhcpc -i wlan0
echo "Finshed!"
脚本的内容就是使用wpa_supplicant工具来配置无线网络。脚本使用方法:
elf1_cmd_wifi.sh -i 8723 -s XXXX -p xxxx
-s 参数表示 wifi 热点的名称;
-p 参数表示密码, 如果没有密码请输入-p NONE;
以上我们只是简单地介绍了ElfBoard的一些内容,更多关于ElfBoard的资料可以上ElfBoard官网获取:
http://www.elfboard.com/
ElfBoard官网上也包含有一些视频教程,喜欢看视频教程的朋友有福了!
同时,如果学习ElfBoard遇到一些问题,也可以上ElfBoard论坛进行讨论、学习:
以上就是本次关于ElfBoard的一些介绍,感兴趣的朋友可以上官网仔细了解了解。
让嵌入式学习释放无限可能!