今天是学习嵌入式的第一天。
一、了解学习嵌入式的大致流程并制定了初步的学习计划。
1.学习并掌握Linux基础。
2.学习并掌握一门编程语言。(扎实学好C语言)
3.学习并掌握数据结构。
4.学习并掌握软件编程。包括IO编程、进程/线程编程、网络编程、数据库编程等。
5.学习并掌握硬件开发。
6.利用操作系统接口适配硬件设备做驱动。
7.学习期间独立完成一些项目。
二、Linux基础。
1.学习运行虚拟机的基本操作以及一些快捷键。
2.Linux系统下的基本命令:
①文件查看命令:
ls 查看当前目录下所有文件 文本文件(白色)、目录文件(蓝色)
ls -a 查看当前目录下所有文件包括隐藏文件(隐藏文件是以 . 开头的文件)
ls -l 查看文件的详细信息,并了解相关信息代表的含义。
②文件夹操作命令:
mkdir 创建文件夹
rmdir 删除空文件夹
rm -rf dirname 删除非空文件夹
eg:创建多个文件夹 - mkdir test1 test2 test3
③文件操作命令:
touch 创建普通文件
rm 删除普通文件
文件名要求:
1.Linux系统中文件名不允许出现空格,用_代替空格
2.文件最好都加后缀名,与windows保持一致
eg:创建不同的普通文件在不同的目录里
touch test1/file1.txt test2/file2.txt test3/file3.txt
④切换工作目录:
cd 目录名 进入某个目录
cd / 进入最顶层目录
cd .. 进入当前目录的上一级目录
cd ~ 进入当前登录用户的家目录 切换工作目录
⑤路径的分类:
相对路径: 所在路径不同,登录用户不同,相同路径会产生不同含义 不以根目录开头
eg: home/linux/Desktop/file.txt ../file.txt ./file.txt ~/file.txt
绝对路径: 所在路径不同,登录用户不同,相同路径含义相同 以根目录开头
eg:(/home/linux/Desktop/file.txt)
⑥Linux系统中文件结构:
Linux系统中文件结构 Linux系统是一种树形结构,最顶层目录称为根目录/,其余目录功能如下
bin 存放二进制文件
dev 设备文件
lib 库文件
proc 进程相关信息文件
var 日志文件
boot 启动代码
etc 配置文件
mnt 挂载文件
root 超级用户家目录
home 存放普通用户家目录的目录
⑦使用超级用户权限执行命令
sudo 命令 使用超级用户权限执行命令
⑧查看当前所在目录的绝对路径
pwd
⑨文件拷贝
cp A B 将源文件A拷贝到目录B中
cp B C -rf 将源目录B拷贝到目的目录C下
⑩文件移动命令
mv B C 将源目录移动到目的路径下(类似于windows中的剪切)
mv oldname newname 将旧文件名改为新文件名
三、Linux系统下C语言开发。
1.vim 编辑器
- 基本操作流程:
①进入编辑器 vim hello.c
②点击i键进入插入模式
③编写代码
④点击ESC退回到底行模式
⑤ 输入:wq保存退出
2.gcc编译器
- 基本操作流程:
①编译代码 gcc hello.c
②运行代码 ./a.out
- 常见编译错误
①语法错误 :如果代码编译提示语法错误,修改代码第一个错误的位置,并重新编译代码,循环该操作直至解决 所有语法错误
②逻辑错误:通过打印调试 gdb调试代码
- gcc的4个编译流程步骤:
①预处理:处理和#号相关的代码
②编译:将C语言代码编译成汇编代码
③汇编:将汇编代码编译为二进制代码
④链接:将多个二进制代码链接成一个可执行程序
四、总结
根据今天的学习内容,完成了以下的练习巩固了今日所学。
在桌面下创建三个文件夹test1、test2、test3、分别在这三个文件夹下创建file1.txt、file2.txt、file3.txt三个文件
1.将test1下的file1.txt拷贝到test2目录下
2.将test2下的file2.txt移动到test3目录下
3.将test3目录拷贝到test2目录下
4.修改test2目录名为dir
通过今天的努力,我已经迈出了坚实的一步。将继续按照计划逐步推进,相信会在嵌入式开发领域取得更大的进步!