当前位置: 代码迷 >> 综合 >> 开发板的使用&&怎样把项目移植到开发板中
  详细解决方案

开发板的使用&&怎样把项目移植到开发板中

热度:79   发布时间:2024-02-19 14:24:12.0

一、开发板使用学习大纲。
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"写入到脚本文件,这样开发板,只要一开机,就会自动运行你的项目程序。


 

  相关解决方案