0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ZYNQ开发实例:在ZedBoard中的QNX操作系统运行过程

454398 来源:CSDN 作者:恰_同学少年 2020-12-23 11:56 次阅读

QNX版本:QNX6.6
宿主系统:Windows
交互系统:Debin
开发板:MIZ702 完全兼容ZedBoard

开发流程:
1、打开QNX Momentics IDE开发环境,File->QNX Source Package and BSP->Next->选择从官网下的BSP压缩包一路Next Finish。

2、在IDE左侧的工程目录下找到新导入的BSP文件,编译工程。Note:在编译BSP之前将/BSP/image/mkflashimage文件的26行的Xilinx SDK路径根据自己的安装情况进行修改。后面附修改后的代码。

3、ZYNQ启动所需要的文件有BOOT.bin和OS镜像文件。若宿主操作系统为Linux,BSP编译完成后即可获得系统需要的文件。NOTE:若使用的开发板为ZC702 EVM则不需要任何修改,若使用的开发板为ZedBoard或者自制板卡需要将image文件下的fsbl进行替换。

若宿主操作系统为Windows,在编译完工程后由于mkflashimage脚本文件无法执行,不能生成现成得的脚本文件。我们可以查看mkflashimage的代码 其主要完成了两个任务:1、将镜像名字改成QNX-IFS 2、生成BOOT.bin 这些我们可以不用脚本来实现。我们可以自己手动修改镜像名字,并使用Xilinx SDK生成BOOT.bin文件。

当然也可以使用mkflashimage脚本,但是有些繁琐,首先WIN+R调出CMD命令框,然后定位到QNX Momentics IDE安装路径下(我的是E盘QNX),执行qnx660-env,bat文件。

然后定位到BSP/image路径下,执行sh mkflashimage

这时候在image下就生成了我们需要的QNX-IFS镜像和BOOT.bin。NOTE:生成BOOT.bin的原材料有fsbl和IPL,fsbl要和自己板子匹配,上文已说明。

4、将SD卡格式化为FAT32类型,并将QNX-IFS 和 BOOT.bin拷到SD卡中。将板子上电运行。可以看到QNX操作系统已经运行了。

下面是mkflashimage代码
#!/bin/sh
# script to build a BOOT.bin binary containing the IPL and boot image for ZC702EK.

echo Generating QNX-IFS...
cp ifs-xzynq-zc702.raw QNX-IFS

# Removing previous output binary
if [ -f BOOT.bin ]
then
rm BOOT.bin
fi

# Copy the ELF build output to current folder
# Use install/../mkflashimage if it exists; otherwise use prebuilt/../mkflashimage
if [ -f ../install/armle-v7/boot/sys/ipl-xzynq-zc702 ]
then
cp ../install/armle-v7/boot/sys/ipl-xzynq-zc702 ipl-xzynq-zc702.elf
else
echo Using prebuilt ipl-xzynq-zc702. Run a make command if you wish to change the ipl.
cp ../prebuilt/armle-v7/boot/sys/ipl-xzynq-zc702 ipl-xzynq-zc702.elf
fi

echo Generating BOOT.bin...
# Use bootgen to create the BOOT.bin that contains FSBL + IPL
# Please modify the SDK version (2014.x) to match with the currect version of the tool
#/opt/Xilinx/SDK/2014.1/bin/bootgen -image boot.bif -o i BOOT.bin
E:/vivado/SDK/2016.2/bin/bootgen -image boot.bif -o i BOOT.bin
# Check that it has been created
if [ -f BOOT.bin ]
then
echo Binary ready to be copied
else
echo Failed to create boot image
fi

参考文献:
[1]qnx官方文档 bps userguide for zc702
[2]qnx官方文档 build an embedded system

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6808

    浏览量

    123292
  • qnx
    qnx
    +关注

    关注

    0

    文章

    70

    浏览量

    26181
  • Zynq
    +关注

    关注

    10

    文章

    609

    浏览量

    47176
