嵌入式开发一般采用什么方式

你应当指的是有操作系统的嵌入式开发吧,下面就拿运行嵌入式Linux系统的硬件开发举例说明。
假设已经有了嵌入式系统硬件,并且工作正常,嵌入式硬件平台包含一款核心CPU比如是一款ARM,有自己的随机存储器(内存),有掉电不丢失的存储器(Flash、SD卡、硬盘),有常用的接口(串口、USB、网络),总之,硬件平台已经没有错误,可以开发嵌入式软件平台了。
调试软件平台的环境一般是这样的:-硬件平台通过标准接口,比如串口,与你的PC机连接,实现控制台输入和输出,PC端启动串口通讯软件(串口终端程序),软件平台运行的字符提示可以显示在终端,你的键盘输入可以通过终端以串口数据形式传送给硬件平台,实现人机交互;
-由于串口速度慢,无法实现大量数据的吞吐,一般还需要借助网络接口,也就是需要通过网络连接线连接硬件平台和PC机;
-PC机上安装开发环境,一般是虚拟机中安装Linux操作系统,再在其中安装交叉编译程序,并且组建一套硬件平台使用的文件系统;
-先给硬件平台通过串口烧写少量的启动程序到Flash,这个启动程序负责初始化串口、网口,然后将网口传送来的Linux系统内核调入内存执行,并且使用网口上挂载的位于PC机上的文件系统,这样硬件平台上先不存放大量的程序,程序都在你的PC机上通过网口虚拟给硬件平台,你的PC机上的Linux虚拟机就叫宿主机;
-所有软件调试完成后,可以通过网络接口,将虚拟机中的内核和文件系统等烧写到硬件平台的Flash、SD卡或硬盘这些设备中,修改启动参数,让硬件平台启动时用自己的存储程序运行,这时就可以脱离宿主机完成调试开发工作了。

标签