分享
分享赚钱 收藏 举报 版权申诉 / 46

类型uClinux交叉编译环境的搭建.doc

  • 上传人:hwpkd79526
  • 文档编号:7465269
  • 上传时间:2019-05-19
  • 格式:DOC
  • 页数:46
  • 大小:2.73MB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    uClinux交叉编译环境的搭建.doc
    资源描述:

    1、第八章 目录第八章 18.1 案例简介 28.2 搭建 MicroBlaze 硬件平台 38.3 在 EDK 中配置项目软件环境 118.4 uClinux 交叉编译环境的搭建 188.4.1 建立共享文件夹 188.4.2 建立交叉编译环境 208.5 uClinux 基本配置 228.6 添加网页素材 .378.7 应用程序验证 .38本章描述了在 V2PRO 开发板上进行基于 WEB 的系统的设计,完成了WEB SERVER 的功能,可以利用网络访问该服务器的内容。8.1 案例简介本案例实现远程主机通过 Web 网络对终端开发板进行操作和控制,1. 功能描述。本应用具有实时性,高效性,信

    2、息传递稳定精确,误操作少和系统功耗低等性能特点,并具有友好的用户界面。2. 开发环境1) 硬件环境与工具FPGA 开发板及其相关附件(V2PRO )硬件连线:RS232 串口线, RJ45 网线网络设备:以太网集线器(HUB)2) 软件环境与工具EDK 8.2i(不可选用其他版本或其升级版本如 8.2.03i)Fedora Core 4(或 RedHat9 Linux)操作系统虚拟机 VMware 5.0.0 build-131243. 本案例所使用的资源请参考/Chapter8/ 目录:/Doc:本案例的操作指导文档/Src:源代码与 web 网页所需资源,以及 LED、DIP 驱动源文件/

    3、Tools:本案例中使用的工具。包含 uClinux 配置文件 uclinux_v1_00_d 文件夹,交叉工具链 microblaze-elf-tools-20060213.tar.gz,uClinux 源码包 uClinux-dist-20060803.tar.bz2。8.2 搭建 MicroBlaze 硬件平台1. 启动 XPS 8.2i,软件系统弹出如下对话框:选中 Base System Builder Wizard,新建一个 MicroBlaze 硬件平台,点击 OK,进入硬件平台搭建向导。2. 在弹出的对话框中,点击 browse,选择一个目标磁盘并建立一个自己的工程文件夹,双击

    4、进入自己的工程文件夹后,点击保存,系统会自动为此项目命名为 system。点击 OK,进入 BSB 欢迎对话框。3. 在欢迎对话框内,选择 I would like to creat a new design,点击 next。4. 进入开发板选择对话框后,进行如下的系统配置:Board Vendor: XilinxBoard Name: XUP Virtex-II Pro Development SystemBoard Revision: C点击 next。(如果 Board Name 没有出现如上所示选项,请先安装 XUP Virtex-II Pro 开发板的支持包,具体操作如下:将 Xil

    5、inx_XUP_V2P 开发板支持包拷贝到 EDK软件目录下的 boardXilinxboards 文件夹下)5. 进入处理器选择对话框,选择 MicroBlaze 处理器,点击 next。6. 进入 MicroBlaze 配置对话框,如下图所示,确认选择 No Cache,在后续步骤中选择 DDR 512MB 作为内存。点击 next。7. 进入 I/O 端口配置对话框。选择打开 RS232 端口及以太网端口的中断服务,波特率设为 115200,其他采用默认设置。点击 next。8. 继续配置 I/O 端口。如下图所示,打开所有外设端口的中断服务。点击next。9. 由于案例中使用了操作系统

    6、,所以需要添加定时器,点击 Add Periperals,在弹出的对话框中选择 OPB_TIMER,点击 OK。10. 接下来的对话框显示了 Timer 的配置参数,这里,我们只需要一个 Timer,并把中断打开。点击 next。11. 在 Software Setup 中只选择 Memory Test,取消 Peripheral selftest。12. 余下的设置均采用默认配置即可,直至出现如下对话框,点击 Generate。13. 点击 finish。系统会弹出窗口如下,选择 Start using Platform Studio。14. 此时系统会出现如下界面,即 Xilinx Pla

    7、tform Studio 的操作界面。8.3 在 EDK 中配置项目软件 环境1. 由于此次实验中,我们需要在 MicroBlaze 处理器上需要运行 uClinux,所以首先要把 uClinux 的配置文件 uclinux_v1_00_d 文件夹拷贝到 EDK-sw-lib-bsp 文件夹下。否则后续的配置工作将会遇到很大问题。2. 启动 EDK,打开刚才搭建的 MicroBlaze 硬件系统工作目录文件夹下的system.xmp 文件。3. 在打开 MicroBlaze 系统文件后,可以在 EDK 开发环境中看到相关系统信息,如下图所示。首先我们切换到 Bus interface,看到 M

    8、icroBlaze 系统中各个模块与总线的连接情况。4. 这里,我们需要对此系统做出如下修改。把窗口切换到 port,点开 debug module,点开 interrupt 中的 net 选项,选择 debug module interrupt。5. 接着点开 port 选项中的 opb_inct_0,双击 L to H。6. 系统会弹出如下对话框。7. 我们需要把 debug module interrupt 加入到 connected interrupt 栏中,具体方法是选中 debug module interrupt,点击加号,debug module interrupt 会被加入到

    9、connected interrupt 栏中。如图所示。8添加完成后,系统提示如下。9. 接下来进行软件平台配置,点击 Software 菜单,启动 Software Platform Setting,如图所示。10. 系统会弹出软件平台的配置窗口,如下图所示,可以看到共有四个可配置项:Software Platform,OS and Libraries,Drivers ,Interrupt Handle 。11. 首先,我们对 Software Platform 进行配置,点击 Software Platform,在窗口右侧为可配置参数。在 OS&Library settings 子窗口中,

    10、打开 OS 的下拉菜单,由于我们选择使用的操作系统为 uClinux,所以这里选择 uClinux。特别值得注意的是如果第一步没有完成,那么在点开 OS 的下拉菜单后,将没有 uClinux 选项。12. 完成如上配置后,选中 OS and Library 可配置选项,这里完成开发板对uClinux 的 BSP 进行配置,包括 FLASH 与 MEMORY 以及输入输出调试端口的配置,我们主要对以下参数进行修改:Main memory bank:0Main memory:DDR_512M_64M*64Stdin:RS232_Uart_1Stdout:RS232_Uart_113. Driver

    11、s 及 Interrupt Handle 两项不需要进行配置。点击 OK,退出。至此,基于 uClinux 的 MicroBlaze 软件平台配置完成,下一步是根据软件平台的配置生成针对 MicroBlaze 处理器的 BSP 与库,使 uClinux 与开发板的信息交互成为可能。14. 进入 EDK 的 Device Configuration 菜单,点击 Update Bitstream,XPS 会进行硬件平台的生成和软件库的生成以及应用程序的编译。现在我们就可以在MicroBlaze 硬件系统工作目录文件夹下的 microblaze_0/ libsrc/ uclinux_v1_00_d文

    12、件夹内找到 auto-config.in 文件。8.4 uClinux 交叉编译环境的搭建首先在 linux 下建立 uClinux 交叉编译环境,这需要将交叉编译器microblaze-elf-tools 和内核源码包 uClinux-dist 解压到指定的目录下。说明:以下假定 Windows 主机的 D 盘下有个文件夹 share,这个文件夹下包括所需的交叉工具链和 uClinux 的压缩包。8.4.1 建立共享文件夹在这一步里,我们需要建立一个可以在 windows 与 linux 之间进行共享的文件夹,这里我们通过虚拟机 VMware 来建立。从 VMware5 开始,VMware

    13、支持直接将 windows 下的文件夹 mount 到 linux 的/mnt/hgfs/目录下,从而完成windows 与 linux 间的共享问题。1运行虚拟机 VMWare 软件,点击菜单 VM 中的 Settings 选项。2在出现的设置页面中,选择 Shared Folders,确认以下内容:虚拟机中设置的 Windows 主机共享文件夹名称为 share,指向包含交叉工具链和 uClinux 压缩包的文件夹 D:share。系统启动后,虚拟机中会把这个共享文件夹挂接到/mnt/hgfs 中。在虚拟机中的 Linux 系统中,用户可通过 /mnt/hgfs/share/访问到Wind

    14、ows 文件夹。由下图可以看出已经在 hgfs 下出现了 share 文件夹8.4.2 建立交叉编译环境1. 在虚拟机中以用户名 root 登陆,在/home 下建立 embed 文件夹,然后在embed 文件下建立 microblaze-elf-tools 文件夹。输入命令:cd /homemkdir embedcd embedmkdir microblaze-elf-tools2从 Windows 主机中将交叉工具链(microblaze-elf-tools-20060213.tar.gz)复制到指定的目录(如 D:share)下。在虚拟机终端中输入命令:cp /mnt/hgfs/shar

    15、e/microblaze-elf-tools-20060213.tar.gz /home/embed/microblaze-elf-tools 3解压交叉工具链的压缩包。输入命令:tar -zxvf microblaze-elf-tools-20060213.tar.gz4打开当前用户的.bash_profile 文件,修改/root 目录下的该文件。输入命令:vi /.bash_profile把 microblaze 交叉工具链所在的路径加到 PATH 中,即PATH=/home/embed/microblaze-elf-tools/bin:$PATH5执行如下命令,使路径设置生效:sour

    16、ce /.bash_profile执行如下命令,检查路径设置是否已经生效:echo $PATH6显示 MicroBlaze 交叉工具链的版本信息。输入命令:mb-gcc v将出现以下画面:则说明 MicroBlaze 交叉工具链安装成功。7.接下去,需要安装 uClinux 源码包。首先将 uClinux 源码包(uClinux-dist-20060803.tar.bz2)复制到指定的目录(如/home/embed)下。cp /mnt/hgfs/share/uClinux-dist-20060803.tar.bz2 /home/embed切换到用户目录/home/embed 中,解压 uCli

    17、nux 源码包。使用命令:cd /home/embedtar jxvf uClinux-dist-20060803.tar.bz2切换到 uClinux 目录下。输入命令:cd uClinux-dist然后显示 uClinux 的目录结构,输入命令:ls l将出现以下画面:则说明 uClinux 源码包已经安装好了。8.5 uClinux 基本配置1将 FPGA 工程文件夹下microblaze_0libsrcuclinux_v1_00_d autoconfig.in 文件拷贝到 uClinux-dist 下的 linux-2.4.x/arch/microblaze/platform/ucli

    18、nux-auto 目录下。cd uClinux-distcp /mnt/hgfs/share/autoconfig.in linux-2.4.x/arch/microblaze/platform/uclinux-auto2转换 autoconfig.in 的格式。输入命令:vi linux-2.4.x/arch/microblaze/platform/uclinux-auto/autoconfig.in将出现 vi 的编辑界面,在 vi 的命令行模式输入以下命令::set ff=unix然后保存退出。输入命令::wq这样,就完成了 autoconfig.in 的导入工作。3将驱动程序文件(/C

    19、hapter8/Src/下的 xup_v2pro_led.c 和xup_v2pro_dip.c)复制到指定的目录(linux-2.4.x/drivers/char)下,并切换到指定的目录。4修改当前目录(linux-2.4.x/drivers/char)下的 Config.in 文件,加入以下语句:tristate LED CONFIG_DRIVER_LEDtristate DIP CONFIG_DRIVER_DIP修改后,保存退出。5.修改当前目录(linux-2.4.x/drivers/char )下的 Makefile 文件,加入以下语句:obj-$(CONFIG_DRIVER_DIP)

    20、 += xup_v2pro_dip.oobj-$(CONFIG_DRIVER_LED) += xup_v2pro_led.o并保存退出。6确认当前目录是 uClinux-dist。输入命令:pwd7清除以前的编译记录。输入命令:make mrproper i来彻底清楚各种不稳定的中间编译结果。8启动 uClinux 图形配置界面。输入命令:make menuconfig将出现以下界面:9进入 Vendor/Product Selection 菜单。在 Vendor 中选择 Xilinx,在 Xilinx Product 中选择 uclinux-auto。然后选择 Exit,退到 Main Me

    21、nu。10在 MainMenu 选择 Kernel/Library/Defaults Selection 选项,进入子菜单。在Kernel Version 中选择 linux-2.4.x,在 Libc Version 中选择 uClibc;另外,需要选中 Customize Kernel Settings 和 Customize Vendor/User Settings 两个选项。然后选择 Exit,退到 Main Menu。在 Main Menu 里选择退出,会出现以下界面:选择 yes,保存新的 kernel 配置。11期间会出现如下图所示的询问,LED 和 DIP 均选择 m,表示以 m

    22、odule 模块方式加载 LED 及 DIP 驱动12接着,会弹出 kernel 个性化设置的界面。15在 Main Menu 里选择 Processor type and features 选项。进入Processor type and features 子菜单后,选择 Console on UARTLITE 和Ethernet driver,然后退到 Main Menu。16进入 Memory Technology Devices(MTD)子菜单,然后进入RAM/ROM/Flash chip drivers取消 Detect flash chips by Common Flash Inte

    23、rface(CFI) probe 与 Detect JEDEC JESD21c compatible flash chips 项的选择。17然后退出到 Memory Technology Devices(MTD)菜单,进入 Mapping drivers for chip access 菜单:在 Mapping drivers for chip access 子菜单中,确认 Generic uClinux RAM/ROM filesystem support 项被选中,而其他选项均没选中。然后选择 Exit,退出 Main Menu。18在 Main Menu 中,进入 Block devic

    24、es 菜单,确认 Initial RAM disk(initrd) support 的选项没有被选中。然后选择 Exit,退出 Main Menu。19进入 File Systems 菜单:确认选择/dev file system support(EXPERIMENTAL)和它的子选项(Automatically mount at boot 和 Debug devfs) 。然后退出此菜单。20在 Main Menu 里选择 Character Devices 选项。进入 Character Devices子菜单后,选择 LED 和 DIP 的状态为 M(编译器会把这个驱动编译成一个独立的内核 module,可以在系统中动态加载和移除使用 insmod 加载/rmmod移除这个驱动模块)

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:uClinux交叉编译环境的搭建.doc
    链接地址:https://www.docduoduo.com/p-7465269.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开