.编程语言:
第一层:C语言
第二层:ARM汇编,shell脚本,C++,JAVA
操作系统:
第一层:LINUX
第二层:RTOS、Android
硬件方面:会看原理图,懂得串口,I2C、USB等常见通信原理及编程,懂得LCD、触摸屏等常见原件的工作原理及编程。
2.完全学习:
嵌入式核心课程
Android扩展
物联网扩展
各种实训项目
[if !supportLists]1.1[endif] 操作系统:windows,linux,android,ios,Symbian,unix
Linux内核下载:www.kenel.org
Windows:傻瓜式、好学习,工资低
Linux:linux认为每一个用户都是专业人士,擦欧总麻烦,学习难,免费的、开源的,linux性能好,可移植性好,好的设计理念
Android:移动操作系统,android基于linux
iOS:很厉害,创造性
1.2开发嵌入式系统需要Linux环境,但windows里面好用的软件,如notepad++ Sourceinsight,所以也需要windows。既需要windows,又需要linux
第一种:双系统
第二种:虚拟机
[if !supportLists]1.2[endif]搭建开发环境
[if !supportLists]1.3[endif]涉及到两个东西:虚拟机+linux系统
[if !supportLists]1.4[endif]虚拟机软件:就是一个windows里面的软件
Windows中:文件隐藏与不隐藏通过设置文件属性实现的。工具-文件夹选项-查看-显示所有文件和文件夹。
Linux中:隐藏文件特点的文件名以.开头,跟文件属性无关。查看隐藏文件用Is-a命令(普通显示IS)
[if !supportLists]1.5[endif]相对路径与绝对路径
什么是路径(pathname):用来标识一个文件在操作系统的文件系统中存储位置的。
相对路径:指明路径的时候,是从当前所在的位置开始的。
/abc/123/def.txt 是linux绝对路径
../abc/相对路径= /root/abc/
F:\abc\123\def.txt,是windows的绝对路径·
..表示上一层目录
2.linux基础知识与技能
2.1
Linux是一个操作系统内核
2.2
GUI(图形用户界面)和cmdline(命令行)
Linux中我们常用命令行,在windows中常用GUI
2.3
linux命令
(1)* ls(list,列表,用列表列文件)
ls
–a 显示所有文件,包括隐藏文件
ls
–l 以详细信息显示
ls -1–a abcdefghigklmnopwrdtuvwxyz
man
作用:查询man手册,获得帮助信息
man 1 ls 查询linux命令
man 2 xxx 查询的是linux api
man 3 xxx 查询的是c库函数
(2)cd(change directory,切换目录)
..上一层目录
.当前目录
…
./文件名,可以执行文件,例如./a.out
(3)pwd(printf work
directory,打印工作目录)
作用:打印出当前的绝对目录
(4)mkdir(make directory,创建文件夹)
作用:创建空文件夹
Mkdir
–p 级联创建文件夹
(5)mv(move,移动)
作用:在目录之间移动文件,重命名文件
mv源文件pathname 目的文件pathname
*
(6)touch
作用:创建空文件
touchpathname
(7)cp(copy,复制)
作用:复制文件或文件夹
cp 源文件pathname 目标文件pathname
cp
–r 用来复制文件夹
cp -f强制复制
实际操作时,一般都是cp –f复制文件,
cp
–rf复制文件夹
(8)rm(remove,去除,删除)
作用:用来删除文件,文件夹
rm 文件pathname
rm
–r 文件夹pathname
(9)cat
作用:直接在命令行下面显示文件内容
(10)rmdir(remove directory,删除文件夹)
rmdir只能删文件夹,rm-r可以删除空文件夹和非空文件夹;
(11)In(link,连接文件)
软连接(符号连接)
硬连接(In 源文件名 连接文件名)
(12)apt-get
作用:在ubuntu中用来在线安装、卸载软件的程序
apt-get install vim
apt-get remove vim
说明:a-get安装软件的原理和必要性。
基础知识:
[if !supportLists]1. [endif]ls -1显示的详细信息中:-rw-r—r—
[if !supportLists]- [endif]普通文件,表示文本文件和二进制文件;
d 开头的是文件夹,d是directory的缩写
l 表示符号连接文件,后面会用->打印出它指向的文件
s 表示socket文件
p 表示管道文件pipe
3.1
vi的基本使用
使用vi来打开和创建文件,vi pathname
vi的两种模式:
命令模式:当vi打开时默认为命令模式,要转入输入,需要按a或者i键。在命令模式下,此时键盘上输入有东西都被vi当命令来对待。在命令模式,最好不要乱输入,此时应该输入相应命令,来让vi做相应的事。
输入模式:用来向文件输入内容,可以从命令模式中按a或者i进行输入模式,进入输入模式后,就可以随意按键盘进行输入了。输入完成后,如果要保存,要先退回到命令模式。在输入模式下按esc键退回到命令模式。
注:注意下屏幕的左下角,命令模式无提示,输入模式提示–insert
3.2
vi的高级使用
*查找 在命令模式下输入/xxx,就可以找到
*快速切换行 在命令模式下输入:num,就可以快速切换到num行
*设置显示行号 在命令模式下set nu,set nonu不显示行数,设置永久行号,需要修改
*行删除 命令模式下,先将光标输入到要删除的行,然后输入ss,如果要删除连续多行,譬如要删除连续的3行,使用3dd,光标放在三行的第三行,
*行复制粘贴 复制:命令模式下,nyy;粘贴:命令模式下,p;
注意:复制时要把光标放在多行的第一行,粘贴时实际粘贴到当前光标所在行的下一行。
在命令模式下如何保存:
:wq 保存并且退出
:w 只保存不退出
:q! 不保存退出
:wq! 保存并且强制退出
使用技巧:1.使用TAB健输入
[if !supportLists]2. [endif]linux命令行中一些符号的含义
. 当前目录
..代表上一层目录
- 前一个目录,我刚才那个目录cd过来
~ 当前用户的宿主目录
/ 代表根目录
* 万能匹配符
宿主目录:操作系统为当前用户所设计的用来存放文件、工作的默认目录;
在Linux里/home/username/ , cd ~快速回到宿主目录,而对于root用户,在/root
行删除:命令模式下,先将光标移动到要删除的行,然后输入dd。如果要删除连续多行,譬如删除连续的三行,使用3dd。
行复制粘贴;
复制:命令模式下,nyy
粘贴: ,p
细节:复制时要把光标放在多行的第一行,粘贴时实际粘贴到当前光标所在行的下一行。
3.3 linux中权限表示&管理
3.3.1 普通用户与特权用户 su命令切换用户 su+用户名
特权用户是系统的管理员,对系统所有文件具有操作权。可以用su 用户名在不同用户间切换,输入root的密码即可转入root用户。
3.3.2 rwx与权限表示
ls -1显示详细信息
drwxr-xr-x 10个字符,第一个表示文件类型,剩下的9个分成3组,表示文件权限。
前三个表示此文件的属主对文件的权限;
中三个表示此文件属主所在的组对文件的权限;
后三个表示其他用户对文件的权限。
rwx怎么解析:r代表可读,w代表可写;x代表可执行
r-x:可读不可写,可执行
r--:可读,不可写,不可执行
3.3.3 使用sudo暂时获取root权限
这是ubuntu的一个特点,在ubuntu中可以使用sudo命令让普通用户暂时获取root用户的权限,而不必进行用户切换。
[if !supportLists]1. [endif]linux命令
[if !supportLists]1.1 [endif]find
功能:在linux文件系统中,找文件时,忘记在那个目录下,要找到该文件时,用find;find 路径–name “文件名”
[if !supportLists]1.2 [endif]grep
功能:在一个文本文件中,查找某个词。
举例:grep –nr “SUN”
总结:当你想查找某个符号在哪些地方出现过,用grep;grep –nr“要查找的符号”要查找的目录或文件集合;
注意:-n表示查找结果中显示行号,-r表示要递归查找
Which:只显示二进制文件的路径,查找一个应用程序;
Whereis:显示二进制文件的路径,和其原码或man手册位置;
[if !supportLists]1.3 [endif]uname
功能:查看系统信息 uname-a,打印所有
[if !supportLists]1.4 [endif]开机和关机
shutdown –h now 立即关机
init 0 关机
shutdown –r now 立即重启
reboot 重启
[if !supportLists]1.5 [endif]mount/umount
功能:用于挂载外部磁盘
举例:mount –t nfs –o nolock 192.168.1.141:/root/rootfs/mnt
umount /mnt卸载
[if !supportLists]1.6 [endif] 磁盘空间相关
df –h 显示已挂载的分区列表
du–h列出文件或者文件夹的大小
du–h文件名,可以列出这个文件有多大,列出方式是以人比较好看懂的方式,不像ls-1列出的都是以字节为单位。
[if !supportLists]1.7 [endif]用户管理
useradd user1 添加一个名为user1的用户
userdel user1 删除一个名为user1的用户
passwd user1 为名为user的用户设置密码
[if !supportLists]1.8 [endif]权限管理
作用:用来管理系统文件的权限
chmod
chown
chgrp
ls -1 列出的属性
-rwxr-xr-x
一共十个字符,第一个表示文件属性(d表示文件夹,-表示普通文件),剩下的9个分成三组。每组中三个分别表示r可读w可写x可执行。如果是字母表示有这个权限,如果是-表示没这个权限。三组分别表示:第一组表示文件属主的权限,第二组表示属主所在组用户的权限,第三组表示其他用户的权限。
权限还有另一种表示方法,用数字来表示。
编程规则如下:
r 可读 4
w 可写 2
x 可执行1
- 无权限0
有了这个编码规则,则 rwxr-xr-x,编码后为755
要把权限改成 rwxr—r—则对应的编码值为744
修改命令为:chmod 744 文件名
第二种修改权限的方法:
在原来的权限基础上进行修改,既增加或减少某种权限。
三个组用户的编码依次为:属主u 属主所在的组g 其他用户o
譬如要属主增加可执行权限 chmod u+x文件名
文件名,可以列出这个文件有多大,列出方式是以人比较好看懂的方式。
其他用户增加可写权限 chmod o+w 文件名
属主所在组用户去掉可执行权限 chmod g-x 文件名
1.11文件打包压缩与解压缩
tar–czvf dir.tar.gz dir/ 将dir目录打包成dir.tar.gz
tar-cjvfdir.tar.bz2 dir/ 将dir目录打包成dir.tar.bz2
tar–zxvf dir.tar.gz 解压缩dir.tar.gz
tar–jxvf dir.tar.bz2 解压缩dir.tar.bz2
1.12
sed和awk
正则表达式。匹配加替换。
1.13格式化文件系统
mkfs /dev/dh1
mkfs–t yfat 32 –F /dev/hd1 创建一个FAT32文件系统
1.14网络配置命令
ifconfig
eth0 192.168.1.13 设置ip地址
ifconfigeth0 up 启动网卡
ifconfigeth0 down 禁用网卡
ifupeth0 启动网卡
ifdowneth0 禁用网卡
ifconfig
eth0 192.168.1.1 netmask 255.255.255.0 同时设置ip和子网掩码
c语言
总结:
[if !supportLists]1. [endif]使用到的技术主要是printf中的\n换行和\连接符.
[if !supportLists]2. [endif]VMWare共享文件夹使用
怎么交互:之前通过smb服务器,现在用VMware的共享文件夹
第一步:先在word建立个英文名文件夹
第二步: