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

迅为4412开发板一键烧写QT程序到开发板

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
之前我们写好一个程序,都是先交叉编译完,然后在通过 nfs/tftp 或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点的办法呢,这个就是接下来我们要介绍的一种方法,一键烧写 QT 程序到开发板,我们只需要在qtcreater 上点击一下编译,那么 QT 程序会自动到开发板上来运行,是不是非常的方便?
3 b7 g/ U2 u" P, ?) @85.1 在开发板上移植 ssh
; O$ h' d3 F9 D" i要想实现一键烧写,那么我们必须就先要在开发板上移植一个 ssh,本次实验我们使用的是 busybox 文件系统,这个文件系统并不支持 ssh,所以我们要先移植一个上去。接下来,我们一起来移植一下。) z$ q/ R# [: _6 q2 O% v- j
移植环境:
* J0 E3 J% Y* }编译器保持和编译文件系统和 QT 的编译器一致:7 p: j- t. M0 L- Z; k+ g. L
ARM-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2. {! d* R- s1 K
Ubuntu 版本:Ubuntu16
& c& \: G/ u& k$ X(1)移植 zlib! K+ n  _) ?6 r9 t3 x8 ~0 k. Y7 f: y% a
从迅为提供的资料中拷贝“ 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”文件夹,如图 62.6.1.1
4 u& j/ P$ H$ ?. D
/ v7 ]5 u+ F& N, u& s, G: H接着使用命令“./configure --prefix=/home/ssh/ssh_install/zlib-1.2.3”,设置配置文件,7 R  s' N' K7 p0 L! ?
其中--prefix=/home/ssh/ssh_install/zlib-1.2.3 指定了 zlib 的安装路径。
1 {; n3 f3 w5 l: H% d% D& J如图 62.6.1.2 所示 :7 r8 [6 F( S2 ~4 U9 F) o

7 o$ y8 c2 o4 w使用命令“ vim Makefile” 修改编译参数,将所有 gcc 修改为“ arm-none-linux-gnueabi-gcc”如图 62.6.1.3 所示" k! _  g$ \4 n0 E+ P* L

/ N; x. J( _2 {$ I- F接着使用编译命令“make” ,如图 62.6.1.4 所示
) i8 F& z! L" x* ]$ a2 a& X1 T5 Q! ?+ A
执行 make 无报错后,接着使用安装命令“make install” ,如图 62.6.1.5 所示/ }6 @$ K. S5 }1 |) R. u

