自动补全
在敲出 文件/ 目录 / 命令 的前几个字母之后, 按下 tab键
如果还存在其他 文件 / 目录 / 命令, 再按一下tab键, 系统会提示可能存在的命令
曾经使用过的命令
使用 上 / 下 光标键可以在曾经使用过的命令之间来回切换
如果想要退出选择, 并且不想执行当前选中的命令, 可以按 ctrl + c
1.2 ls命令说明
ls 是英文单词list的简写, 其功能为列出目录的内容,是用户最常用的命令之一
因为需要编辑服务器上的文件, 所以需要先确认指定目录下 是否存在
linux 下文件和目录的特点
linux文件 或者 目录 名称最长可以 256 个字符
以 . 开头的文件为隐藏文件, 需要用 -a 参数才能显示
. 代表当前目录
.. 代表上一级目录
1.3 ls常用选项
如果 只使用ls命令 就只能看到当前目录下 非隐藏 文件。
如果想增强功能,就需要学习更多的选项
选项 含义
-a 显示指定目录下所有子目录与文件, 包含隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小
演练:
计算机中文件大小的表示方式(科普)
单温 英文 含义
字节 B(byte) 在计算机中作为一个数字单元,一般为8位二进制数
千 K(Kibibyte) 1KB = 1024 B, 千字节( 1024 = 2的10次方)
兆 M(Mebibyte) 1MB = 1024 KB, 百万字节
千兆 G(Gigabytee) 1GB = 1024 MB, 十亿字节, 千兆字节
太 T(Terabyte) 1 TB = 1024 GB, 万亿字节, 太字节
拍 P(Petabyte) 1 PB = 1024 PB, 百万亿字节, 拍字节
1.4 ls 和通配符的使用
准备工作
# 切换到临时目录
cd /usr/tmp
# 清空目录内容
rm -rf *
# 创建文件
touch a23.txt 11.txt 111.txt 112.txt 123.txt 223.txt 323.txt 423.txt 523.txt
# 查看目录内容
ls
登录后复制
通配符 含义
* 代表 任意个数 的字符
? 代表任意一个字符, 且只能是一个
演练:
1 查看以 1 开头的文件或目录
2 查看以 3.txt 结尾的 文件或目录
3 查看含有3的文件列表
4 查看第二个字符是2的文件
[root@k8s-master tmp]# ls 1*.txt
111.txt 112.txt 11.txt 123.txt
[root@k8s-master tmp]# ls *3.txt
123.txt 223.txt 323.txt 423.txt 523.txt a23.txt
[root@k8s-master tmp]# ls *3*.txt
123.txt 223.txt 323.txt 423.txt 523.txt a23.txt
[root@k8s-master tmp]# ls ?2?.txt
123.txt 223.txt 323.txt 423.txt 523.txt a23.txt
[root@k8s-master tmp]#
登录后复制
通配符 含义
[abc] 匹配a、b、c中任意一个
[a-f] 匹配从a到f范围内的任意一个字符
演练:
1 查看 第一个字符是 1到5, 以23.txt结尾 的 目录或文件名
[root@k8s-master tmp]# ls [1-5]23.txt
123.txt 223.txt 323.txt 423.txt 523.txt
[root@k8s-master tmp]#
登录后复制
02.切换目录
2.1 cd
cd 是英文单词 change directory 的缩写, 其功能为 更改当前的工作目录, 是用户最常用的命令之一
注意: linux的所有 目录 和 文件名 都是大小写敏感的
命令 含义
cd 目录 切换到指定目录下
cd … 切换到上级目录
cd - 可以在最近的两次目录之间切换
演练:
1 查看当前所在目录
2 切换到 /usr/local
3 切换到 上一级目录 /usr
4 后退到上一次访问的目录中
[root@k8s-master tmp]# pwd
/usr/tmp
[root@k8s-master tmp]# cd /usr/local
[root@k8s-master local]# cd ../
[root@k8s-master usr]# cd -
/usr/local
[root@k8s-master local]#
登录后复制
2.2 相对路径和绝对路径
2.2.1 目标 : 通过路径找到目标
2.2.2 如何分步骤实现:
第一步: 使用相对路径定位目标
第二步: 使用绝对路径定位目标
2.2.3 第一步: 使用相对路径定位目标
特征: 相对路径 输入路径时, 最前面不是以 “/” 开始的, 表示相对 当前目录 所在的位置
缺点: 参照工作目录 发生变化 相对路径也要发生变化
演练:
当前工作目录是 /usr, 使用相对路径 切换到 /usr/tmp 目录下
当前工作目录是 /root, 使用相对路径 切换到 /usr/tmp 目录下
[root@k8s-master local]# clear
[root@k8s-master local]# cd /usr
[root@k8s-master usr]# cd tmp/
[root@k8s-master tmp]# cd /root
[root@k8s-master ~]# cd ../usr/tmp/
[root@k8s-master tmp]#
登录后复制
2.2.4 第二步: 使用绝对路径定位目标
特征: 绝对路径 在输入路径时, 最前面是以 / 开始的, 表示 从 根目录 开始的具体目录位置
优点: 定位准确, 不会因为 工作目录变化 而变化
演练:
当前工作目录是 /usr, 使用绝对路径 切换到 /usr/tmp 目录下
当前工作目录是 /root, 使用绝对路径 切换到 /usr/tmp 目录下
[root@k8s-master tmp]# cd /usr
[root@k8s-master usr]# cd /usr/tmp/
[root@k8s-master tmp]# cd /root
[root@k8s-master ~]# cd /usr/tmp
[root@k8s-master tmp]#
登录后复制
2.2.5 小总结
相对路径 在输入路径时, 最前面不是以 / 开始的 , 表示相对 当前目录 所在的目录位置
绝对路径 在输入路径时, 最前面是以 / 开始的, 表示 从 根目录 开始的具体目录位置
03.创建和删除 *** 作
3.1 touch
3.1.1 目标
通过 touch 命令 创建文件
3.1.2 路径
第一步: 创建一个空白文件
第二步: 修改文件的末次修改日期
3.1.3 实现
3.1.3.1 第一步: 创建一个空白文件
touch 不存在的文件
登录后复制
3.1.3.2 第二步: 修改文件的末次访问时间
touch 存在的文件
登录后复制
3.1.4 小结
通过 touch 文件名 创建文件 和 修改文件的末次访问时间
3.2 mkdir
3.2.1 目标:
通过 mkdir 命令 创建目录
3.2.2 路径:
第一步: 创建 没有层级关系的目录
第二步: 创建 有层级关系的目录
3.2.3 实现
3.2.3.1 第一步: 创建 没有层级关系的目录
mkdir 目录名
登录后复制
3.2.3.2 第二步: 创建 有层级关系 的目录
mkdir -p 目录1/目录2/目录3
登录后复制
创建一个新的目录
选项 英文 含义
-p parent 可以递归创建目录
3.2.4 小结
通过 mkdir -p 目录名 命令 创建目录
注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名
3.3 rm
3.3.1 目标
通过 rm 文件/目录 命令实现删除 文件和目录的功能, rm 对应的英文是 remove 含义: 删除
3.3.2 路径
第一步: 删除文件 (有提示)
第二步: 删除文件 (取消提示)
第三步: 删除目录
第四步: rm 结合 通配符
3.3.3 实现
3.3.3.1 第一步: 删除文件 (有提示)
rm 文件
登录后复制
3.3.3.2 第二步: 删除文件 (取消提示)
rm -f 文件
登录后复制
参数 英文 含义
-f force (强制) 强制删除,忽略不存在的文件, 无需提示
3.3.3.3 第三步: 删除有内容的目录
rm -rf 目录
登录后复制
参数 英文 含义
-r recursive (递归) 递归地删除目录下的内容, 删除文件夹 时必须加此参数
3.3.3.4 第四步: rm 结合 通配符 * ? [abc][a-z]
rm -rf *.txt
登录后复制
3.3.4 小结
通过 rm -rf 文件/目录 完成删除 文件或目录的功能.
注意: 使用 rm 命令要小心, 因为文件删除后不能恢复
04.拷贝和移动文件
序号 命令 对应英文 作用
01 tree [目录名] tree 以树状图 列出目录中的内容
02 cp 源文件 目标文件 copy 复制文件或者目录
03 mv 源文件 目标文件 move 移动文件或目录 或者 重命名
4.1 tree (扩展)
4.2.1 目标
通过 tree 命令可以以树状图列出文件目录结构.
4.2.2 路径
第一步: 以树形结构显示目录中的文件和目录
第二步: 只显示 当前目录中的目录
第三步: 显示指定的两层
4.2.3 实现
准备工作
# 创建目录
mkdir -p /export/aaa/bbb/ccc
# 创建文件
touch /export/aaa/01.txt /export/aaa/02.txt
touch /export/aaa/bbb/03.txt /export/aaa/bbb/04.txt
touch /export/aaa/bbb/ccc/05.txt /export/aaa/bbb/ccc/06.txt
登录后复制
默认没有安装 tree 组件, 需要联网时安装:
# 安装 tree组件
yum -y install tree
# 卸载 tree组件
yum -y remove tree
登录后复制
4.2.3.1 第一步: 以树形结构显示目录中的文件和目录
tree [目录]
登录后复制
如果指定目录, 就显示指定目录的内容
如果不指定目录,就显示当前目录的内容
4.2.3.2 第二步: 只显示 当前目录中的目录
tree -d [目录]
登录后复制
选项 英文 含义
-d derictory (目录) 只显示目录, 不显示文件
4.2.3.3 第三步: 显示指定的两层
tree -L n [目录]
登录后复制
选项 英文 含义
-L level (层级) 显示几层目录
4.2.4 小结
通过 tree 目录 命令可以以树状图列出文件目录结构.
4.2 cp
4.2.1 目标
通过 cp 实现复制将指定的 文件 或 目录 复制到 两一个 文件 或 目录中
4.2.2 路径
第一步: 备份指定文件
第二步: 将文件复制到目录中
第三步: 将文件复制到另一个文件中, 实现覆盖效果
第四步: 复制目录 到指定 目录中
4.2.3 实现
4.2.3.1 第一步: 备份指定文件
cp 文件1 备份文件名
登录后复制
4.2.3.2 第二步: 将文件复制到目录中
cp 文件1 目录/
登录后复制
4.2.3.3 第三步: 将文件复制到另一个文件中, 实现覆盖效果
cp 文件1 文件2(存在的)
登录后复制
4.2.3.4 第四步: 复制目录 到指定 目录中
cp -r 目录1/ 目录2/
登录后复制
命令 英文 作用
-r recursive (递归) 递归复制目标目录的内容
4.2.4 小结
cp命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录中
4.3 mv
4.3.1 目标
通过mv 命令可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名
4.3.2 路径
第一步: 将文件 移动 另一个目录中
第二步: 重命名
第三步: 将目录移动到 另一个目录中
4.3.3 实现
4.3.3.1 第一步: 将文件 移动 另一个目录中
mv 文件 目录/
登录后复制
4.3.3.2 第二步: 重命名
mv 旧文件名 新文件名
登录后复制
4.3.3.3 第三步: 将目录移动 到 另一个目录中
mv 被移动目录 目标目录
登录后复制
4.3.4 小结
mv 可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名
05.查看文件内容
序号
命令
对应英文
作用
01
cat 文件名
concatenate
查看小文件内容
02
less -N 文件名
less
分频 显示大文件内容
03
head -n 文件名
查看文件的前一部分
04
tail -n 文件名
查看文件的最后部分
05
grep 搜索文本 文件名
grep
根据关键词, 搜索文本文件内容
准备工作
# 清空指定目录内容
cd /export/
rm -rf *
# 复制 /etc/passwd 文件 到 /export/ 目录中
cp /etc/passwd /export/
# 复制 /etc/profile 文件 到 /export/ 目录中
cp /etc/profile /export/
# 罗列目录中内容
tree /export
登录后复制
5.1 cat
5.1.1 目标
通过 cat 会一次显示所有的内容, 适合 查看内容较少 的文本文件
5.1.2 路径
第一步: 显示文件内容
第二步: 显示文件内容(显示行号 包含空行)
第三步: 显示文件内容(显示行号 排除空行)
5.1.3 实现
5.1.3.1 第一步: 显示文件内容(不显示行号)
cat 文件名
登录后复制
5.1.3.2 第二步: 显示文件内容(显示行号 包含空行)
cat -n 文件名
登录后复制
参数 英文 含义
-n number 显示行号
缺点: 空行也显示行号
5.1.3.3 第三步: 显示文件内容(显示行号 排除空行)
cat -b 文件名
登录后复制
参数 英文 含义
-b number-nonblank 非空行 显示行号
nl 文件名 也可以实现 非空行显示行号的效果
命令 英文 含义
nl 文件 number lines of files 查看文件内容 且 非空行显示行号
5.1.4 小结
通过 cat 文件名 查看 小文件内容
准备工作
# >>重定向这个命令, 为了课程需要 我们先用, 后面我们会讲
# 将文件 /etc/profile 的内容 追加到 /export/01.txt目录中
cat /etc/profile >>/export/01.txt
cat /etc/profile >>/export/01.txt
cat /etc/profile >>/export/01.txt
cat /etc/profile >>/export/01.txt
cat /etc/profile >>/export/01.txt
登录后复制
5.2 less
5.2.1 目标
通过 less [参数] 文件名 命令可以用于分屏显示文件内容, 每次只显示一页内容
less 命令适合查看 内容较多 的文本文件
5.2.2 路径
第一步 : 分屏显示文件内容
第二步 : 根据关键词搜索内容
5.2.3 实现
5.2.3.1 第一步 : 分屏显示文件内容
命令 作用
less -N 文件名 分屏展示文件内容, 适合 大文件
参数 英文 含义
-N number 显示文件内容 且 显示行号
使用 more 的 *** 作键:
*** 作键 功能
空格键 显示手册页的下一屏幕
Enter 键 一次滚动手册页的一行
b 回滚一屏
f 向前一屏
q 退出
/word 搜索word字符串
5.2.3.2 第二步: 根据关键词 搜索
# 根据关键词搜索
/word
登录后复制
*** 作键 功能
n 向下找
N 向上找
5.2.4 小结
less 命令适合查看 内容较多 的文本文件
准备工作
# 准备一个26个字母的文件, 使用 WINscp客户端 上传到 /export/ 目录下
登录后复制
5.3 head
5.3.1 目标
通过 head 命令查看文档的前几行内容
5.3.2 路径
第一步: 查看文件的前5行内容
5.3.3 实现
5.3.3.1 第一步:查看文件的前5行内容
head -n 数字 文件
登录后复制
参数 英文 含义
-n number 表示显示前几行内容
5.3.4 小结
通过 head 命令查看文档的前几行内容
5.4 tail
5.4.1 目标
需求: 查看文档(日志)的后几行内容
5.4.2 路径
第一步: 查看文档的最后10行内容
第二步: 动态显示文档的最后内容,一般用来查看日志
第三步: 动态显示文档的最后10行内容
5.4.3 实现
第一步: 查看文档的最后10行内容
tail -10 文件
登录后复制
第二步: 动态显示文档的最后内容,一般用来查看日志
tail -f 文件名
登录后复制
第三步: 动态显示文档的最后100行内容
tail -100f 文件名
登录后复制
5.4.4 小结
通过 tail -10f 文件 命令 查看文档(日志)的后几行内容
5.5 grep
5.5.1 目标
通过 grep 命令 搜索存在 关键字 的行
5.5.2 路径
第一步: 搜索 存在关键字 的行
第二步: 搜索 存在关键字 的行 且 显示行号
第三步: 忽略大小写 搜索 存在关键字 的行
第四步: 搜索 不存在关键字 的行
第五步: 搜索 以关键字开始 的行 或 以关键字结尾 的行
5.5.3 实现
5.5.3.1 第一步: 搜索 存在关键字 的行
grep 关键字 文件名
登录后复制
5.5.3.2 第二步: 搜索 存在关键字 的行 且 显示行号
grep -n 关键字 文件名
登录后复制
选项 英文 含义
-n number 显示匹配行和行号
5.5.3.3 第三步: 忽略大小写 搜索 存在关键字 的行
grep -i 关键字 文件名
登录后复制
选项 英文 含义
-i ignore-case 忽略大小写
5.5.3.4 搜索 不存在关键字 的行
grep -v 关键字 文件名
登录后复制
选项 英文 含义
-v invert-match 显示 不包含关键字 的所有行
5.5.3.5 第五步: 搜索 以关键字开始 的行 或 以关键字结尾 的行
grep 正则 文件名
登录后复制
参数 含义
^a 行首,搜索以a开头的行
ke$ 行尾,搜索以ke结束的行
5.3.4 小结
通过 grep 命令 搜索存在 关键字 的行
06 其他
6.1 管道 |
6.1.1 目标
通过 命令1 | 命令2 可以将命令1的结果 通过 命令2 作进一步的处理
6.1.2 路径
第一步 : 过滤 /etc/ 目录下 以 pro 开头的文件
第二步 : 搜索 存在关键字 的行数
6.1.3 实现
第一步 : 过滤 /etc/ 目录下 以 pro 开头的文件
ls /etc/ | grep ^pro
登录后复制
第二步 : 搜索存在关键字的行数
ls /etc | grep ^pro | wc -l
登录后复制
英文 作用
命令: wc [参数] [文件] 打印文件的行数, 单词数, 字节数
参数: -l line 行 显示 行数
6.1.4 小结
通过 命令1 | 命令2 可以将命令1的结果 通过 命令2 作进一步的处理
6.2 echo 文字内容
echo string 将字符串输出到控制台 , 通常回和 重定向 联合使用
echo hello
# 如果字符串有空格, 为了避免歧义 请增加 双引号 或者 单引号
echo "hello world"
登录后复制
6.3 重定向 >和 >>
6.2.1 目标
默认情况下 命令的结果 输出到 控制台
通过 重定向 可以将结果 输出到文件
6.2.2 路径
第一步: 将 命令的成功结果 覆盖 指定文件内容
第二步: 将 命令的成功结果 追加 指定文件的后面
6.2.3 实现
第一步: 将命令的成功结果 覆盖 指定文件内容
echo 2222 >01.txt
登录后复制
命令 作用
结果 >文件名 >表示输出, 会覆盖文件的原有内容
第二步: 将命令的成功结果 追加 指定文件的后面
echo 3333333 >>01.txt
登录后复制
命令 作用
命令 >>文件名 >>表示追加, 会将内容追加到已有文件的末尾
第三步: 将 命令的失败结果 追加 指定文件的后面
cat 不存在的目录 &>> error.log
登录后复制
命令 作用
命令 &>>文件 &>>表示不区分错误类型 通通放到 日志中
6.2.4 小结
通过 命令 >文件 将命令的成功结果 覆盖 指定文件内容
通过 命令 >>文件 将命令的成功结果 追加 指定文件的后面
通过 命令 &>>文件 将 命令的失败结果 追加 指定文件的后面
6.4 &&和 ||
6.4.1 目标
如果 创建 目录 成功, 就提示 创建成功
如果 创建 目录 失败, 就提示 创建失败
6.4.2 实现
第一步: 如果 创建 目录 成功, 就提示 创建成功
命令 作用
命令1 &&命令2 如果 命令1执行成功了, 才执行 命令2
mkdir -p 正确目录 &&echo "提示创建目录成功"
登录后复制
第二步: 如果 创建 目录 失败, 就提示 创建失败
命令 作用
命令1 || 命令2 如果 命令1 执行失败了, 才执行 命令2
mkdir 错误目录 || echo "提示创建目录失败"
登录后复制
6.4.3 小结:
通过 命令1 &&命令2 实现 如果 命令1 执行成功, 就执行 命令2的效果
通过 命令1 || 命令2 实现 如果 命令1 执行失败, 就执行 命令2的效果
准备工作
0 清空/export目录中内容
cd /export &&rm -rf *
# 1 创建目录
mkdir -p /export/aaa/bbb/ccc/ddd/eee
# 2 创建文件
touch /export/aaa/bbb/ccc/ddd/eee/01.txt /export/aaa/bbb/ccc/ddd/eee/02.txt
# 3 切换到 /export/aaa/bbb/ccc/ddd/eee/ 目录下 且 查看内容
# 3.1 cd /export/aaa/bbb/ccc/ddd/eee/ &&ll
# 3.2 软链接(快捷方式) cd 软链接 &&ll
登录后复制
6.5 软链接
在linux中 文件名 和 内容 是两个文件, 分开的!
6.5.1 目标
因为 某些文件和目录 的 路径很深, 所以 需要增加 软链接(快捷方式)
6.5.2 实现
语法如下:
命令 英文 作用
ln -s 目标文件绝对路径 快捷方式路径 link 给目标文件增加一个软链接, 通俗讲就是快捷方式
6.5.3 小结
通过 ln -s 源文件的绝对路径 快捷方式路径 给 目标文件 增加 快捷方式
注意: 必须 增加 -s , 否则 就变成了 硬链接(同样指向真是存在的目标内容)
嵌入式系统有那些特点呢?嵌入式系统是现在最为热门的领域之一,已经广泛地渗透到科学研究、工程设计、军事技术、各类产业以及人们日常生活的方方面面。那嵌入式系统有着怎样的特点:
1.嵌入式系统通常是面向特定应用的
嵌入式微处理器与通用型处理器的最大不同就是嵌入式微处理器大多工作在为特定使用者群设计的系统中。嵌入式微处理器通常都具有低功耗、体积小、整合度高等特点,能够把通用处理器中许多由板卡完成的任务整合在晶片内部,从而有利于嵌入式系统设计趋于小型化,大大增强移动能力,跟网路的耦合越来越紧密。
2.嵌入式系统是各种技术、各个行业融合的产物
嵌入式可以应用在人们生活的各个领域,它是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识整合系统。
3.嵌入式系统的软硬体设计高效、可裁减
嵌入式系统对成本、体积等方面有严格的要求,要求嵌入式工程师对硬体和软体进行高效地设计,量体裁衣、去除冗余,力争在同样的矽片面积上实现更高的效能,这样才能在具体应用中更具有竞争力。
4.嵌入式系统软体固化
为了提高执行速度和系统可靠性,嵌入式系统中的软体一般都固化在储存器晶片或微控制器中,而不是储存于磁碟等载体中。
5.购买产品与技术开发相结合的实现方式
通用处理器系统多数是通过软体工程的方法,根据使用者的需求进行软体开发的,使用者拥有完整的技术资料,可以根据应用的需要进行相应的维护与升级。而嵌入式系统一般采用购买现成产品与自行独立开发相结合的方式来构建。
嵌入式系统有老师讲也很难懂。不过我相信,世上无难事只怕有心人!
基础科目:C语言、计算机组成原理、离散数学、资料结构、微控制器、ARM9嵌入式系统设计基础、作业系统、编译原理等。
嵌入式系统本身是一个相对模糊的定义,但业内广泛承认的一个定义是:以应用为中心,以计算机技术为基础,且软硬体可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 其实我们现在说的嵌入式系统是狭义的即是基于某一款嵌入式微处理器(如ARM)所组成的嵌入到物件体中实现智慧控制的系统,而广义的嵌入式系统面就比较广了(如微控制器系统、DSP系统等)。 希望这些对你有帮助,以上全是我根据个人的理解一个字一个字打上去的希望支援!
嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助装置、机器或用于工厂运作的装置。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。
……………………………………………………
看你问的问题,应该是对嵌入式很感兴趣,其实你可以自学嵌入式。关于如何学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关资讯,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在百度知道看到一篇让我很鼓舞的文章,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视讯,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视讯,虽然零星找到一些嵌入式的视讯,但是都不系统,我是想找一个能够告诉我该怎么学的视讯,一套从入门到精通的视讯,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视讯,是在IT学习联盟网站推出的一份视讯《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 贴上浏览器位址列按回车键即开启)。里面的教程还不错,很完整,可以让我从基础的开始学起。视讯比较便宜。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光碟后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视讯教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机器上都有做练习,敲linux的基本命令,写简单的C语言程式码,差不多也就三个礼拜。我每天都在不停的写一些简单的程式码,这样一月后我基本掌握了C和linux的基本 *** 作。
接下来我就去学习了人家的视讯的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。
这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。
最后的一个月,我就去看关于实践部分的内容,了解嵌入式专案具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视讯,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右
我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的专案经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力,就决定录用我,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。
…………………………
没有特定的规范,严格地说,主要晶片上能烧程式,微控制器、FPGA、8086等等都算是嵌入式,只是微控制器、FPGA没有嵌入系统,所以算是小型的,通常所说的都是ARM等组成的大型嵌入式系统
微控制器也可以跑RTOS,只要硬体条件达到系统所要求的就可以了
数位电路,类比电路,微机原理与组合语言,顺便把三级pc技术过了,
然后接触一种具体的微控制器,51,avr都可以,还有,高数一定要学好,电子行业很多都要用数学。推荐你学习一种嵌入式作业系统---ucosII,只要你有c语言,资料结构还有微机原理这三门课的基础,这个很容易上手。
嵌入式系统有哪些型别嵌入式系统
IEEE对于嵌入式系统的定义是:An Embedded system is the devices used to control, monitor, or assist the operation of equipment, machinery or plants.嵌入式系统是“用于控制、监视或者辅助 *** 作机器和装置的装置”。
在中国嵌入式系统领域,比较认同的嵌入式系统概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬体可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬体装置、嵌入式作业系统以及使用者的应用程式等四个部分组成,用于实现对其他装置的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬体和软体两部分。硬体包括处理器/微处理器、储存器及外设器件和I/O埠、图形控制器等。软体部分包括作业系统软体(OS)(要求实时和多工 *** 作)和应用程式程式设计。有时设计人员把这两种软体组合在一起。应用程式控制着系统的运作和行为;而作业系统控制着应用程式程式设计与硬体的互动作用。
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:
1)对实时多工有很强的支援能力,能完成多工并且有较短的中断响应时间,从而使内部的程式码和实时核心心的执行时间减少到最低限度。
2)具有功能很强的储存区保护功能。这是由于嵌入式系统的软体结构已模组化,而为了避免在软体模组之间出现错误的交叉作用,需要设计强大的储存区保护功能,同时也有利于软体诊断。
3)可扩充套件的处理器结构,以能最迅速地开展出满足应用的最高效能的嵌入式微处理器。
4)嵌入式微处理器必须功耗很低,尤其是用于行动式的无线及移动的计算和通讯装置中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定使用者群设计的系统中,它通常都具有低功耗、体积小、整合度高等特点,能够把通用CPU中许多由板卡完成的任务整合在晶片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网路的耦合也越来越紧密。
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识整合系统。
3.嵌入式系统的硬体和软体都必须高效率地设计,量体裁衣、去除冗余,力争在同样的矽片面积上实现更高的效能,这样才能在具体应用中对处理器的选择更具有竞争力。
4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
5.为了提高执行速度和系统可靠性,嵌入式系统中的软体一般都固化在储存器晶片或微控制器本身中,而不是存贮于磁碟等载体中。
6.嵌入式系统本身不具备自举开发能力,即使设计完成以后使用者通常也是不能对其中的程式功能进行修改的,必须有一套开发工具和环境才能进行开发
嵌入式系统啊嵌入式系统有很多方向,硬体、linux驱动、dsp、fpga,你导师是做哪方面的呀,要不先学linux下c的程式设计呗,现在很火的。
嵌入式系统 急 !进入21世纪之后,随着社会资讯化的不断普及与发展,嵌入式系统的应用越来越广泛。其中自备电源嵌入式系统由于受功耗的限制,其设计与应用一直受到制约。一般来说,正常工作的嵌入式系统电流消耗在mA级,而处于休眠状态下可以控制在μA级左右,3个数量级的能源节约对于有限的自备电源无疑具有极大的诱惑,所以这类系统基本上都要采用休眠启用的方案以实现节能,达到延长工作寿命的目的。
目前可供采用的休眠启用方案主要有3种:事件启用法、定时启用法和定位启用法。事件启用法主要应用于检测告警等场合,系统一般处于休眠模式,如果特定引数超限就会激发系统工作,这种方法一般要与相应的感测器配合实现,微处理器中也要占用相应的中断资源;定时启用法主要应用于周期工作的系统(如小区三表资料的采集)中,系统按照定时器设定的时间间隔定期上报采集资料,这种启用法的实现也非常方便,只需在相应的微处理器中新增定时器的中断处理程式;定位启用法主要应用于对位置敏感的系统(如贵重资产管理和停车场的自动道闸等)中,该系统在特定位置安装检测装置,如果有监管人员或装置离开或进入这些特定领域将会激发系统工作。定位启用法的实现有多种,本文主要介绍利用无线讯号进行定位启用的一种实现方法。
1 基本原理
无线讯号频谱中LF频段讯号具有穿透能力强的特点,它可以穿透非磁性介质,如水、混凝土、塑料等(不受视线距离限制),所以利用LF频段设计启用电路是一种较好方案。无线讯号频率与波长存在反比例关系,天线长度取决于波长长度。500 MHz RF讯号的波长为60 cm,天线很短,完全可以方便地实现;而125 kHz LF讯号的波长为2.4 km,做这样的天线肯定不实际。所以利用LF频段讯号作为启用讯号,接收端不再采用电磁场(radio)原理进行工作,而是直接通过接收磁场(magic)讯号,然后利用磁场线上圈中的感应讯号进行判断处理,如图1所示。该系统主要由磁场发射端和接收端两种装置组成。
图1 磁场工作原理
MCP2030是Microchip公司开发的专门针对低频无线磁场通讯的模拟前端器件。该器件整合有8个可程式设计配置暂存器和1个只读状态暂存器,根据暂存器配置,MCP2030可以输出解调资料、载波时钟和磁场强度RSSI。该器件模拟接收电路具有较强的灵敏度,可以接收识别1 mVpp讯号并解调8%的微弱调制讯号。为了得到可靠的磁场讯号,MCP2030采用了3组天线和3组接收解调电路。3组天线分别指向互相垂直的X、Y、Z轴,这样无论接收器如何放置,总可以得到磁场讯号,从而解决了磁场讯号的方向性问题。其结构框图如图2所示。
图2 MCP2030结构框图
图3 MCP2030有输出的情况
MCP2030集成了无线讯号数字序列滤波部件,可以根据需要设定数字序列,器件只有当接收到特定数字序列时才做出响应,所以可有效避免其他讯号干扰所引起的启用现象。图3所示为无线数字序列符合设定数字序列的情况,特定的数字序列为“2 ms有2 ms无”载波讯号,此时LFDATA在监测到特定序列之后输出的ASK调制讯号,如果无线数字序列不符合设定数字序列,LFDATA无输出。
MCP2030具有功耗极低的显著优势,为便于在自备电源的嵌入式系统中应用,专门设计优化了3种工作模式,即休眠模式、待机模式和工作模式。休眠模式由SPI 介面命令进行控制,进入休眠之后,除暂存器、储存器和SPI功能电路之外,包括RF限幅器在内的所有电路都将关闭,以使消耗的电流最低(0.2 μA),需要用上电覆位以及除休眠命令外的任何其他SPI命令将器件从休眠模式唤醒;当天线输入没有LF讯号时,器件将自动处于待机模式,但器件内部各部分电路已上电并准备接收输入讯号,待机模式下电流消耗的典型值为4 μA(3个接收天线工作);当在LF天线输入上有LF讯号且内部电路随接收的资料而进行切换时,器件处于低电流工作模式,该模式下电流消耗仅为13 μA。
除此之外,该器件还支援半电源和无电源工作模式。无电源工作方式下,器件完全从磁场中提取能量进行工作;在半电源工作方式下,器件尽可能从磁场获取能量,不得已情况下由电源供电。
2 设计应用
有源射频标签是射频识别系统中的重要组成部分,相比而言具有储存容量大、通讯距离远、功能丰富的优势,可以广泛应用于物流跟踪、贵重资产管理等领域。其内部电路主要部件有:控制器、启用讯号检测电路、RAM/ROM、定时器、UHF收发器、电源等。其中,启用讯号检测电路可以由MCP2030进行实现,如图4所示。利用MCP2030针对设定数字序列进行识别接收的能力,可以有效地控制标签的工作状态。当标签到达安装有射频启用发射器的特定位置时,MCP2030从SPI介面上输出相应的接收讯号,使得控制器退出休眠状态,并对资料进行接收、分析和处理,最终储存在RAM/ROM相应的位置中。当需要与读写器进行资讯互动时,控制器通过UHF收发器进行通讯,控制器处理完之后自动进入休眠状态,直到下一次接收到磁场启用讯号或定时器产生定时中断。
图4 启用讯号检测电路
如图4所示,MCP2030与控制器通过SPI介面进行连线,SPI介面定义分别为LFDATA、SCCLK、MCCS。该介面命令由16位的控制字组成,命令格式如下:
D13~D15为命令型别,MCP2030根据命令型别确定后续的资料含义并执行相应的 *** 作。其中,0x07为写资料命令,0x06为读资料命令。如果是写资料或读资料命令,则后续D9~D12为暂存器地址,分别指定该命令所要 *** 作的暂存器地址,D1~D8为暂存器资料内容,D0为该命令列校验资讯;如果不是写资料或读资料命令,则D0~D12的资料内容无意义。
为使MCP2030正常工作,系统上电覆位时要对该器件进行正确的初始化配置。在此设定无线讯号数字滤波序列为2 ms有2 ms无,使能通道自动选择功能和解调讯号输出功能,初始化程式段如下:
void Init_MCP2030(void) {
ShiftOutSpi(0xe1,0x41)reg0 111 0000 1010 0000 1
ShiftOutSpi(0xe2,0x01)reg1 111 0001 0000 0000 1
ShiftOutSpi(0xe4,0x01)reg2 111 0010 0000 0000 1
ShiftOutSpi(0xe6,0x01)reg3 111 0011 0000 0000 1
ShiftOutSpi(0xe8,0x01)reg4 111 0100 0000 0000 1
ShiftOutSpi(0xeb,0x81)reg5 111 0101 1100 0000 1
ShiftOutSpi(0xed,0x3f)reg6 111 0110 1001 1111 1
}
控制器向MCP2030传送资料的程式实现如下:
资料预先储存在OutData1和OutData2中
void ShiftOutSpi(unsigned char OutData1,unsigned char OutData2) {
unsigned char i
SCCLK=0
MCCS=0
for(i=0i<8i++) {
LFDATA=OutData1 &0x80
OutData1=OutData1?1
SCCLK=1
SCCLK=0
}
for(i=0i<8i++) {
LFDATA=OutData2 &0x80
OutData2=OutData2?1
SCCLK=1
SCCLK=0
}
MCCS=1
}
控制器从MCP2030接收资料的程式段如下:
资料储存在AFESpiInDataH和AFESpiInDataL中
void ShiftInSpi(void) {
unsigned char i
SCCLK=0
MCCS=0
for(i=0i<8i++) {
SCCLK=1
AFESpiInDataH=AFESpiInDataH &LFDATA
AFESpiInDataH=AFESpiInDataH?1
SCCLK=0
}
for(i=0i<8i++) {
SCCLK=1
AFESpiInDataL=AFESpiInDataL &LFDATA
AFESpiInDataL=AFESpiInDataL?1
SCCLK=0
}
MCCS=1
}
结语
本文针对MCP2030的特点具体介绍了其在有源射频标签中的应用。该器件不仅整合有3通道低频接收电路以及3方向的磁场检测接收电路,而且功耗低,具备多种节能工作模式,非常适合于其他要求低功耗无线启用的嵌入式系统应用。
嵌入式系统题1 mov
2 LDR
就两个指令还要搞不明白吗?
入门没学好啊.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)