如何学习嵌入式软件?你需要学习的内容都在这里

什么是嵌入式?

嵌入式分为广义和狭义两种。广义的嵌入式就是片上系统(system on a chip),包括单片机、PSOC、NIOS、Microblaze等。而狭义的嵌入式就是ARM9、cortex A8等特定的跑操作系统的芯片。这里主要介绍狭义嵌入式的学习路线。

还是主流的方法,先学会使用它,再深入研究底层。

常用的操作系统有Linux、WIN CE、安卓、Vxworks、QNX、OSE等,目前资料最多的是linux,所以下面以linux为例。

一、安装虚拟机和linux系统。

一般人用的电脑都会装Windows系统,要想在Windows上跑其它系统,得安装虚拟机。而目前主流的虚拟机有vmware、VirtualBox、hyperV等,你可以随便选一个安装。然后去官网下载个人版的linux镜像(.iso文件)并把它安装在虚拟机里面即可,这里给出主流linux系统的官网链接:ubuntu、fedora、centos、debian、suse。如果你没有用过linux的话,推荐使用ubuntu。因为RedHat要收费,并改名为RHEL,所以这里不作介绍。

先下载一本《鸟哥私房菜》。然后进入第二、三、四阶段(前期的学习不需要开发板)。

二、学会使用linux常用命令。

这里,必须改改在Windows下点鼠标的习惯,在linux下做事得用命令行。此外,在linux下载软件,不需要在百度下载,而是用linux自带的软件包管理工具(如:apt-get、dnf、rpm等)。如果你用ubuntu的话,得修改软件源(下载软件的网址),因为国外的源比较慢,百度上有详细说明。接下来,得学会最基本的命令,如:ls、cd、find、grep、ps、diff、fdisk、ifconfig等。跟着教材多操作几遍就会了,没有很深的理论知识,不需要掌握所有的命令,也不需要记住所有命令的选项,用到的时候会查就可以了。有空的话可以上ubuntu社区或者linux公社。

三、学会使用linux常用工具。

1、编辑器(写代码必备的)。有gedit,vim,emacs,sublime等,推荐学vim。

2、gcc和gdb。gcc是编译器,gdb就是代码调试器。

3、makefile、autoconf、automake。这里可不像VC++6.0这种工具,点个鼠标就给你编译好。在linux下,你得用makefile和make工具,来编译代码。其