本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。
嵌入式开发流程一般如下,一般是在PC机的Windows系统下安装Ubuntu虚拟机,搭建嵌入式开发环境及交叉编译环境,开发完成后,编译得到bin文件,然后在Windows下将bin文件通过串口或网络下发到嵌入式板卡,程序在嵌入式板卡上运行。
1. RS232串口接孔图解
串口,一般也指COM接口,传输速度较慢,适合远距离传输。这里用于主机与嵌入式版之间的数据通信,一般用于指令下发等。按照协议标准还分为RS-232-C、RS-422、RS485等。其中RS-232也是最常用的串口,称为标准串口。下面仅介绍RS-232的的接线图。RS232串口为9针接口,分为公头与母头,PC机上的串口一般为公头,如下图。
各个针孔功能如下:
最简单的串行接口需要的信号线是2数据发送(TxD)、3数据接收(RxD)和5信号地(GnD) ,只需要接通这3根线即可实现上位机PC与嵌入式板的通信,如下图:
2. 上位机与嵌入式板串口通信工具
一般使用SecureCRT工具进行上位机与板卡通信。
(1)串口连接
打开快速连接
协议选择Serial,端口与波特率根据实际情况而设置,
点击连接,弹出新窗口,敲回车键,出现以下界面表示上位机与板卡连接成功。
(2)使用Telnet连接
Telnet连接就是使用网络(即网线)实现PC机与板卡通信,而不需要串口。
Tlenet新建连接,选择Telnet协议,主机名是板卡的ip。
点击连接,弹出新窗口,输入用户名和密码:
3. 上位机与嵌入式板卡实现文件传输
在SecureCRT中使用命令ifconfig查看板卡的ip地址:
将上位机PC与嵌入式板卡用网线直接连接,将PC机的本地连接ip地址改成与嵌入式板卡同一个网段,例如:
在上位机中打开tftpd32工具,在Server interface中选择上位机与嵌入式板卡相同网段的ip,如下:
注意之类PC机是作为TFTP协议的服务端,板卡作为客户端。
将文件从上位机下载到板卡,在SecureCRT中输入以下命令:
tftp -g -r 1080P.jpg 192.168.1.100
这里-g表示从PC下载文件到板卡,-r表示远程服务器(即PC)的文件, 1080P.jpg表示要传输的文件,后面的ip地址就是PC机的IP地址,例如:
输入以上命令后,板卡在当前目录下即收到该文件。如果需要在某个目录下接收文件,需要切换到该目录下,再输入以上命令。
将文件从板卡传输到上位机,在SecureCRT中输入以下命令:
tftp -p -l 10801P.jpg 192.168.1.100
这里-p即推送的意思,-l表示本地(板卡)的文件。
4. 常用Linux命令
- 回到根目录:cd /
- 解压文件:tar -xvf data.tar
- 删除文件: rm -f 1.txt
- 改变目录的读写权限:sudo chmod 777 /usr/share/themes
说明:这里777表示每个用户都可以读写,后面设的是路径
- 重命名:mv aaa.h264 bbb.h264
说明:将aaa.h264重命名为bbb.264
- 查看ip地址:ifconfig
- 查看文件属性:stat sample_nnie_main
- 查看当前路径:pwd
- 创建文件夹:mkdir
- 更改ip地址:ifconfig eth0 192.168.6.111 (重启后会丢失)
(持续更新)
5. MP4、AVI等转换为*.h264格式
在嵌入式系统中,程序往往无法直接解码mp4,avi等格式视频文件,需将其转换为裸流.h264格式,方法如下:
PC上下载ffmpeg工具,切换到ffmpeg.exe的目录,用cmd打开命令行窗口:
.mp4转.h264:
ffmpeg -i 1920x1080.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 1920x1080.h264
.avi转.h264:
ffmpeg -i 160x120.avi -vcodec h264 -s 160*120 -an -f m4v test.h264
即在ffmpeg目录下生成所需格式的文件。