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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
之前我们写好一个程序,都是先交叉编译完,然后在通过 nfs/tftp 或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点的办法呢,这个就是接下来我们要介绍的一种方法,一键烧写 QT 程序到开发板,我们只需要在qtcreater 上点击一下编译,那么 QT 程序会自动到开发板上来运行,是不是非常的方便?; C5 `3 g- ^' n! ~( j! n
85.1 在开发板上移植 ssh
, s7 M( V( j4 |; m9 |要想实现一键烧写,那么我们必须就先要在开发板上移植一个 ssh,本次实验我们使用的是 busybox 文件系统,这个文件系统并不支持 ssh,所以我们要先移植一个上去。接下来,我们一起来移植一下。! s  b1 t4 d! R; h/ N
移植环境:
- ]) d* w" H% W4 x$ {, v, {编译器保持和编译文件系统和 QT 的编译器一致:
# s; [: v4 d( X( g3 ^ARM-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
5 A- J& q2 F: J0 v( [& j# ^3 D; kUbuntu 版本:Ubuntu16
# Y6 ^( v8 f9 x8 Z6 Y6 a$ u! j- P(1)移植 zlib+ l# ]1 t" U- s* k0 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”文件夹,如图 62.6.1.1  d0 s+ {; H4 o, y
- D- T) \3 D  f' J
接着使用命令“./configure --prefix=/home/ssh/ssh_install/zlib-1.2.3”,设置配置文件,; T; E: e8 n% ^: u3 `, t* X
其中--prefix=/home/ssh/ssh_install/zlib-1.2.3 指定了 zlib 的安装路径。
! R# A( [( Y$ l) @如图 62.6.1.2 所示 :
( Y) I$ m9 h6 B" |5 h
: M$ Q' G  S  m( H; l+ }使用命令“ vim Makefile” 修改编译参数,将所有 gcc 修改为“ arm-none-linux-gnueabi-gcc”如图 62.6.1.3 所示
% Y$ z5 p4 P$ E* I
$ `* B  E; x: v3 H接着使用编译命令“make” ,如图 62.6.1.4 所示
$ T# _& O! ]: `
: F/ S2 O; Q; L0 j执行 make 无报错后,接着使用安装命令“make install” ,如图 62.6.1.5 所示
- L3 N0 T/ n/ M( b! \) J8 D  m  q4 U* J: _7 n; Q  U
现在已经安装好了 zlib 库,在后面编译 SSH 的时候,需要用到 zlib 库,作者这里的路径是“/home/ssh/ssh_install/zlib-1.2.3” ,后面配置的时候需要对应生成的库文件,如图 62.6.1.6 所示
1 a: Z9 b5 j6 b: l, `  Y% w. g( [: L8 B  `0 K+ C* I0 k% f7 C
(2)移植 openssl
, |1 {- l, K8 m7 A2 m2 g# y接着来移植 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 所示。
7 j& I, q: }2 {0 x" j: ~
3 L9 }- P; z; t: b接着使用命令“./Configure linux-elf-arm -DB_ENDIAN linux:'arm-none-linux
) i0 d) v7 N( F* H5 d5 _-gnueabi-gcc' --prefix=/home/ssh/ssh_install/openssl-0.9.8h” 配置编译文件,如图 62.6.1.8 所示。
( ?: d  v# ^* P& K6 O8 R. B
' B0 t! H/ q3 D: d4 `" c使用编译命令“make” 编译完成,如图 62.6.1.9 所示
$ Q) U( g+ |" x5 U5 F1 I3 y7 B- Y$ @0 j
最后使用安装命令“make install” ,如果在安装过程提示以下错误,如图 62.6.1.10 所示:0 y% p, S/ r- ?! T5 e

6 T% M3 M# s6 V7 U执行命令 rm -f /usr/bin/pod2man 可以解决,如图 62.6.1.11 所示:
. X  i* r2 O9 f. s4 w! G/ K$ P( J) E( k8 n: i
然后再次执行 make install 即可安装成功,如图 62.6.1.12 所示:
$ J# b% }. X# \% I$ S& X( W1 p) y! T) V4 ^0 N) r
(3)移植 ssh0 O+ c# P; U$ T0 P9 @" e
接着来移植 openssh, 拷贝“ openssh-4.6p1.tar.gz” 到 Ubuntu 系统,使用命令“ tar2 `' i# ?8 u8 q/ U; L
-vxfopenssh-4.6p1.tar.gz” 解压,得到“openssh-4.6p1” 文件夹,使用命令“cd openssh-4.6p1/” 进入“openssh-4.6p1” 文件夹,如图 62.6.1.13 所示
; Y# j6 K8 r5 S& O, j
: o# g1 I  C' x. C' o这里看一下 ssh 的 configure 的帮助文件,如下图所示,使用“ ./configure --help. E' S1 C0 R+ q  x- ^3 M
ssh 的 configure 文件中需要配置的参数4 [; x# J, B( s0 e5 Q  Y
--host 表示编译出来要运行的平台& S' w  P4 s& x
--with-libs 表示需要的额外的库文件;
- q# \( C4 D  @/ Z--with-zlib 表示库文件 zlib 的 instal 路径 l;
# K/ b  ], D, w3 _: f--with-ssl-dir 表示 OpenSSl 文件的 install 路径;5 ?. v; t' Z! ?: F1 [
--disable-etc-default-login 表示不使用当前环境变量的编译器, 所以后面配置参数时, 最后直接配置
: c8 m) K* K7 _# CCC 和 AR 这两个编译器;
8 e7 |. ]4 p2 R  N  ZCC 表示设置使用的编译器;
! p- S7 d$ t  w: i" MAR 表示设置使用的编译器的路径(蛮奇怪, 配置文件中似乎没有这个参数, 用户可以执5 b' l6 {0 y) @8 R. w
行验证下)
) w6 c7 b; V4 N& S* |  d接着使用配置命令,命令比较长,作者使用颜色给大家分段:  M2 |7 c) n$ Q9 w! b: o+ v7 K
./configure --host=arm-none-linux --with-libs' a& ]: n) [, @7 @
--with-zlib=/home/ssh/ssh_install/zlib-1.2.31 \' B3 }8 R0 W' `0 k
--with-ssl-dir=/home/ssh/ssh_install/openssl-0.9.8h
0 v. D  o) R5 d5 X. H--disable-etc-default-login CC=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc
9 m  `4 v3 ?1 \; Y! Y. KAR=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-ar+ D! Z9 F3 x" z5 b" f8 Q
如图 62.6.1.14 所示:" d7 ^! ?' g0 p  H( {: |0 c

$ L" B! B& {- O+ Q0 n执行成功如图 62.6.1.15 所示:; ?. r6 L8 X* J7 Z( s
; a7 i- x2 N* t! G9 ^1 R
使用编译命令“make” ,编译完成,如图 62.6.1.16 所示
2 I. J% C/ q$ I4 B! {6 t+ y4 J8 g
) z" [  Q6 V7 Q4 M- \7 N; m编译完成,最后肯定是需要安装到开发板上的,如图 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上使用的可执行文件
% ]; N) R9 U- i  n: x; r
! C3 H6 J1 i  Z" n* {
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 04:29 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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