仅用于个人学习记录
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 ./文件路径,然后通过执行命令.,文件路径执行