找回密码
 注册
关于网站域名变更的通知
查看: 533|回复: 1
打印 上一主题 下一主题

迅为-iMX6ULL开发板-移植mjpg-streamer实现远程监控

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-5-14 11:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
文章目录
4 A' ?, @# ?0 @! \" R* X* ?- @1 在开发板上移植ssh
9 Z( X2 E9 @) H% Z' @: a: B% E2 安装ssh; t6 K9 h4 G3 f7 F
3 生成KEY文件,并安装) }( N  {' D5 |3 r* z
4 修改目标板密钥文件+ X7 m) V7 Z; p2 H* [* Y+ U; X
5 测试
+ d) F! l- \! ^' f6 在Ubuntu上搭建QT开发环境
, V, U6 ^( p% l. H% i& M  W* [7 配置编译套件, V8 h+ @0 Y0 @" w4 U' Z9 A
之前我们写好一个程序,都是先交叉编译完,然后在通过nfs/tftp或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点的办法呢,这个就是接下来我们要介绍的一种方法,一键烧写QT程序到开发板,我们只需要在qtcreater上点击一下编译,那么QT程序会自动到开发板上来运行,是不是非常的方便?
! Y, T7 u+ F3 O2 h+ \2 b1 在开发板上移植ssh, L: Y$ }$ z4 G2 }6 a7 Y; d; ~4 H
要想实现一键烧写,那么我们必须就先要在开发板上移植一个ssh,本次实验我们使用的是busybox文件系统,这个文件系统并不支持ssh,所以我们要先移植一个上去。接下来,我们一起来移植一下。
. `7 x5 I) U/ P- Y6 r1 R移植环境:* L& T. ]. d# Q* P/ C
编译器保持和编译文件系统和QT的编译器一致:# F/ n/ {# [, d+ h* ~: c
ARM-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
2 o# |- }: y) Q, ZUbuntu版本:Ubuntu168 i! b4 z  z0 B( m9 h+ G1 Z1 @
(1)移植zlib
. z8 A  p6 i+ d* A. ?9 V从迅为提供的资料中拷贝“ zlib-1.2.3.tar.gz” 到 Ubuntu 系统,使用命令“ tar -vxf zlib-1.2.3.tar.gz” 解压,得到“zlib-1.2.3” 文件夹,使用命令“cd zlib-1.2.3” 进入“ zlib-1.2.3”文件夹,如图 1.1. p& e- K$ Z4 @  K* Y% {

4 J5 X" y& V3 |3 W" o接着使用命令“./configure --prefix=/home/ssh/ssh_install/zlib-1.2.3”,设置配置文件,
' m" p/ m' x  K7 I$ B其中–prefix=/home/ssh/ssh_install/zlib-1.2.3指定了zlib的安装路径。
" M( i# q% i) ^. r$ a" i$ p7 y如图 1.2所示 :
2 \% c1 H+ N' K( r+ A: I
! X8 z) Y4 }, U9 S6 k  k使用命令“ vim Makefile” 修改编译参数,将所有 gcc 修改为“ arm-none-linux-gnueabi-gcc”" F/ d1 L+ ]9 X
如图 1.3所示
: |9 D. b2 w+ J2 y: u/ y1 q& T, Y* E, I6 O* g
接着使用编译命令“make” ,如图 1.4所示
# p2 M. w& z5 |  [2 `/ ~2 I9 q" w; K. f: o
执行 make 无报错后,接着使用安装命令“make install” ,如图 1.5所示, d) n0 O7 r/ E4 d. G6 ^
6 g+ Y* N1 z7 H& B; c* ]6 z
现在已经安装好了 zlib 库,在后面编译 SSH 的时候,需要用到 zlib 库,作者这里的路径是“/home/ssh/ssh_install/zlib-1.2.3” ,后面配置的时候需要对应生成的库文件,如图 1.6所示
# @9 t7 w$ z5 O3 y/ g' f* u9 P; W2 T0 x9 A
(2)移植 openssl
- u- o% \# P& s接着来移植 openssl 库,拷贝“openssl-0.9.8h.tar.gz” 到 Ubuntu 系统,使用命令“tar -vxf openssl-0.9.8h.tar.gz” 解压,得到“openssl-0.9.8h” 文件夹,使用命令“cd openssl-0.9.8h”进入“openssl-0.9.8h” 文件夹,如图 1.7所示。" [1 j+ u/ s: f, X2 K( G! R2 F$ l

% t- U1 q  Z6 v* K/ Z' l接着使用命令“./Configure linux-elf-arm -DB_ENDIAN linux:‘arm-none-linux; E  ?7 u3 ?; F( E0 H* k# c
-gnueabi-gcc’ --prefix=/home/ssh/ssh_install/openssl-0.9.8h” 配置编译文件,如图 1.8所示。6 {- F: B/ }8 L" |

