嵌入式开发第一阶段,环境搭建

简单介绍嵌入式开发环境搭建

一、Zmodem

客户机与linux服务器传递文件的协议
使用SecureCRT-选项-会话选项,X/Y/Zmodem,目录-上传(rz命令默认打开的目录),下载(sz传递文件到windows的路径)
命令
rz:接收文件,从window传送文件到linux,保存到当前目录
sz [文件名]:发送文件到下载目录

二、samba服务

类似windows网上邻居的SMB协议,把linux当成假的windows
安装,sudo apt install samba
修改配置文件,/etc/samba/smb.conf,主要修改需要共享哪个目录,以及这个目录的访问权限
[chw_share] #共享文件夹名
comment = My share #标题
path = /home/chw/lab #共享文件夹路径
writable = yes #权限,可写
browseable = yes #权限,可浏览
samba用户管理,可以添加linux已有的用户名,另外设置密码
添加用户:sudo smbpasswd -a chw #-a,添加;设置密码
重启samba服务:
sudo /etc/init.d/smbd restart
sudo /etc/init.d/nmbd restart
windows访问linux共享文件方式:cmd,\192.168.184.128;或映射网络驱动器,\192.168.184.128\chw_share

三、VMtools工具安装

关闭虚拟机,CD/DVD、CD/DVD2和软盘设置为自动检测,重启虚拟机,此时虚拟机选项-安装VMware Tools可选
cd /media/chw/VMware Tools,进入目录
解压缩安装包,tar -zxvf VMwareTools*.tar.gz -C /tmp
进入解压缩目录,运行可执行程序开始安装,./vmware-install.pl
虚拟机设置-选项-共享文件夹-总是启用-添加-选择windows系统一个文件夹作为共享文件夹,在linux系统中,/mnt/hgfs/目录下也会出现一个同名的文件夹,和windows的实现共享

sourceInsight
linux运行sudo apt-get install wine,安装wine
下载source Insight4安装包
wine sourceinsightsetup.exe,安装sourceinsight
破解sourceinsight,替换exe文件,导入lic文件

四、gcc简介

GCC(GNU C Compiler,www.gnu.org)是GNU项目中符合ANSI C标准的编译系统,是一个交叉编译器,特别适用于不同平台的嵌入式开发。
gcc -v,如果安装了gcc,查看版本信息

GCC程序编译过程
.c源文件->预处理Pre-Processing得到.i预编译文件->编译Compiling得到.s汇编文件->汇编Assembling得到.o目标文件->链接(打包关联)Linking得到可执行文件
GCC支持的后缀名
后缀名 对应的语言
.c C原始程序
.C/.cc/.cxx C++原始程序
.m Objective-C原始程序
.i 已经预处理的C原始程序
.ii 已经预处理的C++原始程序
.s/.S 汇编语言原始程序
.h 预处理文件(头文件)
.o 目标文件,还未链接的二进制文件
.a/.so 编译后的库文件,静态库和动态库

1、编译过程参数
选项 含义
-c 只编译不链接,生成目标文件:gcc -c helloGCC.s -o helloGCC.o//编译生成目标文件
-S 只编译不汇编,生成汇编代码:gcc -S helloGCC.i -o helloGCC.s//生成汇编文件
-E 只预编译:gcc -E helloGCC.c -o helloGCC.i //预编译
-g 包含调试信息:gcc -g helloGCC.c -o helloGCC2//加入调试信息
-o 指定目标输出文件:gcc helloGCC.o -o helloGCC//链接生成可执行文件
-I[dir] 搜索头文件路径(大写i,后面跟包含的头文件路径)
扩展:file helloGCC.o//查看文件信息,版本,构架,位数,二进制文件
2、库选项
linux下静态库:在编译的时候就把库文件完全的链接成可执行文件,发布时不再需要库文件,格式,.a [libname.a]
linux下动态库:在运行时调用,在用到时才加载库函数,发布时要包含库文件,格式,.so [libname.so.[主版本号.次版本号.发行号]]
选项 含义
-static 静态编译
-shared 生成动态库文件,进行动态编译
-L dir 添加依赖库文件搜索路径
-fPIC 生成使用相对位置无关的目标代码(position independent code)
动态库和静态库在编译时相同,区别只在链接的时候
1)、编译静态库文件:
a、先生成目标文件.o gcc -c countlib.c//生成.o文件,countlib.o
b、调用ar crv [.a] [.o] ar crv countlib.a countlib.o//打包生成静态链接库countlib.a
c、调用静态链接库,gcc -o [file] [file.c] -L. [file.a] gcc -o count count.c -L./ countlib.a//调用静态链接库
2)、编译动态链接库
a、生成位置无关的目标代码,gcc -fPIC -c [.c] gcc -fPIC -c countlib.c//生成.o目标文件,countlib.o
b、gcc -shared -o [
.so] [*.o] gcc -shared countlib.o -o countlib.so//生存动态链接库countlib.so
c、调用动态库,gcc -o [file] [file.c] -L. [file.so] gcc count.c -o count2 -L./ countlib.so//隐式调用动态库so

