嵌入式学习(六)-vim,gcc及shell

仅用于个人学习记录

1:VIM:

vim:是一个文本编辑器,相当于Window下的记事本,作用是在终端输入 vim 文件路径,进入文件编辑模式,修改文件内容;

vim有三种模式,分别为命令模式,输入模式及底线命令模式。

 

vim编辑文件流程:

1:在终端输入 vim 文件路径,进入命令模式

2:按下/进入底线命令模式,然后按下i进入输入模式(即编辑模式)

3:编辑完成后,按Esc退出输入模式,返回底线命令模式

4:输入wq(保存修改并退出)/q!(退出,强制(不保存)),即可完成修改退出

 

2:GCC简介:

Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,其主要阶段为预处理(预编译)、编译、汇编和连接。主要作用为将编辑完成的.c文件编译生成.o文件,供开发板使用(相当于Window下的VS)

GCC主要阶段:

预处理:对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析,将其插入代码。

编译:将C代码.c生成汇编代码.s。

汇编:汇编器as 将xx.s 翻译成机器语言, 保存在xx.o 中。其中.o为二进制文件。

链接:当所有的目标文件都生成之后,gcc就调用ld来完成最后的链接,将其加载到内存中由系统执行。

交叉编译及本地编译:

普通Linux系统通常指X86系统,而ARM与X86主要是CPU结构不同,指令集不一样,所以代码不一样,需要兼容性移植

ARM与X86对比:

X86指令集复杂,功能多但效率低,性价比特出,所以为民用终端的主流,理论并发线程2条

ARM通常为指令集更精简,多为嵌入式或便带机,但主频不高,理论并发线程4条

本地编译:在当前的PC下,x86的CPU下,直接编译出来程序。

交叉编译:在一种平台上编译出来,可以直接在另一种平台上直接运行。因为嵌入式的资源紧张,环境限制,所以需要交叉编译(交叉编译器获取方式:网上下载或商家索取

使用arm-Linux编译器生成链接文件:

终端:arm-none-linux-gnueabi-gcc -o helloworld helloworld.c -static(前提已按照即配置好交叉编译器)

使用arm-none-linux-gnueabi-gcc编译器,生成-o文件,文件名为helloworld,源文件为helloworld.c,-staic使用静态链接库(动态的话在嵌入式板会丢失文件);在ARM开发板上直接命令./生成文件.o就可以运行文件

 

3:shell

Shell 是一个用 C 语言编写的程序,是用户与内核之间的桥梁,其是脚本语言,边解释边执行。Shell编程仅需要文本编辑器及解释器即可。

查看系统已有shell:读取shell文件:cat /etc/shells

查看当前Linux默认的shell:echo $SHELL

终端与shell的关系:

终端,即所谓的命令行界面,又称命令终端,用户输入shell命令用的窗口Shell是用户终端与操作系统的接口。

对于普通用户,Base shell 默认的提示符是美元符号$;对于超级用户(root 用户),Bash Shell 默认的提示符是井号#。该符号表示 Shell 等待输入命令。(二者可通过su root切换)

执行shell脚本:

必须赋予文件执行权限,chmod +x ./文件路径,然后通过执行命令.,文件路径执行

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值