嵌入式软件的开发和传统的软件开发有许多共同点,它继承了许多传统软件开发的习惯,由于嵌入式软件运行于特定的目标应用环境,CPU 平台通常与PC 机不同,因此,首先要搭建一套基于PC 机的开发环境。 这套开发环境通常包括目标板和宿主机,前者就是嵌入式设备,运行着嵌入式操作系统和应用程序;而后者通常就是PC 机或服务器,用于开发和调试目标板上所用到的操作系统、应用程序等所有软件,这种在宿主机上开发程序在目标板上运行程序的方式,通常称为“交叉开发”。
宿主机通过串口、网络连接或调试接口(如JTAG 仿真器)与目标机通信。 宿主机的软硬件资源比较丰富,其操作系统主要有Windows 和Linux 两种,其上用于开发程序的部套软件工具,通常称为“开发工具链”,对于Windows 平台,通常包括各种集成开发环境(IDE)调试工具,比如ARM 公司的ADS、Windriver 的Tornado、微软公司的Embedded Visual C + +和PlatformBuilder 等;对于Linux 平台,主要是GNU 工具链,比如gcc、gdb 等。
目标板(又称“目标机”)可以是嵌入式应用软件的实际运行环境,当然也可以是替代实际环境的仿真系统(如软件模拟器)。 它的硬件资源有限,运行在它上面的软件需要精心的裁剪和配置,目标板软件需要和嵌入式操作系统打包运行,为缩短开发的费用和开发周期,可以在宿主机上仿真目标板,应用程序在主机的开发环境下编译链接生成可执行文件,再下载到目标机,通过主机上的调试软件和连接到目标板上的调试设备完成对嵌入式程序的调试。(www.xing528.com)
当然,目前随着Flash 技术,尤其是JTAG 下载调试接口的发展,JTAG 调试工具变得越来越简单和通用。 通常只要一根简单的是JTAG 下载线和一根JTAG 调试电缆(比如Wiggler),就可以省去价格相对较贵的仿真器,目前的单片机、DSP、PLD 等应用开发也基本相同。
另外,如果是个人进行嵌入式开发,则可以在自己的PC 机上以多操作系统的形式安装桌面Linux 操作系统(比如Redhat),或在Windows 下利用模拟软件(比如Cygwin)或虚拟机(比如VMware workstation),如果是多人的项目组开发,则可以指定一台作为服务器,项目组成员通过局域网用telnet 登录到Linux 上编译程序,通过ftp 进行下载到自己的PC 机上,然后再利用串口或网络下载到目标板上。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。