收藏 分销(赏)

交叉开发环境-.ppt

上传人:w****g 文档编号:1509567 上传时间:2024-04-29 格式:PPT 页数:54 大小:1.72MB 下载积分:14 金币
下载 相关 举报
交叉开发环境-.ppt_第1页
第1页 / 共54页
交叉开发环境-.ppt_第2页
第2页 / 共54页


点击查看更多>>
资源描述
第4章 交叉开发环境 第4章 交叉开发环境 4.1交叉编译 4.2交叉开发环境 4.3交叉开发工具组成 4.4宿主机与目标机之间的通信方式 4.5交叉开发环境建立 4.6基于UP-NETARM2410-S开发平台交叉开发环境建立 4.7交叉编译和交叉调试实例 本章小结 第4章 交叉开发环境 4.1交 叉 编 译交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。常用的计算机软件都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译成计算机可以识别和执行的二进制代码。比如在 Windows平台上,可使用Visual C+开发环境编写程序并编译成可执行程序。这种方式下,我们使用PC平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为本机编译。然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力等,例如常见的ARM平台,其一般的静态存储空间大概是1632MB,而CPU的主频大概在100500MHz之间。这种情况下,在第4章 交叉开发环境 ARM平台上进行本机编译就不太可能了。这是因为一般的编译工具链(compilation tool chain)需要很大的存储空间,并需要很强的CPU运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他目标平台的可执行程序,再下载到目标平台上的特定位置上运行。可见,以这种方式开发嵌入式系统软件的过程需要相应的开发环境。于是就有了交叉开发环境的模式,即宿主机/目标机模式。第4章 交叉开发环境 4.2交叉开发环境在开发单片机系统时,需要使用一台主机外加操作系统,如Windows 2000,再装上单片机厂商提供的开发软件,即开发环境,在开发环境里面编译程序,用鼠标单击“build”快捷键,即生成的可执行程序配合仿真器还可以进行单步调试、观察寄存器等。开发工具一般是IDE(集成开发环境),它集成了编译器(用于编译目标CPU识别的机器代码)、编辑器、仿真调试器等诸多工具,如果用C语言编写程序,可能还包括相应的标准C库。第4章 交叉开发环境 宿主机/目标机开发模式就是在一个CPU上运行一个程序,另一个CPU编译和调试程序。和它对应的是宿主机开发模式,就是在自己的CPU上编译和运行自己的程序,比如在PC机上用VC编译程序直接运行。因此,宿主机/目标机开发模式并不是一个新名词。交叉编译环境说明的问题和上面的一样,只是针对编译环境而言,这里的环境包括目标CPU的编译器和库文件等,至于为什么叫交叉编译,同样是因为运行编译程序的CPU不是在为自己工作,而是在编译另一个CPU的程序。这样说来,以上例子中的编译环境同样属于一个交叉编译环境(在PC机上编译单片机程序),只不过都被IDE集成好了。第4章 交叉开发环境 综上所述,编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,这样的环境称为交叉开发环境(Cross Development Environment)。需要交叉开发环境的支持是嵌入式软件开发时的一个显著特点。交叉开发环境模式一般如图4-1所示。图4-1 交叉开发环境模式第4章 交叉开发环境 宿主机(Host)是一台通用计算机(如PC机或者工作站),功能较强,各种Linux 发行版本可以直接在PC机上安装,功能十分强大。它不仅能够支持各种处理器和外围设备接口,而且提供了图形化的用户交互界面和丰富的开发环境,更重要的是Linux 系统性能稳定。它为开发者提供了以下功能:非常稳定的多任务操作系统;丰富的设备驱动程序支持和网络工具;强大的Shell;本地编译器;编辑器;图形化的用户界面。第4章 交叉开发环境 4.3交叉开发工具组成1.交叉编译器和交叉链接器在完成嵌入式软件的编码之后,需要进行编译和链接,以生成可执行代码。由于开发过程大多是在使用Intel公司x86系列CPU的通用计算机上进行的,而目标环境的处理器芯片却大多为ARM、MIPS、PowerPC、DragonBall等系列的微处理器,这就要求在建立好的交叉开发环境中进行交叉编译和链接。交叉编译器和交叉链接器是能够在宿主机上运行,并且能够生成在目标机上直接运行的二进制代码的编译器和链接器。例如在基于ARM体系结构的交叉开发环境中,arm-linux-gcc是交叉编译器,arm-linux-ld是交叉链接器。第4章 交叉开发环境 2.交叉调试器和系统仿真器嵌入式软件经过编译和链接后即进入调试阶段,嵌入式软件开发过程中的交叉调试与通用软件开发过程中的调试方式有所差别。在通用软件开发中,调试器与被调试的程序往往运行在同一台计算机上,调试器是一个单独运行着的进程,它通过操作系统提供的调试接口来控制被调试的进程。在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试,调试器仍然运行在宿主机的通用操作系统之上,但被调试的进程却是运行在基于特定硬件平台的嵌入式操作系统中,调试器和被调试进程通过串口或者第4章 交叉开发环境 网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能够改变被调试进程的运行状态。交叉调试(Cross Debug)又常常被称为远程调试(Remote Debug),是一种允许调试器以某种方式控制目标机上被调试进程的运行方式,并具有查看和修改目标机上内存单元、寄存器以及被调试进程中变量值等各种调试功能的调试方式。一般而言,远程调试过程的结构如图4-2所示。第4章 交叉开发环境 图4-2 远程调试结构图第4章 交叉开发环境 由上可知交叉调试典型特点如下:(1)调试器和被调试进程运行在不同的机器上,调试器运行在PC或者工作站上(宿主机),而被调试的进程则运行在各种专业调试板上(目标机)。(2)调试器通过某种通信方式与被调试进程建立联系,如串口、并口、网络、DBM、JTAG或者专用的通信方式。(3)在目标机上一般会具备某种形式的调试代理,它负责与调试器共同配合完成对目标机上运行着的进程的调试。这种调试代理可能是某些支持调试功能的硬件设备(如DBI 2000),也可能是某些专门的调试软件(如gdbserver)。第4章 交叉开发环境(4)目标机可能是某种形式的系统仿真器,通过在宿主机上运行目标机的仿真软件,整个调试过程可以在一台计算机上运行。此时物理上虽然只有一台计算机,但逻辑上仍然存在着宿主机和目标机的区别。第4章 交叉开发环境 4.4宿主机与目标机之间的通信方式4.4.1互联通信方式1.串口通过串口可以作为控制台,向目标机发送命令,显示信息;也可以通过串口传送文件;还可以通过串口调试内核及程序。串口的设备驱动实现也比较简单。2.以太网口以太网以其高度灵活,相对简单,易于实现的特点,成为当今最重要的一种局域网建网技术,以太网IEEE 802.3通常使用专门的网络接口卡或通过系统主电路板上的电路实现。以太网使用收发器与网络媒体进行连接。收发器可以完成多第4章 交叉开发环境 种物理层功能,其中包括对网络碰撞进行检测。收发器可以作为独立的设备通过电缆与终端站连接,也可以直接被集成到终端站的网卡当中。以太网可采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。通过查看包含在帧中的目标地址,确定是否进行接收或放弃。如果证明数据确实是发给自己的,工作站将会接收数据并传递给高层协议进行处理。网络接口一般采用RJ-45 标准插头,PC机上一般都配置10M/100M以太网卡,实现局域网连接。通过以太网连接和网络协议,可以实现快速的数据通讯和文件传输。第4章 交叉开发环境 另外,目标机也可以利用远程组件来促进开发。比如内核可以通过TFTP协议下载到目标机,根文件系统(root fs)也可以通过NFS加载来代替存储在目标机上。利用NFS加载根文件系统实际上是一件非常好的事情。因为它避免了频繁的复制程序修改。第4章 交叉开发环境 3.JTAG口JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路测试接口(TAP,Test Access Port),通过JTAG 测试工具对芯片的核进行测试。它是联合测试行动小组(JTAG,Joint Test Action Group)定义的一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。目前大多数比较复杂的器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI和TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。因为JTAG 接口的时钟一般在116 MHz之间,所以传输速率可以很快。但是实际的数据传输速度要取决于仿真器与主机端的通讯速度和传输软件。第4章 交叉开发环境 4.4.2可拔插通信方式在这种模式下,在宿主机和目标机之间没有实际的物理连接,而是主机写存储设备,如软盘、CDROM、USB盘等移动存储介质,然后再传给目标机,最后目标机启动它。在这种模式下,宿主机包括了交叉编译环境,而目标机只包括了一个小型的启动文件。其他的组件存储在一个可移动的,可以被宿主机编程的,同时又可以被目标机启动的存储介质上。比如CompactFlash IDE设备,或者其他类型的驱动。第4章 交叉开发环境 有可能目标机不包括任何一种可永久存储数据的设备。举例来说,代替了固定存储设备到目标机上,目标机只包括了一个接口,闪存芯片可以很轻易的插入和移开。这个闪存芯片同时需满足可以很轻易的被一个宿主机上闪存烧写器编程,并且轻易的在目标机的接口上进行一般的实验。这种模式在嵌入式系统开发的最初阶段非常流行。当然,当最初阶段结束以后,也可能发现互连模型应用更好。因此,当修改了内核或者根文件系统以后,可以避免从宿主机和目标机之间传递存储设备。第4章 交叉开发环境 4.5交叉开发环境建立4.5.1创建交叉开发工具链交叉开发工具链包括交叉编译器、交叉连接器和交叉调试器,这些交叉开发工具链是嵌入式系统开发的必备工具,它是要安装在宿主机(PC)上的。对于它的创建有三种途径:第一种是下载别人已做好的工具链,当然这是最省事的方法;第二种是到官方网站上下载crosstool;第三种是自己一步一步制作自己的交叉开发工具链,这是最有趣的,也是最能体现自己能力的方式。本章所使用的交叉开发工具链是前面两种,其中,第一种交叉开发工具链是UP-NETARM2410-S开发平台的北京博创公司所提供的。第4章 交叉开发环境 4.5.2宿主机开发环境配置1.宿主机安装发行版Linux操作系统宿主机安装发行版Linux操作系统有以下三个方案:(1)基于PC机Windows操作系统下的CYGWIN。(2)在Windows下安装虚拟机后,再在虚拟机中安装Linux操作系统。(3)直接安装Linux操作系统。安装方案的选择不同,主要依据PC机的系统配置,对于当前的PC机配置,建议选择在虚拟机下安装Linux操作系统,这样便于系统任务的切换。对于它的安装方法可参见本教材2.1节。第4章 交叉开发环境 如果选择RedHat 9.0,它安装后占用空间约为2.45GB之间,还要安装ARMLinux开发软件,对开发计算机的硬盘空间要求较大。硬件要求如下:CPU:高于奔腾500 MB,推荐高于赛扬1.7 GB。内存:大于128 MB,推荐256 MB。硬盘:大于10 GB,推荐高于40 GB。2.开发工具链的安装开发工具链的第一种来源,安装较简单,一般运行安装光盘的可执行文件./install即可,这相当于在Windows运行可执行文件setup。开发工具链的第二种来源,下载的工具链有不同的包装格式,RPM的格式就很常用,也有把工具链直接压缩成tar包的。第4章 交叉开发环境 对于RPM的格式,可以通过rpm命令把软件包安装到宿主机上。可是这些工具安装到哪里去了呢?RPM包安装的时候都会有缺省的安装目录,可以通过rpm命令来查询。这个命令是Redhat Linux上的常用命令,可以参考第2章的内容。对于tar包,可以使用tar命令解压。问题是解压出来的工具应该放在什么路径下?因为GCC编译器的运行是依赖于其他工具和库,通常不能把这些工具放在任意目录下。一般通过相关的README 或者说明文档可以得到具体的安装路径。另外,通过gcc命令也可以得到安装的路径。以ARM Linux站点提供cross-3.3.2.tar.bz2包为例说明。解压cross-3.3.2.tar.bz2后,查看GCC版本号,可以得到一些信息。第4章 交叉开发环境 3.网络配置宿主机Linux环境配置,首先要确认宿主机的网络接口驱动成功,并且配置网络接口的IP地址。可以通过ifconfig命令查看其网络接口,还可以通过ifconfig配置网口的IP地址。查看本机IP地址:#ifconfig-a修改本机IP地址:$ifconfig eth0 192.168.254.1点击开始菜单,选择网络,即可以通过Redhat Linux 9的图形配置界面来配置,图4-3所示就是网络设备配置的图形窗口。第4章 交叉开发环境 图4-3 网络设备配置的图形窗口第4章 交叉开发环境 4.串口配置串行通信接口很适合作为控制台,在各种操作系统上一般都有现成的控制台程序可以使用。Windows操作系统有超级终端(Hyper terminal)工具;Linux/UNIX操作系统有minicom等工具。无论什么操作系统还是通信工具,都可以作为串口控制台。如果在Windows平台上运行Linux虚拟机,这个串口通信软件可以任选一种。超级终端(Windows开始菜单的附件中)是Windows系统的串口通讯工具,完全图形化的界面,操作非常简单。使用超级终端也要配置相应的连接。建立一个超级终端的连接,需要为其配置如图4-4所示的参数。主要是串口号、通讯速率和是否流控。每建立一个配置可以保存下来。第4章 交叉开发环境 图4-4 Windows系统下的超级终端第4章 交叉开发环境 Linux系统通常使用minicom串口通讯工具。由于minicom不是图形窗口的工具,操作起来要麻烦一些。使用minicom串口终端之前,需要先配置参数。在Linux操作系统Xwindow界面下建立终端(在桌面上点击右键选择新建终端),在终端的命令行提示符后输入“minicom”,就会看到minicom的启动画面。minicom启动后,先按Ctrl+A键,再按Z键(注意不是连续按,Ctrl+A松开后才按Z),进入minicom配置主界面,如图4-5所示。第4章 交叉开发环境 图4-5 minicom配置主界面第4章 交叉开发环境 5.NFS服务网络文件系统(Network File System,NFS)是一种允许透明文件共享的技术,这种共享出现在通过局域网(也就是LAN)连接的Unix和Linux系统之间。NFS已出现了很长时间,它在 Linux和Unix世界里广为人知而且被广泛使用。特别地,NFS常用于在网络上多台机器之间共享主目录,当用户登录至LAN上的一台机器(任何一台机器)时,这为用户提供了一致的环境。由于NFS,挂装远程文件系统并将其完全集成到系统的本地文件系统成为可能。NFS的透明性和成熟使它成为在Linux下进行网络文件共享的有用、流行的选择。也是嵌入式系统软件调试的一种重要、方便的方法。第4章 交叉开发环境 NFS服务的主要任务是把本地的一个目录通过网络输出,其他计算机可以远程地挂接这个目录并且访问这个文件。NFS服务有自己的协议和端口号,但是在文件传输或者其他相关信息传递的时候,NFS则使用远程过程调用(RPC,Remote Procedure Call)协议。RPC负责管理端口号的对应与服务相关的工作。NFS本身的服务并没有提供文件传递的协议,它通过RPC的功能负责。因此,还需要系统启动portmap服务。NFS服务的设置可以通过Linux图形界面来操作,也可以在终端下用配置文件来操作。第4章 交叉开发环境(1)图形界面操作。点击主菜单运行系统设置,服务器设置选择NFS服务器,点击增加,出现如图4-6所示界面,在目录(Drictory)中填入需要共享的路径,在主机(Hosts)中填入允许进行连接的主机IP地址,并选择允许客户对共享目录的操作为只读(Read-only)或读/写(Read/write)。第4章 交叉开发环境 图4-6 NFS服务图形设置界面第4章 交叉开发环境(2)配置文件操作。NFS服务的配置文件是/etc/exports。配置文件的语法格式如下:共享目录 主机名称1或IP1(参数1,参数2)主机名称2或IP2(参数3,参数4)“共享目录”是主机上要向外输出的一个目录;“主机名称或者IP”则是允许按照指定权限访问这个共享目录的远程主机;“参数”则定义了各种访问权限。第4章 交叉开发环境 6.DHCP服务目标板的引导程序(Bootloader)或者内核都需要分配IP地址。这可以通过动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)或者BOOTP协议实现。BOOTP协议可以给计算机分配IP地址并且通过网络获取映像文件的路径,DHCP则是向后兼容BOOTP的协议拓展。Linux操作系统的主机一般包含dhcpd的软件包,可以配置DHCP服务。配置服务的操作需要root用户的权限。首先要确认主机上已经安装所有必需的软件包,创建相关文件。确认/var/lib/dhcp/dhcpd.leases已经存在。如果这个文件不存在,可以手工创建目录和文件。第4章 交叉开发环境 网络服务的启动和停止也可以通过图形化窗口来配置,在Redhat Linux 9.0系统上可以点击主菜单运行系统设置。图4-7所示为DHCP服务配置窗口。第4章 交叉开发环境 图4-7 DHCP服务配置窗口第4章 交叉开发环境 7.TFTP服务TFTP协议是简单的文件传输协议,适合目标机引导程序使用。但是文件传输是基于UDP的,文件传输(特别是大文件)是不可靠的。TFTP服务在Linux系统上有客户端和服务器两个软件包。配置TFTP服务,必须先安装好。TFTP服务也可以通过图形化的配置窗口来启动。当然,操作过程需要root权限。缺省的情况下,把/tftpboot目录作为输出文件的根目录。第4章 交叉开发环境 4.6基于UP-NETARM2410-S开发平台交叉开发环境建立4.6.1安装PC机RedHat Linux虚拟机4.6.2开发工具软件的安装本节中所讲的开发工具的安装与4.5.1节中所讲的创建交叉开发工具链的第一种方法相似,即博创公司目标机的开发工具光盘,插入CDROM,然后执行以下命令:#cd /mnt/cdrom/2410-s 06.03.03/linux-V5.1#./install.sh会出现如图4-8所示的安装界面(如果想了解在安装过程会执行哪些内容,可用vi查看这个脚本文件install.sh)。第4章 交叉开发环境 图4-8 开发工具安装界面第4章 交叉开发环境 4.6.3宿主机网络配置NFS的本质就是将宿主机和目标机组建成一个小的局域网,因此对宿主机的网络配置包括:IP地址的设置、安全级别的设置和NFS服务的配置。(1)IP地址的设置。对于IP地址设置可参看4.5.2节中的网络配置方法,目标机的IP地址的初始设置为:192.168.0.115,注意对宿主机的IP设置中要把它设置成和目标机在同一个子网中。第4章 交叉开发环境(2)安全级别的设置。要使宿主机和目标板之间相互顺利传送文件,宿主机的安全级别应该设置成无防火墙状态。对于REDHAT9.0,它默认的是打开了防火墙,因此对于外来的IP访问全部拒绝,这样其他网络设备根本无法访问它,即无法用NFS挂载它,许多网络功能都将无法使用。因此网络安装完毕后,应立即关闭防火墙。操作如下:点击开始菜单,选择安全级别设置,选中无防火墙。如图4-9所示。(3)NFS服务的配置。NFS服务的配置方法可参看4.5.2节中的NFS功能的讲述。在系统设置菜单中选择服务器设置菜单,再选中服务菜单,将iptables服务的勾去掉,并确保选中nfs选项。第4章 交叉开发环境 图4-9 宿主机安全级别设置第4章 交叉开发环境 4.6.4宿主机串口配置目标机是资源受限的系统,没有像宿主机那样的显示器,如果想看程序在目标板的运行结果等,可利用串口通信将目标机的一些信息传送到宿主机的minicom控制台中,minicom控制台即相当于目标机的显示器。其宿主机的串口配置方法可参看4.5.2节中串口配置内容。进入串口设置界面后,有几个重要选项改为如下值:Serial Device:/dev/ttyS0(端口号使用串口1)EBPS/par/bits:/115200 8N1(波特率:115200,8位数据位,无校验,1位停止位)F,E硬件流、软件流都改为NO第4章 交叉开发环境 4.6.5基于UP-NETARM2410-S开发平台交叉开发环境建立的总结交叉开发环境的建立,就是充分利用宿主机(PC)强大的功能,建立能够编写、编译、下载和调试运行在目标机(UP-NETARM2410-S)上的二进制程序,包括:RedHat Linux虚拟机的安装、交叉开发工具链的制作和安装、串口的配置、网络的配置及JTAG口的连接等,它们各自的作用总结如下:(1)RedHat Linux虚拟机的安装:利用它的强大的功能,开发一个能够运行在目标机的Linux操作系统。(2)交叉开发工具链的制作和安装:编译能够运行在目标机上的二进制代码。第4章 交叉开发环境(3)串口的配置:相互通信,可将minicom或超级终端作为目标机显示器。(4)网络的配置:宿主机和目标机之间局域网的建立,利用NFS进行文件系统的挂载,方便程序的调试。(5)JTAG口:可在目标机没有任何通信之前将引导程序烧写到目标机,在引导程序中可建立如串口等接口的初始化等。宿主机和目标机之间的配置及通信线路如图4-10所示。第4章 交叉开发环境 图4-10 宿主机和目标机之间的配置及通信线路图第4章 交叉开发环境 4.7交叉编译和交叉调试实例(1)建立工作目录。在上面的交叉开发环境建立的共享目录(arm2410s)中建立工作目录:#mkdir pthread#cd pthread(2)编写源代码。在此工作目录下用vi编写程序源代码:用vi编写pthread.c#vi pthread.c源代码如下:#include stdio.h#include math.h第4章 交叉开发环境 第4章 交叉开发环境(3)编写makefile。CC=armv4l-unknown-linux-gcc EXEC=pthread OBJS=pthread.o CFLAGS+=-g-o EXTRA_LIBS+=-lpthread all:$(EXEC)$(EXEC):$(OBJS)$(CC)$(CFLAGS)$(EXTRA_LIBS)$(OBJS)clean:rm-f$(EXEC)*.elf*.gdb*.o第4章 交叉开发环境(4)编译应用程序。在pthread目录下运行make,如果进行了修改,重新编译则运行:#make clean#make注意:编译、修改程序不要在minicom中进行。在宿主机上配置好主机的串口和网络后,将串口线和网络与主机和目标机连接之后,启动目标机,进入系统后,进行共享文件系统的挂载。#mount-t nfs 192.168.0.10:/arm2410s /host 192.168.0.10是宿主机的IP 地址,arm2410s是共享目录(如果主机的IP 地址和共享目录设置不一样,可根据实际情况修改)。第4章 交叉开发环境 挂接宿主机的共享目录成功之后,在目标机上进入/host目录也就进入宿主机的/arm2410s目录,再进入pthread.c程序目录运行刚刚编译好的pthread程序,查看运行结果。注意:目标机挂接宿主计算机目录只需要挂接一次便可,只要目标机没有重启,就可以一直保持连接。这样可以反复修改、编译、调试,不需要下载到目标机的过程。(5)远程调试。在进行远程调试之前,先要明白远程调试环境的一些关键知识。第4章 交叉开发环境 远程调试环境由宿主GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用GDB标准远程串行协议协同工作,实现对目标机上的系统内核和上层应用程序的监控和调试功能。调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。就目前而言,嵌入式Linux系统中主要有三种远程调试方法,分别适用于不同场合的调试工作:(1)ROM Monitor调试目标机程序。(2)KGDB调试系统内核。(3)gdbserver调试用户空间程序。第4章 交叉开发环境 本 章 小 结本章首先对交叉编译的概念进行了讲述,接着详细讲述了交叉开发环境的相关知识,包括交叉开发环境的概念、交叉开发环境的组成部分和宿主机与目标机之间通信方式。针对UP-NETARM2410-目标机,具体讲述开发环境的建立过程,读者可结合建立过程来理解交叉开发环境每一步的建立原因,从而可加深对交叉开发环境的理解。最后通过一个实例来讲述怎样在所建立的交叉开发环境中交叉编译和交叉调试一个应用程序。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服