3、警告选项
选项 含义
-w 关闭所有告警
-Wall 发出gcc提供的所有有用告警 gcc -Wall hello.c -o hello//显示所有告警信息
-pedantic 发出ansi c的所有警告

4、优化选项
选项 含义
-Olevel 优化等级,一般在最终发布的时候使用,0~3

五、gdb

gcc -g count.c -o count	#生成带调试信息的可执行程序
which gdb				#查询gdb命令所在路径
gdb count				#启动gdb

0、查看源码
list,缩写l
1、打断点
b(reak) 函数名,b svalue [在函数svalue打断点]
b(reak) 行号,b 10 [在第10行打断点]
b(reak) 文件名:行号
b(reak) 行号 if 条件,b 14 if x > 1 [只有x>1的时候,14行的断点才有效]
2、查看断点
info break,查看断点,缩写i b
3、删除断点
delete 断点号,删除断点,缩写d,d 3 [删除第3个断点]

4、运行
r(un),程序运行,遇到断点停留
c(ontinue),继续往下运行,到下一个断点,所有断点结束后退出运行
q(uit),退出gdb

5、单步调试
next – step over,遇到函数不进入函数体,进入下一步代码
step – step into,进入函数体
finish – step return,直接返回当前的函数

6、打印值
p(rint),打印变量

7、监控值
watch ,设置监控点

8、wi,预览模式进行调试

9、调试正在运行的程序
一般需要root权限,根据进程号进入调试

#方法1
sudo gdb count 11450
#方法2
sudo gdb
attach 11450

10、gdb调试coredump文件

gdb count core
bt

六、AutoTools

自动生成makefile文件
GNU官网帮助
www.gnu.org/software/autoconf/manual/autoconf.html(www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.70/autoconf.html)
1、autoscan
用来扫描源代码目录,生成configure.scan;configure.scan包含了系统配置的基本选项,里面是一些宏定义,需要将它改名为configure.in
2、aclocal
是一个perl脚本程序,aclocal根据configure.in文件的内容,自动生成aclocal.m4文件,生成的aclocal.m4是宏展开文件
3、autoconf
用来产生configure文件,configure.in文件是一些宏,经过autoconf处理后变成检查系统特性、环境变量、软件必须的参数的shell脚本
4、autoheader
自动生成config.in,在configure生成config.h时候的in文件
5、automake
使用automake --add-missing来产生makefile.in,makefile.am是用来生成mmakefile.in的,需要手工编辑。

sudo apt install autoconf,安装软件包
6、演示
autoscan,生成configure.scan,改名为生成configure.ac(或.in都可以)
醒不了的梦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式开发是一项需要特定开发环境的技术,Qt作为一个跨平台的开发框架,在嵌入式系统上也具有广泛的应用。本文将介绍Qt嵌入式开发平台环境的搭建方法。 1.安装Qt Qt是一个跨平台的应用程序框架,可以在Windows、Linux、Mac OS X、Android、iOS等多个平台上运行。在嵌入式系统上使用Qt,需要先下载相应的Qt版本。可以在Qt官网上下载相应的版本,也可以在终端中使用apt-get或yum等包管理器进行安装。需要注意的是,不同的嵌入式系统可能需要不同的Qt版本,需要根据具体情况选择合适的版本。 2.安装交叉编译工具链 嵌入式系统和主机的CPU架构可能不同,因此需要使用交叉编译工具链进行编译。交叉编译工具链包括交叉编译器、交叉编译库等,可以在嵌入式系统的开发环境中获取。需要注意的是,不同的嵌入式系统可能需要不同的交叉编译工具链,需要根据具体情况选择合适的工具链。 3.配置Qt交叉编译环境 在安装完成Qt和交叉编译工具链之后,需要配置Qt交叉编译环境。具体操作如下: (1)打开Qt Creator,选择“工具”-“选项”-“构建和运行”。 (2)在“构建和运行”页面中,选择“Qt版本”,点击“添加”,选择已安装的Qt版本。 (3)在“构建和运行”页面中,选择“构建套件”,点击“添加”,选择“嵌入式”并填写相应的信息。 (4)在“构建和运行”页面中,选择“构建套件”,选择已添加的嵌入式套件,点击“编译器”,选择已安装的交叉编译器。 (5)在“构建和运行”页面中,选择“构建套件”,选择已添加的嵌入式套件,点击“调试器”,选择已安装的调试器。 4.编写和调试Qt程序 配置完成Qt交叉编译环境之后,就可以开始编写和调试Qt程序了。在Qt Creator中,可以创建新项目,选择“嵌入式”套件进行编译和调试。需要注意的是,在嵌入式系统上运行Qt程序需要使用特定的硬件环境,因此需要将程序移植到嵌入式系统中进行测试。 总之,Qt嵌入式开发平台环境的搭建需要安装Qt、交叉编译工具链,并配置Qt交叉编译环境,才能进行程序的编写和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值