主机与目标板结合的交叉开发模式:即在PC主机上编辑、编译软件,然后在目标板上运行、验证程序。嵌入式设备的资源并不足以用来开发软件,因此都是采用主机与目标板结合的交叉开发模式开发软件。最初的嵌入式设备是一个空白的系统,需要通过主机为它构建基本的软件系统,并烧写到设备中。
对于开发板,进行嵌入式Linux开发时一般可以分为以下3个步骤:
在主机上编译Bootloader,然后通过JTAG烧入单板。通过JTAG接口烧写程序的效率非常低,它适用于烧写空白单板。为方便开发,通常选用具有串口传输、网络传输、烧写Flash功能的Bootloader,它可以快速地从主机获取可执行代码,然后烧入单板,或者直接运行
在主机上编译嵌入式Linux内核,通过Bootloader烧入单板或直接启动。一个可以在单板上运行的嵌入式Linux内核是进行后续开发的基础,为方便调试,内核应该支持网络文件系统(NFS),即将应用程序放在主机上,单板启动嵌入式Linux内核后,通过网络来获取程序,然后运行。
在主机上编译各类应用程序,单板启动内核后通过NFS运行它们,经过验证后再烧入单板。烧写、启动Bootloader后,就可以通过bootloader的各类命令来下载、烧写、运行程序了。启动嵌入式Linux后,也是通过执行各种命令来启动应用程序的,一般通过串口来进行输入/输出。所以交叉开发模式中,主机与目标板通常需要3种连接:JTAG、串口、网络。
一般只有在调试Bootloader时,才使用JTAG接口,因此通常情况下JTAG接口的使用很少:只需要烧写一次Bootloader——当它启动后,基本都是通过串口或网络下载程序,然后烧入单板。
开发板有如下部件:64MB SDRAM、1MB NOR Flash、64MB NANDFlash、两个网卡、5个串口、音频输入输出、2.5寸IDE接口、标准SD/MMC卡座、4个GPIO按键、外接I2C接口的实时时钟RTC芯片。
将主机与目标板通过JTAG、串口线(接单板上的串口0)、网线(接单板上的网卡0)连接起来,将各类设备连接到目标板上去即可完成硬件开发环境的搭建,接下来继续软件环境的搭建即可。
嵌入式Linux开发环境搭建
主机与目标板结合的交叉开发模式:即在PC主机上编辑、编译软件,然后在目标板上运行、验证程序。嵌入式设备的资源并不足以用来开发软件,因此都是采用主机与目标板结合的交叉开发模式开发软件。最初的嵌入式设备是一个空白的系统,需要通过主机为它构建基本的软件系统,并烧写到设备中。
对于开发板,进行嵌入式Linux开发时一般可以分为以下3个步骤:
在主机上编译Bootloader,然后通过JTAG烧入单板。通过JTAG接口烧写程序的效率非常低,它适用于烧写空白单板。为方便开发,通常选用具有串口传输、网络传输、烧写Flash功能的Bootloader,它可以快速地从主机获取可执行代码,然后烧入单板,或者直接运行
在主机上编译嵌入式Linux内核,通过Bootloader烧入单板或直接启动。一个可以在单板上运行的嵌入式Linux内核是进行后续开发的基础,为方便调试,内核应该支持网络文件系统(NFS),即将应用程序放在主机上,单板启动嵌入式Linux内核后,通过网络来获取程序,然后运行。
在主机上编译各类应用程序,单板启动内核后通过NFS运行它们,经过验证后再烧入单板。烧写、启动Bootloader后,就可以通过bootloader的各类命令来下载、烧写、运行程序了。启动嵌入式Linux后,也是通过执行各种命令来启动应用程序的,一般通过串口来进行输入/输出。所以交叉开发模式中,主机与目标板通常需要3种连接:JTAG、串口、网络。
一般只有在调试Bootloader时,才使用JTAG接口,因此通常情况下JTAG接口的使用很少:只需要烧写一次Bootloader——当它启动后,基本都是通过串口或网络下载程序,然后烧入单板。
开发板有如下部件:64MB SDRAM、1MB NOR Flash、64MB NANDFlash、两个网卡、5个串口、音频输入输出、2.5寸IDE接口、标准SD/MMC卡座、4个GPIO按键、外接I2C接口的实时时钟RTC芯片。
将主机与目标板通过JTAG、串口线(接单板上的串口0)、网线(接单板上的网卡0)连接起来,将各类设备连接到目标板上去即可完成硬件开发环境的搭建,接下来继续软件环境的搭建即可。