本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。
嵌入式开发流程一般如下,一般是在PC机的Windows系统下安装Ubuntu虚拟机,搭建嵌入式开发环境及交叉编译环境,开发完成后,编译得到bin文件,然后在Windows下将bin文件通过串口或网络下发到嵌入式板卡,程序在嵌入式板卡上运行。
嵌入式开发直播课 - 嵌入式开发职业规划 - 创客学院直播室www.makeru.com.cn![0da667cb3a7bc1e9381946a062b1bd4f.png](https://i-blog.csdnimg.cn/blog_migrate/12f535656cb28736e611718989b3eda6.png)
1. RS232串口接孔图解
串口,一般也指COM接口,传输速度较慢,适合远距离传输。这里用于主机与嵌入式版之间的数据通信,一般用于指令下发等。按照协议标准还分为RS-232-C、RS-422、RS485等。其中RS-232也是最常用的串口,称为标准串口。下面仅介绍RS-232的的接线图。RS232串口为9针接口,分为公头与母头,PC机上的串口一般为公头,如下图。
![91cb83c4dab3beca22a4710533cead71.png](https://i-blog.csdnimg.cn/blog_migrate/8bafc4423f7b0f8f2d1806b6bac95b32.jpeg)
![199042455d9d23221245d41ca42afa09.png](https://i-blog.csdnimg.cn/blog_migrate/4548c9aa95db679e8af206afb3a1cebb.png)
各个针孔功能如下:
![6837745bb61d587867d538c432c47b7f.png](https://i-blog.csdnimg.cn/blog_migrate/ce6724942b53a198f0de863631f0a97e.png)
最简单的串行接口需要的信号线是2数据发送(TxD)、3数据接收(RxD)和5信号地(GnD) ,只需要接通这3根线即可实现上位机PC与嵌入式板的通信,如下图:
![e114297b2b6a62305cd84c7407053ab0.png](https://i-blog.csdnimg.cn/blog_migrate/31a6db975376fe0fb4d28403d84f2f26.jpeg)
2. 上位机与嵌入式板串口通信工具
一般使用SecureCRT工具进行上位机与板卡通信。
(1)串口连接
打开快速连接
![2940f10e9134cf6ede99de8ea0719a5c.png](https://i-blog.csdnimg.cn/blog_migrate/7bc9ef038a517417528fbecffbe5294a.png)
协议选择Serial,端口与波特率根据实际情况而设置,
![1ec3e2a4d58329191f49a15e7be0b77a.png](https://i-blog.csdnimg.cn/blog_migrate/f3399a06aeb46066d12b106181cf63e2.png)
点击连接,弹出新窗口,敲回车键,出现以下界面表示上位机与板卡连接成功。
![86f2bf0867ef5fecdd6505982cfc0b4f.png](https://i-blog.csdnimg.cn/blog_migrate/4e8f66b626e4fec8f51c0377572971ef.png)
(2)使用Telnet连接
Telnet连接就是使用网络(即网线)实现PC机与板卡通信,而不需要串口。
Tlenet新建连接,选择Telnet协议,主机名是板卡的ip。
![87502625914631617ba4426e4a786b55.png](https://i-blog.csdnimg.cn/blog_migrate/225abd6dd98478566c38d1045b43db04.png)
点击连接,弹出新窗口,输入用户名和密码:
![49e7d493c62a07ad29c11de7ed648591.png](https://i-blog.csdnimg.cn/blog_migrate/65d3f16f410d4fe600dc5a1472dbaac9.png)
3. 上位机与嵌入式板卡实现文件传输
在SecureCRT中使用命令ifconfig查看板卡的ip地址:
![a95ad20978d3cf9a2d30351531df394c.png](https://i-blog.csdnimg.cn/blog_migrate/0e661c238070d2c5adefa9ec325827d8.jpeg)
将上位机PC与嵌入式板卡用网线直接连接,将PC机的本地连接ip地址改成与嵌入式板卡同一个网段,例如:
![9185232dc0ba7a1ec463ea107fda9188.png](https://i-blog.csdnimg.cn/blog_migrate/a93208cb988cbe5052305c4ca4091bb1.jpeg)
在上位机中打开tftpd32工具,在Server interface中选择上位机与嵌入式板卡相同网段的ip,如下:
![e631f1ba7fe9e06842090a2c8d52ad5d.png](https://i-blog.csdnimg.cn/blog_migrate/16f03ccc3b7c4933cced3464e0dece7a.png)
注意之类PC机是作为TFTP协议的服务端,板卡作为客户端。
将文件从上位机下载到板卡,在SecureCRT中输入以下命令:
tftp -g -r 1080P.jpg 192.168.1.100
这里-g表示从PC下载文件到板卡,-r表示远程服务器(即PC)的文件, 1080P.jpg表示要传输的文件,后面的ip地址就是PC机的IP地址,例如:
![317c79304e0bcf3b58632d08530820e8.png](https://i-blog.csdnimg.cn/blog_migrate/4535e6f861e9787f5067778babdbbbe4.png)
输入以上命令后,板卡在当前目录下即收到该文件。如果需要在某个目录下接收文件,需要切换到该目录下,再输入以上命令。
将文件从板卡传输到上位机,在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目录下生成所需格式的文件。
https://jq.qq.com/?_wv=1027&k=8n6vl8hI (二维码自动识别)