1 V8 y  D- _7 e6 ^" o使用编译命令“make” 编译完成,如图 1.9所示
$ V! y) V3 @. c0 M0 |+ Q5 w* v6 P1 u0 C9 a
最后使用安装命令“make install” ,如果在安装过程提示以下错误,如图 1.10所示:! r2 \4 p6 [0 L8 ~! ?/ K- U3 [! n5 l
# B( V0 Y" V: D1 m
执行命令rm -f /usr/bin/pod2man可以解决,如图 1.11所示:
: v, f! C1 {0 J, {2 i6 q% K, t& w, V7 c! \
然后再次执行make install即可安装成功,如图 1.12所示:9 {1 M9 J: m" z2 d6 Q* S: v8 N

) ?$ Q4 z2 D3 N/ F  R8 J(3)移植 ssh3 g1 B+ s" a+ c% x' d0 q/ C
接着来移植 openssh, 拷贝“ openssh-4.6p1.tar.gz” 到 Ubuntu 系统,使用命令“ tar -vxfopenssh-4.6p1.tar.gz” 解压,得到“openssh-4.6p1” 文件夹,使用命令“cd openssh-4.6p1/” 进入“openssh-4.6p1” 文件夹,如图 1.13所示
" d+ e3 O3 _" A) W$ B( r' f& N  M" `
这里看一下 ssh 的 configure 的帮助文件,如下所示,使用“ ./configure --help
. L( K, U% d( d$ {& @; ~# L6 ossh 的 configure 文件中需要配置的参数
6 j# M2 j3 ?3 p* ], r2 |–host 表示编译出来要运行的平台' p0 A0 K2 L8 K) T" m) g
–with-libs 表示需要的额外的库文件;
3 |7 B) P1 e+ v9 P& f' l. |–with-zlib 表示库文件 zlib 的 instal 路径 l;# A  \) Q' Q, g# W3 j
–with-ssl-dir 表示 OpenSSl 文件的 install 路径;
" C# K" ^7 k- Y6 |–disable-etc-default-login 表示不使用当前环境变量的编译器, 所以后面配置参数时, 最后直接配置
# f$ b; l( ?: [* Q6 A! U1 y- hCC 和 AR 这两个编译器;
9 A! v' ]0 y: b: ~/ ]CC 表示设置使用的编译器;
! f2 ?0 C7 t/ |7 q8 nAR 表示设置使用的编译器的路径(蛮奇怪, 配置文件中似乎没有这个参数, 用户可以执
: A, S' o4 x9 X行验证下)
/ {/ U' |/ u; d. ~接着使用配置命令,命令比较长,作者使用颜色给大家分段:
- |" N" z' D& J+ R' ^./configure --host=arm-none-linux --with-libs! l4 r- b; u2 X4 Q/ G' S
–with-zlib=/home/ssh/ssh_install/zlib-1.2.3& L# Y# [; M+ U. v
–with-ssl-dir=/home/ssh/ssh_install/openssl-0.9.8h; u7 m  }# F# O: C% t1 t& u
–disable-etc-default-login CC=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc3 |1 h/ s/ P2 R# n' f+ f
AR=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-ar4 b  ]  R; b; a" N! ]" |8 i
如图 1.14所示:1 u, c- |; |) r5 o1 e
2 C. W. v1 v$ c+ Q+ ?( J: F
执行成功如图 1.15所示:7 [/ y, _; l9 |. U+ c
! [% d# u5 M4 j( y9 O
使用编译命令“make” ,编译完成,如图 1.16所示5 _! n( d: R, c/ x7 d0 V' j6 l
+ A; B1 s) O/ x5 b5 g+ o: t4 C
编译完成,最后肯定是需要安装到开发板上的,如图 62.6.1.17所示。最后在目录下
& G: f! L/ o( R& i6 C“/home/ssh/openssh-4.6p1” 有这几个二进制文件“scp 、 sftp 、 ssh、 sshd、
. x, u0 c! j, Zssh-add、 ssh-agent、 ssh-keygen、 ssh-keyscan” 需要安装到开发板上。最终编译出来的二进制文件,可以使用 file 命令查看文件属性,如下图所示, 使用命令“file scp” ,可以看到“scp” 文件是 32 位 ARM上使用的可执行文件, A$ r  d% L  R' D

1 d- h" Z" i* d1 q6 X) @: Q0 O) o: t
  • TA的每日心情
    开心
    2023-6-2 15:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-5-20 10:31 | 只看该作者
    666                                                   
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-3 17:45 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表