PetaLinux工程更新HDF文件的脚本
时间:2021-09-24
本文章向大家介绍PetaLinux工程更新HDF文件的脚本,主要包括PetaLinux工程更新HDF文件的脚本使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
背景
工程师可能同时使用多个Vivado工程,以便测试不同的硬件配置。所以需要让一个PetaLinux工程支持多个Vivado工程。
Vivado工程更改后,PetaLinux工程需要更新HDF文件。另外最好在PetaLinux工程里记录使用的所有硬件相关文件,比如bit、HDF文件等。以便将来检查对应的硬件设计。
下面是一个脚本,可以自动备份以前的硬件相关文件,再从Vivado工程取得最新的硬件相关文件;并且执行命令,让PetaLinux工程更新HDF文件。脚本需要两个参数,第一个是Vivado工程的名字,第二个是Vivado工程的目录。
使用这个脚本,可以更方便的让一个PetaLinux工程,支持多个Vivado工程。
##
# Copyright By Schips, All Rights Reserved
# https://gitee.com/schips/
#
# File Name: petalinuxProject_updateHDF.sh
# Created : 2020-08-05 08:55:56
#
##
# Engineer may have several Vivado project that has same name.
# But each project may have different configuration.
# So each project is located in different directory.
# For example, there are three hardware Description directory:
# hardwareDescription_v1;
# hardwareDescription_v2;
# vivado_project/xx.sdk;
# You can use following command to swith the hardware platform for petalinx project:
# peta-update-hdf.sh petalinux_Project hardwareDescription_v1
# peta-update-hdf.sh petalinux_Project hardwareDescription_v2
# ...
# peta-update-hdf.sh petalinux_Project vivado_project/xx.sdk
# peta-update-hdf.sh petalinux_Project petalinux_Project/backup/hdf-xx
#!/bin/sh
help () {
echo "ERROR : Invalid arguments"
echo " eg:"
echo " $0 VivadoProject HdfDirectory"
exit
}
if [ ! -d "$1" ]; then
help
fi
if [ ! -d "$2" ]; then
help
fi
command -v petalinux-config >/dev/null 2>&1 || { echo >&2 "Aborted : Require \"petalinux-config\" but not found."; exit 1; }
#BASE=`pwd`
PETALINUX_PROJECT=`cd $1 && pwd`
HDF_DIR=`cd $2 && pwd`
date_time=`date +%0k%0M-%0m:%0d`
BACKUPDIR=${PETALINUX_PROJECT}/backup/hdf-$date_time
## 打印操作信息
echo "========================================================"
echo "Date-Time : $date_time"
echo -e "Vivado Project : $PETALINUX_PROJECT"
echo -e "HDF Directory : $HDF_DIR"
echo -e "Backup files to directory: ${BACKUPDIR}"
## 对原工程创建 备份的目录
mkdir -p ${BACKUPDIR}
## 备份
echo "========================================================"
echo 'Backupping {hdf,bit}'
cp $PETALINUX_PROJECT/project-spec/hw-description/*.hdf ${BACKUPDIR} -v
#mv -f *.hdf ${BACKUPDIR}/
cp $PETALINUX_PROJECT/project-spec/hw-description/*.bit ${BACKUPDIR} -v
#mv -f *.bit ${BACKUPDIR}/
## 不需要(也没有)
#mv -f *.ltx ${BACKUPDIR}/
## 打印备份结果
echo 'Backupped {hdf,bit} '
echo ${BACKUPDIR}
ls -l ${BACKUPDIR}
#ls -l ${HDF_DIR}/*.hdf
echo "========================================================"
echo "Updating HDF"
echo "petalinux-config --oldconfig --get-hw-description=${HDF_DIR}/"
#cp ${HDF_DIR}/*.hdf /tmp/PETALINUX_PROJECT -v
#cp ${HDF_DIR}/*.bit /tmp/PETALINUX_PROJECT -v
cd ${PETALINUX_PROJECT} && petalinux-config --oldconfig --get-hw-description=${HDF_DIR}/
ret=$?
#cd $BASE
exit $ret
参考链接
https://forums.xilinx.com/t5/嵌入式-工具-软件开发/分享-PetaLinux工程更新HDF文件的脚本/td-p/999662
原文地址:https://www.cnblogs.com/chenj-nry/p/15328622.html
- Java基础-20(02)总结,递归,IO流
- Hive四种数据导入方式
- 34c3 部分Web Writeup
- 原来Oracle也不喜欢“蜀黍"(r6笔记第54天)
- Java基础19(01)总结IO流,异常try…catch,throws,File类
- 使用shell生成orabbix自动化配置脚本(r6笔记第53天)
- 现在 tensorflow 和 mxnet 很火,是否还有必要学习 scikit-learn 等框架?
- 数据的标准化与中心化以及R语言中的scale详解
- Java基础19(02)总结IO流,异常try…catch,throws,File类
- HTML5 — header
- 两条报警信息的分析(第二篇)(r6笔记第71天)
- 两条报警信息的分析(第一篇) (r6笔记第70天)
- R-求y=sin(X) 0-PI 面积代码
- Facebook 发布 wav2letter 工具包,用于端到端自动语音识别
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JDBC 技术应用实践:网上书城后台管理系统
- 思科模拟器:路由器基本配置
- 思科模拟器:实验五——高级路由实验
- 从零开始重新认识 SpringMVC
- 字节跳动Android实习面试凉凉经,两轮面试我被完虐了...
- 高效、简单、方便管理与维护的开源运维工单系统
- python数据库入门编程。
- EasyExcel导出自定义合并单元格策略
- CMake学习笔记
- 性能分析(2)- 应用程序 CPU 使用率过高案例
- 性能测试必备知识(7)- 深入理解“CPU 使用率”
- Jmeter 常用函数(31)- 详解 __iterationNum
- Jmeter 常用函数(30)- 详解 __if
- Jmeter 常用函数(29)- 详解 __eval
- Jmeter 常用函数(28)- 详解 __FileToString