收藏 人收藏

    评论

    相关推荐

    ZYNQ Linux操作系统移植四个部分说明文档

    ,devicetree以树的形式对zynq相连的硬件设备进行描述,kernel是加载的操作系统内核,ramdisk是操作系统启动之后挂载的文件系统。     二、启动
    的头像 发表于 12-14 14:59 3810次阅读

    什么是QNX操作系统

    网络通信和中断处理,其进程独立的地址空间中运行。所有其他操作系统服务都实现为协作的用户进程,因此QNX内核非常小巧(QNX4.x大约为12
    发表于 06-07 14:16

    基于Beaglebone的QNX嵌入式实时系统

    ARM 微处理器上运行开发 PC 相同的全面 Linux 操作系统小型嵌入式获得未来应用所需的全部 I/O。”  支持单线缆连接以
    发表于 10-22 15:22

    Xilinx Zynq 7000 EPP与ZedBoard之间有什么区别?

    )。两块板之间的主要区别是什么?特别是我需要一些与以下主题相关的细节:1)操作系统:我可以两块板上安装相同的操作系统吗?2)开发工具:Web Pack和Embedded Editio
    发表于 09-05 09:49

    基于QNX实时操作系统的图形控制界面设计

    介绍了QNX实时操作系统图形界面开发环境PhAB下软件设计的特点,并结合船舶动力装置控制系统的具体要求,设计了船舶动力装置控制
    发表于 07-08 14:41 32次下载

    什么是QNX操作系统

    什么是QNX操作系统 QNX是一个实时的、可扩充的操作系统;它部分遵循POSIX相关标准,如POSIX.1b 实时扩展;它提供了一个很小的微内核以及一些可
    发表于 06-17 00:35 5081次阅读

    基于QNX实时操作系统的图形控制界面设计

    基于QNX实时操作系统的图形控制界面设计 介绍了QNX实时操作系统图形界面开发环境PhAB下
    发表于 10-27 11:16 1676次阅读
    基于<b class='flag-5'>QNX</b>实时<b class='flag-5'>操作系统</b>的图形控制界面设计

    QNX推出QNX Neutrino实时操作系统

    QNX软件系统有限公司日前宣布QNX Neutrino 实时操作系统(RTOS) Certified Plus产品即将问世,这是首款能够同时提供产品安全及信息安全双重认证的实时
    发表于 11-03 09:25 2097次阅读

    QNX操作系统下的Modbus串口通信设计

    分析QNX 设备驱动程序体系结构和Modbus 协议的基础上,提出QNX 操作系统串行接口设备驱动程序设计的一般方法,用C语言设计Modbus
    发表于 12-13 17:11 33次下载

    QNX实时操作系统及应用分析

    QNX 实时操作系统的发展历程、主要特点、最新技术和应用领域进行了概括性描述,对于QNX 嵌入式用户界面和QNX 多媒体解决方案等最新应用进行了分析。
    发表于 12-13 17:12 34次下载
    <b class='flag-5'>QNX</b>实时<b class='flag-5'>操作系统</b>及应用分析

    微型嵌入式实时操作系统SmallRTOSZYNQ平台上的移植

    官方网站下载微型嵌入式实时操作系统SmallRTOS的最新版,压缩包中找到\Platform\SmallRTOS_Zynq_Vivado_v1.00a文件夹,该文件夹里面的文件即是官方提供的移植代码
    发表于 02-09 05:07 474次阅读
    微型嵌入式实时<b class='flag-5'>操作系统</b>SmallRTOS<b class='flag-5'>在</b><b class='flag-5'>ZYNQ</b>平台上的移植

    运行Zynq SoC上µITRON(操作系统)的继任者:eT

    eT-Kernel是由eSOL公司推出的基于T-Engine的操作系统,有望成为?ITRON操作系统的继任者,可在Zynq SoC上运行
    发表于 02-10 19:31 1364次阅读

    基于QNX操作系统下的Modbus串口通信设计

    基于QNX操作系统下的Modbus串口通信设计
    发表于 10-30 14:51 16次下载
    基于<b class='flag-5'>QNX</b><b class='flag-5'>操作系统</b>下的Modbus串口通信设计

    基于QNX实时操作系统及应用分析

    基于QNX实时操作系统及应用分析
    发表于 10-30 14:53 12次下载
    基于<b class='flag-5'>QNX</b>实时<b class='flag-5'>操作系统</b>及应用分析

    linux下开发基于zynq的嵌入式操作系统流程

    本文档内容介绍了linux下开发基于zynq的嵌入式操作系统流程,供参考
    发表于 03-15 16:48 17次下载