sopcinfo路径改变,nios工程该怎么办?
操作系统:Win7 64 bit
开发环境:Quartus II 14.0 (64-Bit) + Nios II EDS 14.0
使用Quartus 时,有时候出于备份的考虑,或者从网上下载别人的硬件工程, 硬件工程目录会改变,导致NIOS工程不能找到sopcinfo文件,从而不能进行下一步软件开发。比较笨重的方法是新建一个NIOS工程,然后将原始的NIOS工程源文件添加到这个新工程中。这样的做法比较繁琐,而且新建的新工程需要重新编译BSP工程,带来不必要的麻烦。比较这里介绍一种较为简单的方法。
例如:
原始硬件工程目录(sopcinfo文件所在目录)
D:\_prj\Altera\DE2_70_NIOS_VGA\ NIOS工程目录
D:\_prj\Altera\DE2_70_NIOS_VGA\Software
修改之后的:
新的硬件工程目录(新sopcinfo文件所在目录)
E:\_prjbak\Altera\DE2_70_NIOS_VGA\
新的NIOS工程目录
E:\_prjbak\Altera\DE2_70_NIOS_VGA\Software
1、发现问题
启动NIOS ECLIPSE,将workspace切换到新的NIOS工程目录下,即E:\_prjbak\Altera\DE2_70_NIOS_VGA\Software。这个时候,如果直接编译原工程,会提示找不到sopcinfo文件:
make all
Info: Building ../VGA_bsp/
make --no-print-directory -C ../VGA_bsp/
makefile:580: Warning: SOPC File D:\_prj\Altera\DE2_70_NIOS_VGA\DE2_70_SOPC.sopcinfo could not be found.
[BSP build complete]
[VGA build complete]
这个时候,如果查看bsp信息,会提示bsp找不到sopcinfo文件和sopc设计,CPU之类的信息同样不会找到了

2、解决问题
打开bsp工程的settings.bsp文件,这是一个xml格式的配置文件。发现BspGeneratedLocation节点和SopcDesignFile节点分别所指示的BSP生成路径和SOPC设计文件路径均是原有软件工程路径和硬件工程路径:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <sch:Settings xmlns:sch="http://www.altera.com/embeddedsw/bsp/schema">
3 <BspType>hal</BspType>
4 <BspVersion>default</BspVersion>
5 <BspGeneratedTimeStamp>2013-4-22 10:52:05</BspGeneratedTimeStamp>
6 <BspGeneratedUnixTimeStamp>1366599125093</BspGeneratedUnixTimeStamp>
7 <BspGeneratedLocation>D:\_prj\Altera\DE2_70_NIOS_VGA\Software\VGA_bsp</BspGeneratedLocation>
8 <BspSettingsFile>settings.bsp</BspSettingsFile>
9 <SopcDesignFile>D:\_prj\Altera\DE2_70_NIOS_VGA\DE2_70_SOPC.sopcinfo</SopcDesignFile>
10 <JdiFile>default</JdiFile>
11 <Cpu>cpu</Cpu>
12 <SchemaVersion>1.9</SchemaVersion>
13 <Setting>
...

图示:

以此将其修改成新的软件工程和硬件工程路径即可。修改后的settings.bsp文件:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <sch:Settings xmlns:sch="http://www.altera.com/embeddedsw/bsp/schema">
3 <BspType>hal</BspType>
4 <BspVersion>default</BspVersion>
5 <BspGeneratedTimeStamp>2013-4-22 10:52:05</BspGeneratedTimeStamp>
6 <BspGeneratedUnixTimeStamp>1366599125093</BspGeneratedUnixTimeStamp>
7 <BspGeneratedLocation>E:\_prjbak\Altera\DE2_70_NIOS_VGA\Software\VGA_bsp</BspGeneratedLocation>
8 <BspSettingsFile>settings.bsp</BspSettingsFile>
9 <SopcDesignFile>E:\_prjbak\Altera\DE2_70_NIOS_VGA\DE2_70_SOPC.sopcinfo</SopcDesignFile>
10 <JdiFile>default</JdiFile>
11 <Cpu>cpu</Cpu>
12 <SchemaVersion>1.9</SchemaVersion>
13 <Setting>
...

图示:

红色部分是修改后的。保存。再重新生成bsp

再查看bsp信息,已经识别到新的sopcinfo文件了

重新编译原工程(如果愿意可以先clean原工程和bsp工程),可以完成编译并生成可执行文件elf

========================
注:这种方法适应于Quartu II 10.0/ NIOS IDE 10.0以后的版本,对于Quartu II 10.0/ NIOS IDE 10.0以前版本,修改的是syslib里面的配置文件system.stf文件。这个文件和settings.bsp类似,也是一个xml文件:

