目录
[显示]

1.摘要

这篇文章是嵌入式开发学习笔记的第二篇,主要内容为嵌入式开发的软硬件环境准备相关内容。

2. 硬件环境准备

2.1. 综述

如果要学习嵌入式开发,尤其是刚开始学习,那么手边有一个嵌入式设备基本上是必须的。虽然没有设备用仿真器也可以,不过看不到实物的话理解起来会稍微纠结一点。ADS(ARM Developer Suite)
具体来说,学习嵌入式开发要准备的硬件包括:
1、开发板
2、PC与开发板的连线

2.2. 开发板

开发板(demoboard)是用来进行嵌入式系统开发的电路板,包括中央处理器、存储器、输入设备、输出设备、数据通路/总线和外部资源接口等一系列硬件组件。开发板一般由嵌入式系统开发者根据开发需求自己订制,也可由用户自行研究设计。开发板是为初学者了解和学习系统的硬件和软件,同时部分开发板也提供的基础集成开发环境和软件源代码和硬件原理图等。常见的开发板有51、ARM、FPGA、DSP开发板。
对于学习者来说,有一个开发板可以对嵌入式开发有更直观的了解,如果说不缺那么几百块钱的话,还是买个好些。基本上这个开发板能帮你渡过从入门到掌握之间的阶段。
至于具体买哪种,我推荐找便宜,资料相对全一些的,淘宝上一搜到处都有。如果有认识的师兄之类,淘个二手的会更划算些。

2.3. 连接器

要用开发板就必须通过网络将开发板与PC连接起来,做了这么一张表格:

  网线 串口线(PC有串口) 串口线+串口转USB(PC无串口) JTAG(PC有并口) JLink(PC无并口)
应用开发    
驱动开发    
内核移植    
内核开发    
无操作系统开发(BootLoader开发,裸机程序等)      

简单的说:
如果做BootLoader以上级别的程序开发,买串口线,PC无串口的话加买串口转USB转换器。
如果做BootLoader及以下级别的开发,除了串口线之外还需要买JTag仿真器,如果PC端没有并口的话买支持USB的JLink仿真器。

3. 软件环境准备

2.1. 综述

3.2. Windows

3.2.1. 通讯程序

SecureCRT
串口通讯程序

DNW
另一款串口通讯程序

Putty
还是串口通讯程序,个人比较喜欢用Putty和SecureCRT。

GiveIO
并口驱动程序

TFTP
使用网络下载文件时需要使用TFTP或其他类似的工具架设服务器。

3.2.2. 开发工具

H-JTAG
Flash烧写工具

Jlink-Flasher
Flash烧写工具

ADS
ADS(ARM Developer Suite),arm开发套件。

3.2.3. Linux模拟环境

在开发linux程序时会用到linux环境下的编译器和其他工具。
VirtualBox
虚拟机工具,类似的还有VMWare。

3.3. Linux

交叉工具链
取决于具体的开发板,与Linux有关的开发都会用到。注意版本要对应,并不是越新越好。

BusyBox
创建用于嵌入式设备的命令行程序(ls,cp等),内核移植创建文件系统时会用到。

u-boot源代码
BootLoader之一,开发BootLoader程序时会用到。

Linux内核源代码
开发内核时使用

通讯及开发程序
可以不使用windows直接用linux做开发,不过我没这么做,所以这部分内容无法提供。

4. 总结

1、根据自身经济情况和学习方向买一个开发板
2、买一根串口线
3、如果电脑没有串口,买一个usb转串口转接器(注意需要安装驱动)
4、如果要做操作系统之下的开发,买一个jtag仿真器。如果电脑没有并口则改为买jlink或者其他支持usb接口的仿真器(需要安装驱动)
5、在电脑上安装Linux系统,可以是独立系统或虚拟机,安装过程及网络配置等内容在这里不多说了。
6、在Linux中安装开发板对应的交叉工具链(一般开发板商家会提供,如果没有,那么可以从网上下载其他人已经制作好的交叉工具链,绝对不推荐自己制作)
7、开发板上应该有支持tftp的BootLoader,如果没有,去商家网站上下载一个并按照商家提供的教程烧入BootLoader。
8、开发板上应该有linux系统,如果没有,去商家网站上下载一个并按照商家提供的教程通过串口或网线烧入linux内核及文件系统。
11、如果是开发应用或内核,推荐方式为PC机Linux系统开启nfs服务。pc编译→嵌入式BootLoader或linux系统通过网络加载程序→通过网络或串口调试
12、如果是开发裸机程序,可以用ADS等集成工具。