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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
文章目录, `, x% L! J7 D  m- R: k& l  J
1 在开发板上移植ssh+ M7 B. r9 @0 x0 M
2 安装ssh: J8 B4 N1 B/ M
3 生成KEY文件,并安装) e0 C; ~6 E4 |7 T
4 修改目标板密钥文件
' w1 Y+ w. d8 f5 测试
& U, n- H$ E# p. p7 ]# e6 在Ubuntu上搭建QT开发环境& k3 g" x& r/ h) G, s* b# \9 s
7 配置编译套件& @6 @$ M) D* |+ _9 ?, P% G
之前我们写好一个程序,都是先交叉编译完,然后在通过nfs/tftp或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点的办法呢,这个就是接下来我们要介绍的一种方法,一键烧写QT程序到开发板,我们只需要在qtcreater上点击一下编译,那么QT程序会自动到开发板上来运行,是不是非常的方便?
3 w' R) S# {7 h% d( I+ c) S1 在开发板上移植ssh: y& I2 ^7 e4 I. M
要想实现一键烧写,那么我们必须就先要在开发板上移植一个ssh,本次实验我们使用的是busybox文件系统,这个文件系统并不支持ssh,所以我们要先移植一个上去。接下来,我们一起来移植一下。% i( ^1 H: v6 f. \, c! Q& M+ O
移植环境:
' P/ l( q- j: l1 H$ ^$ ?编译器保持和编译文件系统和QT的编译器一致:' u% W' @/ h) N/ C1 _7 b
ARM-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
! ]0 E4 Z* Z8 k( XUbuntu版本:Ubuntu16
7 t$ W! {- Z, g9 ~: D1 `/ \# U(1)移植zlib: {- k0 f& W3 B% @
从迅为提供的资料中拷贝“ 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
' B6 R! M( {. ^+ n3 Q6 p
2 z/ Y( F# e% Y7 {: S接着使用命令“./configure --prefix=/home/ssh/ssh_install/zlib-1.2.3”,设置配置文件,
& b! {& a; i% K' m) h/ h其中–prefix=/home/ssh/ssh_install/zlib-1.2.3指定了zlib的安装路径。
! d# ?' W9 }, W' H! y# Z' l如图 1.2所示 :5 I6 u  L5 c- j, Y

5 e0 [0 K1 m, A% \0 ]+ J2 _使用命令“ vim Makefile” 修改编译参数,将所有 gcc 修改为“ arm-none-linux-gnueabi-gcc”: x4 t: X) p  q1 y  T7 T# U
如图 1.3所示5 ~  e! t6 Y/ @5 h1 G! v

1 K' p2 o+ f4 _7 ]9 l4 X" }接着使用编译命令“make” ,如图 1.4所示3 Y- N; e3 s. f# F
/ a  a3 f! }. z9 w- ^( E
执行 make 无报错后,接着使用安装命令“make install” ,如图 1.5所示2 h. O) [' g( G9 c

4 @" M, r6 T$ S! A0 n6 P现在已经安装好了 zlib 库,在后面编译 SSH 的时候,需要用到 zlib 库,作者这里的路径是“/home/ssh/ssh_install/zlib-1.2.3” ,后面配置的时候需要对应生成的库文件,如图 1.6所示) T1 A4 Q2 p/ V- b) [
; q$ m# q) A8 g& `8 r
(2)移植 openssl
3 R# ~2 ?1 u& i/ k$ C接着来移植 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所示。
: q" @6 s) P% T! _8 B: J( h# q4 [
! w  {) }1 q; v2 C6 \1 h# V& J& k接着使用命令“./Configure linux-elf-arm -DB_ENDIAN linux:‘arm-none-linux
* j, ^- t8 ^) o) b4 G2 y-gnueabi-gcc’ --prefix=/home/ssh/ssh_install/openssl-0.9.8h” 配置编译文件,如图 1.8所示。
& E9 _" Y2 _: O$ \
/ K" J! ?; D6 |; a3 a使用编译命令“make” 编译完成,如图 1.9所示
) Q. h7 P! k% M+ |4 \* ?& i1 W2 @+ ]. e' f5 `" U* e  {9 u
最后使用安装命令“make install” ,如果在安装过程提示以下错误,如图 1.10所示:. z, H$ i, C1 N( Z- u2 q( I

$ j7 k6 S( @+ i: ]) M执行命令rm -f /usr/bin/pod2man可以解决,如图 1.11所示:
* P5 T8 ^6 j6 M9 i9 {3 D$ X4 Z# H. G) L; E7 |! `" v- H1 V
然后再次执行make install即可安装成功,如图 1.12所示:
8 F1 ~& U: d* _! |8 A
9 Z* ~5 H. j/ z. m" e(3)移植 ssh  O2 _/ f) m& p. ~4 B7 _  m% a
接着来移植 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所示
! Y4 @2 x8 |3 U2 Q' Z8 A4 M* B. L  d* t  j
这里看一下 ssh 的 configure 的帮助文件,如下所示,使用“ ./configure --help
% m9 m, k. i8 ?2 |ssh 的 configure 文件中需要配置的参数7 _8 i: r/ k- ?) t3 K; }: a. f' v4 a9 f
–host 表示编译出来要运行的平台
' |* o# q, N' s  V& U9 ]3 E0 c–with-libs 表示需要的额外的库文件;6 k& o6 u6 d2 @( O5 `! ]
–with-zlib 表示库文件 zlib 的 instal 路径 l;* W! f8 s: a( Y0 r* K# y$ e$ |6 C' c, l
–with-ssl-dir 表示 OpenSSl 文件的 install 路径;% B! F1 W9 ~1 |; Z- X6 \
–disable-etc-default-login 表示不使用当前环境变量的编译器, 所以后面配置参数时, 最后直接配置  M7 R/ ~) C, k+ Z; c5 ^
CC 和 AR 这两个编译器;, L- ^3 y; h& b( z1 z4 G! j
CC 表示设置使用的编译器;3 G7 K/ H9 `! D3 w, Y$ ~0 `& O8 C
AR 表示设置使用的编译器的路径(蛮奇怪, 配置文件中似乎没有这个参数, 用户可以执
0 r- _* X! o+ x$ `  ~行验证下)
1 p0 W! ^1 @4 z  {! G3 m% @接着使用配置命令,命令比较长,作者使用颜色给大家分段:
/ j+ W$ r# i1 A) Z" q./configure --host=arm-none-linux --with-libs
9 z' a. @& H4 J4 Q1 W5 j–with-zlib=/home/ssh/ssh_install/zlib-1.2.3
: N7 A$ k& V( W( q–with-ssl-dir=/home/ssh/ssh_install/openssl-0.9.8h# N- o7 G$ a6 s' S& r; I
–disable-etc-default-login CC=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc# B6 ~0 `) w% Y; t
AR=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-ar
% ]- l0 \5 i$ k2 S) h  P9 j如图 1.14所示:
8 X) D/ G/ A3 ?7 i- L
0 t5 e- E( Q' a5 Y& o; R执行成功如图 1.15所示:
$ w7 y7 Z+ `4 Y9 Z* P+ v7 a& U
1 t. w/ w- c! h; t1 X使用编译命令“make” ,编译完成,如图 1.16所示
( e, h6 E0 c$ s$ z1 u
  q, H2 C$ S; b( e* a" ?编译完成,最后肯定是需要安装到开发板上的,如图 62.6.1.17所示。最后在目录下
7 `5 [+ \# |6 ]5 @! \9 e/ k“/home/ssh/openssh-4.6p1” 有这几个二进制文件“scp 、 sftp 、 ssh、 sshd、
4 X5 I/ u5 a& _* j. z, w4 A3 xssh-add、 ssh-agent、 ssh-keygen、 ssh-keyscan” 需要安装到开发板上。最终编译出来的二进制文件,可以使用 file 命令查看文件属性,如下图所示, 使用命令“file scp” ,可以看到“scp” 文件是 32 位 ARM上使用的可执行文件$ [* h* w! ^; J. B, F" ~

2 Z8 [* h. e( J" S% D' x" A
  • 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-8-19 23:42 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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