1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <stf>
3 <project ptf="E:\Sample_SOPC\nios_system.ptf" target="Nios II System Library">
4 </project>
5 <cpu name="cpu_0">
6 </cpu>
7 <os_spec clean_exit="yes" direct_drivers="no" exception_stack="no" instruction_emulation="no" name="none (single-threaded)" no_c_plus_plus="no" no_exit="no" profiling="no" small_footprint="no" sopc_component_dir="altera_hal" stack_checking="no" stderr="jtag_uart_0" stdin="jtag_uart_0" stdout="jtag_uart_0">
8 <sys_defines>
9 <define name="alt_max_fd" quote="no" value="32"/>
10 <define name="alt_sys_clk" quote="no" value="none"/>
11 <define name="alt_timestamp_clk" quote="no" value="none"/>
12 </sys_defines>
13 <make_macros>
14 <macro name="alt_sim_optimize" quote="no" value="0"/>
15 </make_macros>
16 </os_spec>
17 <link_spec auto_gen_script="yes">
18 <script name="none">
19 <section memory="onchip_memory2_0" name=".text"/>
20 <section memory="onchip_memory2_0" name=".rodata"/>
21 <section memory="onchip_memory2_0" name=".rwdata"/>
22 </script>
23 </link_spec>
24 </stf>

只需要第三行project ptf节点内容改成新硬件工程的ptf文件路径就可。
sopcinfo路径改变,nios工程该怎么办?的更多相关文章
- iOS pch文件创建使用,和info.plis文件路径改变,路径的设置
一 路径报错: 二 pch创建设置: 一:如果要更改Info.plist与Prefix.pch文件实际路径,也就是实际文件的位置(不是在工程中的组织路径),需要到Build Settings中修改对应 ...
- 关于react-router 路径改变页面没有刷新
routert.js 中: <Router> <Switch> <Route exact path="/" component={Login}> ...
- Tomcat通过配置一个虚拟路径管理web工程
关于虚拟路径.学问javaweb训练课程,如今,鉴于这种情况下老师. 当我们的项目,当在不同的文件夹项目.我们如何使用tomcat去管理web工程. 教师提出的解决方案是 使用虚拟路径方式,并按照实施 ...
- <原创> 通过PEB获得进程路径 (附完整工程)
完整工程:http://files.cnblogs.com/files/Gotogoo/%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86%E5%99%A8%28x86%26%2 ...
- js 获取input file路径改变图像地址
html代码 <img id="newImage" alt="100x100" src="__PUBLIC__/img/1.jpg" ...
- js获取input file路径改变图像地址
版权声明:好歹是我写的或者总结的或者抄的,总待给我个名份吧~ https://blog.csdn.net/sangjinchao/article/details/52250318 html代码 < ...
- 改变eclipse工程中代码的层次结构
1. 代码的层次结构 一般之代码包(package)结构 有两种:扁平结构和继承两种. 扁平结构(flat)如下图所示: 继承结构(hierarchical) 2. 如何修改: 1. 选中packag ...
- js 路径改变时获取url参数
当我们在使用react或vue的router作路由跳转时,为了保持菜单与地址栏状态一致,我们可以使用window.onhashchange捕获#后面的变化 window.onhashchange = ...
- 【小梅哥SOPC学习笔记】NIOS II工程目录改变时project无法编译问题
解决NIOS II工程移动在磁盘上位置后project无法编译问题 说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代 ...
随机推荐
- Java单元测试技术1
另外两篇关于介绍easemock的文章:EasyMock 使用方法与原理剖析,使用 EasyMock 更轻松地进行测试 摘要:本文针对当前业软开发现状,先分析了WEB开发的技术特点和单元测试要解决的问 ...
- 导入和导出表空间:复制文件比mysqldump&restore快
#生成测试数据server1:mysql> CREATE TABLE test (c1 INT PRIMARY KEY)engine = innodb;Query OK, 0 rows affe ...
- F5 BIG-IP负载均衡器配置实例与Web管理界面体验
[文章作者:张宴 本文版本:v1.0 最后修改:2008.05.22 转载请注明出自:http://blog.s135.com/f5_big_ip] 前言:最近一直在对比测试F5 BIG-IP和Cit ...
- HBase(三): Azure HDInsigt HBase表数据导入本地HBase
目录: hdfs 命令操作本地 hbase Azure HDInsight HBase表数据导入本地 hbase hdfs命令操作本地hbase: 参见 HDP2.4安装(五):集群及组件安装 , ...
- [转]String.getBytes()和new String()
在Java中,String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如 byte[] b_gbk = "中&q ...
- [Hibernate] - Criteria Select
使用Hibernate的Criteria做查询. 参考文档: http://docs.jboss.org/hibernate/orm/3.5/reference/zh-CN/html/querycri ...
- $_SERVER 相关变量
PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用. $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root ...
- can't run as root without the -u switch
[root@localhost ~]# /usr/local/memcache/bin/memcached can't run as root without the -u switch [root@ ...
- gcc/g++ 静态动态库 混链接.
我的环境: centos6 x64. gcc4.4.7 在使用gcc/g++ 编译程序时我们希望指向一些库是使用静态的链接方式. 另外的一些是动态的方式. 我以boost 为例. 如果我们要使用静态库 ...
- cgic 写CGI程序
CGIC是C语言CGI库函数,用于编写CGI程序 CGIC 主要完成以下功能: * 对数据进行语法分析 * 接收以 GET 和 PSOT 两种方式发送的数据 * 把 FORM 中的不同域连接成连续的串 ...