" z$ L9 K( L# F% i4 b( d) D, D现在已经安装好了 zlib 库,在后面编译 SSH 的时候,需要用到 zlib 库,作者这里的路径是“/home/ssh/ssh_install/zlib-1.2.3” ,后面配置的时候需要对应生成的库文件,如图 62.6.1.6 所示
9 t& v9 f& M4 N2 T! b4 t" o3 ]+ b' ?' W1 Z4 T0 g- u# r
(2)移植 openssl
% l8 f) l6 M6 Z- |& T- t1 B: X接着来移植 openssl 库,拷贝“openssl-0.9.8h.tar.gz” 到 Ubuntu 系统,使用命令“tar -vxfopenssl-0.9.8h.tar.gz”解压,得到“openssl-0.9.8h”文件夹,使用命令“cd openssl-0.9.8h”进入“openssl-0.9.8h”文件夹,如图 62.6.1.7 所示。
% k% |! R9 g" l, r$ H. v5 @& _1 h
接着使用命令“./Configure linux-elf-arm -DB_ENDIAN linux:'arm-none-linux
2 R! l; K* A) Z2 q-gnueabi-gcc' --prefix=/home/ssh/ssh_install/openssl-0.9.8h” 配置编译文件,如图 62.6.1.8 所示。: A  G% Y9 `! P+ j; a
9 y/ I3 S/ T/ D) t& d7 @
使用编译命令“make” 编译完成,如图 62.6.1.9 所示
% m+ _- I0 j6 |/ d( I  x3 \; p4 V# K
最后使用安装命令“make install” ,如果在安装过程提示以下错误,如图 62.6.1.10 所示:! \* o: ~- q3 O0 y2 Y' {+ t
7 g! ^" o) O; A& b% Y3 s
执行命令 rm -f /usr/bin/pod2man 可以解决,如图 62.6.1.11 所示:
) x, h  B9 T9 ?. d. L' n
7 ?* K; x6 |! t. E5 p9 i, |* ^' B然后再次执行 make install 即可安装成功,如图 62.6.1.12 所示:
, T) Q) ~9 H( R0 E5 N# D
$ @& N. S/ S7 L. W8 u(3)移植 ssh
, m; |3 f9 D2 X" R2 v4 d9 S接着来移植 openssh, 拷贝“ openssh-4.6p1.tar.gz” 到 Ubuntu 系统,使用命令“ tar8 b% W+ K2 c& A1 G" P( C7 u7 s
-vxfopenssh-4.6p1.tar.gz” 解压,得到“openssh-4.6p1” 文件夹,使用命令“cd openssh-4.6p1/” 进入“openssh-4.6p1” 文件夹,如图 62.6.1.13 所示& C/ ^: A/ `; T

; ]2 r7 j, j) ~/ N  B' X/ g这里看一下 ssh 的 configure 的帮助文件,如下图所示,使用“ ./configure --help
  m% a( a" L: t3 e! ^ssh 的 configure 文件中需要配置的参数8 ^' g5 ?5 D8 }& `8 C4 Q  p& O
--host 表示编译出来要运行的平台  @4 `' }( r* ~& x# D* }
--with-libs 表示需要的额外的库文件;& s. i* z3 v: U( b; D
--with-zlib 表示库文件 zlib 的 instal 路径 l;4 c$ x" M7 U; a: L
--with-ssl-dir 表示 OpenSSl 文件的 install 路径;; T# B# d- F% R5 }( r! T
--disable-etc-default-login 表示不使用当前环境变量的编译器, 所以后面配置参数时, 最后直接配置/ V' z6 s3 N/ _& v& n% a) c
CC 和 AR 这两个编译器;- A7 I/ o6 S4 H8 A
CC 表示设置使用的编译器;5 m) }) p, x4 f- v# H" V5 q1 o6 c
AR 表示设置使用的编译器的路径(蛮奇怪, 配置文件中似乎没有这个参数, 用户可以执8 I" \( c6 f" H9 d" |6 e
行验证下)
+ r" |) B: ]9 r! H# B. J  R7 S2 q接着使用配置命令,命令比较长,作者使用颜色给大家分段:, {: S5 Q( V  t- z. ^4 \  B- M9 P
./configure --host=arm-none-linux --with-libs7 w+ J5 R7 P* y, D8 U9 u
--with-zlib=/home/ssh/ssh_install/zlib-1.2.3  }" e7 N( k! M7 }7 c- d5 u6 ]
--with-ssl-dir=/home/ssh/ssh_install/openssl-0.9.8h
1 l% m  l; m: L7 J) x0 y; m--disable-etc-default-login CC=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc) i9 g8 h7 T6 i& ^
AR=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-ar
6 N4 N. F: T, c1 S  X$ `$ P2 O/ T如图 62.6.1.14 所示:
( e$ ~( M& X! C* a2 {1 J; u* F. ?% P# w, O
执行成功如图 62.6.1.15 所示:
, Y4 f8 }# J5 ~5 n0 N! t) ~, L4 F% o0 R' G' l; Y! r
使用编译命令“make” ,编译完成,如图 62.6.1.16 所示
2 B: V2 A4 Q4 Y! L( S) T9 E( ~1 P  x$ Y+ {
编译完成,最后肯定是需要安装到开发板上的,如图 62.6.1.17 所示。最后在目录下“/home/ssh/openssh-4.6p1” 有这几个二进制文件“scp 、 sftp 、 ssh、 sshd、ssh-add、 ssh-agent、 ssh-keygen、 ssh-keyscan” 需要安装到开发板上。最终编译出来的二进制文件,可以使用 file 命令查看文件属性,如下图所示, 使用命令“file scp” ,可以看到“scp” 文件是 32 位 ARM上使用的可执行文件* D( Z# Y7 X+ ^2 c7 O

: E! U3 [8 q: ~  v
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 13:57 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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