苏嵌 马明杰 2018.07.12

嵌入式 Linux 开发工具篇问题整理----苏嵌老梁

1、 嵌入式开发与传统开发的区别同类问题单片机开发与嵌入式开发的区别

嵌入式开发有操作系统而传统开发没有传统开发软件-----硬件嵌入式开发软件———操作系统内核)———硬件传统开发软硬件耦合度高软件移植性差软件开发人员要求高而嵌入式开发软硬件耦合度低软件移植性高

 

2、 移植操作系统的好处有哪些

(1)提供多任务机制;(2)提供网络协议栈;(3)提供了开源的软件和工具

 

3、 嵌入式工程师的岗位划分有哪些所具备的能力是什么

嵌入式工程师岗位共分为软件工程师和硬件工程师能力能精通c语言熟悉汇编理解操作系统的实现熟悉硬件工作原理能够具备操作系统和底层软件的开发

 

4、 人工智能和嵌入式之间有什么关系人工智能和大数据云计算的关系

人工智能的发展需要嵌入式来支持两者相辅相成共同发展

人工智能指机器具备人的思维之后发展到机器学习阶段在这阶段人工智能要有云计算处理同时人工智能也有筛选数据分析数据的能力相当于和大数据接轨

 

5、 CPU、GPU、DPU、TPU 分别是什么

CPU:中央处理器 GPU: 图形处理器 DPU: 深度学校处理器 TPU:张量处理器

 

6、 嵌入式操作系统有哪些?vxwork 的特点?ucossii 的特点

嵌入式操作系统:Linux,WinCE, Symbian,Android,vxworks,ucossII

vxwork:既是操作系统又是一个可以运行的最小的基本程序;具有调试能力具有软件DEBUG功能具有丰富的函数库

ucossll:是一个小的实时操作系统移植性高提供多任务机制

 

7、 什么是实时性哪些操作系统具有实时性

实时性指在规定的时间内完成规定的动作

操作系统硬实时:Vxworks,软实时WinCE,RTLinux, 无时实EmbeddedLinux

 

8、 嵌入式的就业前景和以后的发展方向如何

随着嵌入式系统的广泛应用会导致对相关人才的需求变大因而就业前景非常好

发展方向可以选择计算机应用开发可以选择嵌入式产品及应用系统的设计与开发工程师也可以从事嵌入式技术的应用项目设计开发产品维护和技术服务等

 

9、 Linux 操作系统有哪些特点

(1)源码公开(2)安全性高(3)UNIX兼容(4)具有广泛的硬件支持(5)开发工具好

 

10、Linux  unix 操作系统的区别

Linux的源码是公开的并且是免费使用unix的源码是不公开的并且要收费

 

11、虚拟机的作用是什么主流的虚拟机有哪些

一台电脑可以运行多个操作系统主流虚拟机:VMwarevpc

 

12、分别阐述 POSIX、GNU、GPL 的理解

POSIX:是一个兼容LinuxUNIX两种操作系统的标准

GNU:为了区分LinuxUNIX两个操作系统

GPL:GPL协议发布到网上的素材可以下载也可以更改但更改部分的源代码要公开共享

 

13、Linux 发行版有哪些各自的特点是什么

Redhat,Debian  Redhat特点是使用人群大,资料多,Debian特点具有apt管理方式

 

14、Linux  windows 的区别

linux是开源的免费的发布的软件大都开源用户可以自由修改并上传使用用户少windows是不开源的大多数软件要收费使用用户多

 

15、Linux 文件类型有哪些

普通文件 —

目标文件 d

设备文件 cb

连接文件 l

管道文件 p

共享文件 s

堆栈文件 f

 

16、罗列 Linux 下文件操作的命令有哪些?(常见面试命令

ls ;ls -l;touch ; rm ; rm -f; cat ; mkdir ; cp; mv; find ; cd ; gcc ; gedit ; tree

 

17、如何配置 vim 编辑器?Linux 下还有哪些比较常用的文本编辑器

可在github上寻找配置方案安装

vi编辑器;gedit编辑器

 

18、如何压缩解压文件命令是什么

在终端下的目录里执行tar cvzf+文件将文件压缩执行tar xvzf+文件将文件解压

命令压缩:tar cvzf

      解压:tar xvzf

 

19、gcc 编译器的优点有哪些还知道哪些 C 的编译器

优点比较通用可以编译运行在各种体系结构上的代码

编译器:kDevelop; Anjuta; Code Blocks

 

20、什么是交叉编译器交叉编译器的作用为什么需要交叉编译

在当前cpu平台上编译出能在能在其他平台上运行的代码

不同的cpu有不同的汇编交叉一个平台到另一个平台的编译

 

21、C 语言中源文件到可执行文件经历哪几个步骤每个步骤具体做哪些工作

预处理编译汇编链接

预处理头文件展开宏替换条件编译

编译语法检查词法分析

汇编将源程序翻译成目标文件

链接:将目标文件生成可执行文件

 

22、#include <stdio.h>  #include “stdio.h”的区别

搜索路径不同前者是在系统目录中找后者是先在当前目录找若是找不到再到系统目录找

 

23、分别阐述-I -w -Wall -O3 的作用

-l 使用库 -w 关闭警告 -Wall 开启所有警告 -O3 三级优化

 

24、什么是库文件库文件的特点

用保存函数或者变量只能使用函数或者变量但是看不到具体实现

特点可以实现共享减少编写代码时间提高效率

 

25、Linux 下库文件的分类有哪些库文件的存放路径是什么

静态库和动态库

存放路径:/lib      系统库

          /usr/lib   程序库

 

26、静态库和动态库的区别

静态库是在执行程序之前就已经加入到执行代码中成为执行程序一部分来执行后缀名 .a

动态库是在执行程序启动时加载到执行代码中后缀名 .so

 

27、如何制作和使用静态库和动态库

静态库的制作将所需源文件生成.o文件利用指令ar rcs lib库名.a .o文件进而生成.a静态库文件 

使用:gcc file.c –l库名(-L. 当前文件找库

动态库的制作:gcc –shared –fPIC –o 库名.so 源文件.c

使用:gcc  file.c ./库名.so –o 可执行文件名

 

28、GDB 的特点有哪些

特点可以调试多种语言

      可以让被调试的程序在指定位置停住

      当程序停住时可以检查程序状态变量值

 

29、分别阐述 run break info break continue finish 命令的作用

run       运行程序

break      设置断点

info break  查看断点信息

continue   继续运行程序   

finish     退出函数 

 

30、make 工程管理的作用

make能够同时编译整个工程诸多的源文件提高软件开发效率

make能检查每个源文件的时间戳只有上次编译后修改的源文件才会在接下来的编译过程中被编译

 

31、makefile 的语法是什么?(定义执行顺序

包括目标体依赖体命令

目标文件依赖文件

tab     命令

执行顺序由上致下完成

 

 

32、企业级工程目录是如何创建分别描述三个不同 makefile 的作用

工程目录包括各个子目录及scripts和总控makefile,头文件目录include,或者其他图文文件各个子目录下还有子目录makefilesrc子目录用于保存.c文件。Scripts目录则余留其下makefile即可

总控makefile:将各个子目录下的.o链接生成可执行文件

子目录makefile:将目录下.c文件编译成.o

scripts 目录下 Makefile: 相当于 c 语言中的头文件 定义了一些变量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值