一、开发板使用学习大纲。
1、开发板组成、核心板资源,底板资源。
2、开发板连接、调试工具、串口参数配置。
3、开发板启动过程。
4、文件传输
1)使用串口传输。 上传/下载
2)使用网口传输。 上传/下载
5、临时/永久配置开发板IP地址。
6、开发板启动脚本。
二、开发板的组成。
核心板:
CPU处理器: 芯片:S5P6818(三星) 内核: ARM cortex-A53 -> 八核处理器
运行内存:512MB*2=1G
nandflash:4G
底板:
电源线:5V
串口:用于数据传输
音频输出输入:耳机/麦克风
USB口: wifi模块/摄像头
HDMI:用于投影。
以太网口(DM9000):用于网络数据。
外接串口:外接模块。
GPIO口:外接模块。
硬件模块:LED灯、蜂鸣器、按键、ADC
三、开发板连接、调试工具、串口参数配置。
1、正确连接开发板线路。
2、安装USB转串口线驱动。
Hl-340.exe
双击 -> 安装 -> 等待几秒 -> 驱动安装成功
PL2303_Prolific_DriverInstaller_v1210.exe
双击 -> 下一步 -> 完成
3、 查看USB转串口线接口哪一个COM口上?
右键"此电脑" -> 管理 -> 设备管理器 -> 端口 -> USB-SERIAL CH340(COM3)
prolific USB-to-Serial Comm Port (COMx)
COM口等于多少取决于你接在电脑的哪一个USB口上。
4、打开串口工具。 -> SecureCRT.zip
在windows上解压secureCRT.zip -> 得到一个secureCRT文件夹 -> 打开secureCRT.exe(遇到什么窗口都关闭)
5、配置串口参数。
文件 -> 快速连接 -> 按照以下参数来进行配置:
协议:serial
端口号:COM3
波特率:115200 -> 如果设置不对,那么会出现乱码
数据位,奇偶校验位,停止位都不需要设置。
流控:三个打钩都去掉。 -> 如果设置不对,则键盘不能控制开发板。
配置完成后,点击"连接" -> 在左上方可以看到"绿色的打钩 serial-COM3"
6、重启开发板
[ 4.677000] usbcore: registered new interface driver rtl8723bu
libpng warning: iCCP: known incorrect sRGB profile
ssss 14 -> "ctrl + C"
[root@GEC6818 /IOT]#
[root@GEC6818 /IOT]#
[root@GEC6818 /IOT]#
如何设置字体的大小?
选项 -> 会话选项 -> 外观 -> 字体 -> 18 -> 确定
四、开发板的启动过程。
1、每一个系统都是由3个镜像组成,分别是uboot,kernel,fs。
加载 挂载
上电 -> uboot ------> kernel --------> fs
1)上电。 -> 拨动拨码开关。
2)开始进行uboot选择。
Card did not respond to voltage select!
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 1
如果在5S内,按下任何按键,就会进入uboot模式,不会加载内核。
GEC6818#
GEC6818#
GEC6818# ->uboot模式。
如果在5S内,没有按下任何的按键,就会开始加载内核。
3)开始加载内核
## Booting kernel from Legacy Image at 48000000 ... -> 内核镜像的地址
Image Name: Linux-3.4.39-gec -> 内核的版本
Image Type: ARM Linux Kernel Image (uncompressed) -> 内核的类型
Data Size: 5532608 Bytes = 5.3 MiB -> 内核镜像的大小
Load Address: 40008000
Entry Point: 40008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
/* 开始加载内核 */
/* 初始化开发板的硬件 */
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Initializing cgroup subsys cpu
[ 4.455000] stmmac_open: failed PTP initialisation
[ 4.696000] usbcore: registered new interface driver rtl8723bu
/* 结束加载内核 */
4)挂载文件系统。
[root@GEC6818 /IOT]#
[root@GEC6818 /IOT]#
2、如何屏蔽开机之后的物联网程序?
1)打开启动脚本。
启动脚本:/etc/profile
[root@GEC6818 /]#vi /etc/profile
2)按照以下步骤来操作:
按一下'i',从一般模式切换到编辑模式。
使用方向键,找到以下两句话,在前面加上一个#,作为注释。
cd /IOT
./iot
变成
#cd /IOT
#./iot
按'Esc' 从编辑模式变成一般模式。
按"shift + ;" 从一般模式变成底行模式。
输入wq
回车
3)重启开发板。
五、如何通过串口下载/上传文件到开发板中?
1、开发板自带了一个串口下载的工具。 -> rx (windows -> ARM)
[root@GEC6818 /]#which rx
/bin/rx
2、确保你需要下载的文件在windows中是存在的。
D:\GZ2057\05 开发板使用\code\hello
3、直接在开发板中输入以下的命令:
[root@GEC6818 /]#rx hello
C
4、"传输" -> "发送Xmodom" -> 选择hello这个文件 -> 发送
下载过程:
进度 文件大小 下载速度 下载用时 错误
100% 8 KB 8 KB/s 00:00:01 0 Errors
5、 查看是否下载成功。
[root@GEC6818 /]#ls
会发送有一个hello的文件。
6、修改权限并执行。
[root@GEC6818 /]#chmod 777 hello
[root@GEC6818 /]#./hello
helloworld!
rx特点:只需要串口线连接上就可以使用,rx是自带的,只能单个单个文件地下载。
2、使用rz工具批量下载。 -> rz (windows -> ARM)
rz特点:在开发板中不存在的,可以批量下载。
rz文件由老关来提供:D:\GZ2057\05 开发板使用\破解版rz\rz
1)由于rz在开发板是不存在的,所以首先要把rz下载到开发板中。
[root@GEC6818 /]#rx /bin/rz
C
100% 39 KB 5 KB/s 00:00:07 0 Errors
2)添加执行权限给rz。
chmod 777 /bin/rz
3)直接输入下载的命令
[root@GEC6818 /]#rz -y -> 这时候会弹出一个框,你只需要选择需要下载的文件,然后按添加即可。
(默认会下载到当前目录,如果需要下载到特定的目录,首先要切换进去。)
下载过程:
100% 5 bytes 5 bytes/s 00:00:01 0 Errors
100% 5 KB 5 KB/s 00:00:01 0 Errors
100% 4 bytes 4 bytes/s 00:00:01 0 Errors
3、使用sz工具上传文件。 -> sz(ARM -> windows)
sz特点:在开发板不存在的,单个文件上传。
1)由于sz在开发板是不存在的,所以首先要把sz下载到开发板中。
[root@GEC6818 /]#cd bin/
[root@GEC6818 /bin]#rz -y
选择sz工具
2)添加执行权限给sz。
chmod 777 /bin/sz
3)设置windows的接收路径。
选项 -> 会话选项 -> X/Y/Zmodom -> 设置下载路径为桌面 -> 确定
4)上传文件。
[root@GEC6818 /]#sz aa.txt
100% 5 bytes 5 bytes/s 00:00:01 0 Errors
5)可以在windows的桌面看到aa.txt这个文件。
六、临时/永久设置IP地址。
1、临时设置。 (重启开发板无效)
1)先查看当前开发板的IP地址是多少?
[root@GEC6818 /]#ifconfig
网卡名称
eth0 Link encap:Ethernet HWaddr 5A:82:91:A8:00:35
inet addr:192.168.31.4 Bcast:192.168.31.255 Mask:255.255.255.0
2)临时使用命令设置一下IP地址。
[root@GEC6818 /]#ifconfig eth0 192.168.14.x
3)再次查看开发板的IP地址
[root@GEC6818 /]#ifconfig
eth0 Link encap:Ethernet HWaddr 5A:82:91:A8:00:35
inet addr:192.168.14.3 Bcast:192.168.14.255 Mask:255.255.255.0
2、永久设置。
1)先打开脚本文件。
[root@GEC6818 /]#vi /etc/profile
2)将设置IP地址的命令写入到脚本末尾。
ifconfig eth0 192.168.14.x
3)重启开发板
4)查看IP地址
[root@GEC6818 /]#ifconfig
eth0 Link encap:Ethernet HWaddr 5A:82:91:A8:00:35
inet addr:192.168.14.3 Bcast:192.168.14.255 Mask:255.255.255.0
七、使用网口下载。
1、接入另外一根网线到开发板中。
现象一:网口上LED灯会闪烁。
现象二:会打印以下这句话: PHY: stmmac-0:04 - Link is Up - 1000/Full
2、关闭windows的防火墙。
域网络,专用网络,公用网络都需要关闭。
3、测试windows与ARM是否连通?
windows: 192.168.14.14
ARM: 192.168.14.3
[root@GEC6818 /]#ping 192.168.14.14
PING 192.168.14.14 (192.168.14.14): 56 data bytes
64 bytes from 192.168.14.14: seq=0 ttl=64 time=0.856 ms
64 bytes from 192.168.14.14: seq=1 ttl=64 time=0.782 ms
64 bytes from 192.168.14.14: seq=2 ttl=64 time=0.676 ms -> 如果出现跳秒,说明通了。
4、在windows中上搭建一个tftp服务器。
只需要在windows上执行tftp32.exe就可以。
当前目录: 你想下载的那个文件所在的路径。
server interface: 选择windows的IP地址。
192.168.14.14
5、直接在开发板中输入下载的命令即可。
[root@GEC6818 /]#tftp 192.168.14.14 -g -r aa.txt
aa.txt 100% |*******************************| 5 0:00:00 ETA
[root@GEC6818 /]#tftp 192.168.14.14 -p -l p1
p1 100% |*******************************| 8348 0:00:00 ETA
[root@GEC6818 /]#tftp 192.168.14.14 -g -r aa.txt
tftp: timeout -> 目标192.168.14.14没有开启tftp服务器。
[root@GEC6818 /]#tftp 192.168.14.14 -g -r aa.txt
tftp: server error: (1) File not found -> tftp服务器上的当前目录的路径没有这个aa.txt
总结:
串口通信:连接上就可以用了,速度慢,不需要设置IP。
网口通信:连接网口,速度叫快,需要设置IP地址。
八、使用U盘挂载。
1、先把你的内容拉到U盘中。
2、把你的U盘接入到开发板中。
在secureCRT中会打印以下的信息:
[ 331.378000] usb 1-1.2: Product: DataTraveler 3.0 -> 接口3.0
[ 331.383000] usb 1-1.2: Manufacturer: Kingston -> U盘是金士顿
[ 332.436000] sda: sda1
3、切换到U盘的所在地。
[root@GEC6818 /]#cd /mnt/udisk/
4、查看U盘的内容:
[root@GEC6818 /mnt/udisk]#ls
00 ??????? libcrypto.so
1.bmp libcurl.so
2.bmp libjsoncpp.a
3.bmp libssl.so
5、将你需要的东西拷贝到开发板中。
[root@GEC6818 /mnt/udisk]#cp 1.bmp /
以project/项目为例子,完成project/项目之后,如何将工程移植到开发板中。
1、修改makefile的编译器选项
CC=gcc
修改为
CC=arm-linux-gcc
2、执行makefile中的目标,生成库文件。
执行make lib/libmy.so
gec@ubuntu:/mnt/hgfs/GZ2057/05 开发板使用/project$ make lib/libmy.so
arm-linux-gcc src/parent.c -o src/parent.o -c -fPIC -I ./include/
arm-linux-gcc src/login.c -o src/login.o -c -fPIC -I ./include/
arm-linux-gcc src/root_fun.c -o src/root_fun.o -c -fPIC -I ./include/
arm-linux-gcc src/monitor.c -o src/monitor.o -c -fPIC -I ./include/
arm-linux-gcc src/register.c -o src/register.o -c -fPIC -I ./include/
arm-linux-gcc -fPIC -shared -o lib/libmy.so src/parent.o src/login.o src/root_fun.o src/monitor.o src/register.o
3、执行makefile中的目标,生成目标文件。
make bin/project
gec@ubuntu:/mnt/hgfs/GZ2057/05 开发板使用/project$ make bin/project
arm-linux-gcc main/project.c -o bin/project -I ./include/ -L ./lib -lmy
4、将总工程project/整个目录压缩。
tar zcvf project.tar.gz project/
5、将压缩包发送到开发板中。
[root@GEC6818 /]#rz -y
在开发板的根目录可以看到project.tar.gz
[root@GEC6818 /]#ls
1.bmp hello p4 sbin
IOT home picname sys
bin lib picture target.txt
bmp_dir lost+found proc test3
client mnt process tmp
dev mp3 project.tar.gz -> 目标!
6、在开发板的根目录解压压缩包。
[root@GEC6818 /]#tar zxvf project.tar.gz -C .
7、设置工程的库的环境变量
将:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/project/lib
写入到脚本中
8、执行工程,测试效果。
[root@GEC6818 /]#./project/bin/project
如果项目已经成型,应该讲工程写入到开发板中,应该将"./project/bin/project"写入到脚本文件,这样开发板,只要一开机,就会自动运行你的项目程序。