niosii 改变软核之后重新编译方法

摘要:
发现BspGeneratedLocation节点和SopcDesignFile节点分别所指示的BSP生成路径和SOPC设计文件路径均是原有软件工程路径和硬件工程路径:123hal4default52013-4-2210:52:05613665991250937D:\_prjAlteraDE2_70_NIOS_VGASoftwareVGA_bsp8settings.bsp9D:\_prjAlteraDE2_70_NIOS_VGADE2_70_SOPC.sopcinfo10default11cpu121.913...图示:以此将其修改成新的软件工程和硬件工程路径即可。再重新生成bsp再查看bsp信息,已经识别到新的sopcinfo文件了重新编译原工程,可以完成编译并生成可执行文件elf========================注:这种方法适应于QuartuII10.0/NIOSIDE10.0以后的版本,对于QuartuII10.0/NIOSIDE10.0以前版本,修改的是syslib里面的配置文件system.stf文件。

操作系统:Win7 64 bit

开发环境:Quartus II 12.0 (64-Bit) +Nios II 12.0 Software Build Tools for Eclipse

使用Quartus 时,有时候出于备份的考虑,或者从网上下载别人的硬件工程,硬件工程目录会改变,导致NIOS工程不能找到sopcinfo文件,从而不能进行下一步软件开发。比较笨重的方法是新建一个NIOS工程,然后将原始的NIOS工程源文件添加到这个新工程中。这样的做法比较繁琐,而且新建的新工程需要重新编译BSP工程,带来不必要的麻烦。比较这里介绍一种较为简单的方法。

例如:

原始硬件工程目录(sopcinfo文件所在目录)
D:\_prjAlteraDE2_70_NIOS_VGA
NIOS工程目录
D:\_prjAlteraDE2_70_NIOS_VGASoftware

修改之后的:

新的硬件工程目录(新sopcinfo文件所在目录)
E:\_prjbakAlteraDE2_70_NIOS_VGA
新的NIOS工程目录 E:\_prjbakAlteraDE2_70_NIOS_VGASoftware

1、发现问题

启动NIOS ECLIPSE,将workspace切换到新的NIOS工程目录下,即E:\_prjbakAlteraDE2_70_NIOS_VGASoftware。这个时候,如果直接编译原工程,会提示找不到sopcinfo文件:

make all 
Info: Building ../VGA_bsp/
make --no-print-directory -C ../VGA_bsp/
makefile:580: Warning: SOPC File D:\_prjAlteraDE2_70_NIOS_VGADE2_70_SOPC.sopcinfo could not be found. 
[BSP build complete]
[VGA build complete]

这个时候,如果查看bsp信息,会提示bsp找不到sopcinfo文件和sopc设计,CPU之类的信息同样不会找到了

niosii 改变软核之后重新编译方法第1张

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:\_prjAlteraDE2_70_NIOS_VGASoftwareVGA_bsp</BspGeneratedLocation>
 8         <BspSettingsFile>settings.bsp</BspSettingsFile>
 9         <SopcDesignFile>D:\_prjAlteraDE2_70_NIOS_VGADE2_70_SOPC.sopcinfo</SopcDesignFile>
10         <JdiFile>default</JdiFile>
11         <Cpu>cpu</Cpu>
12         <SchemaVersion>1.9</SchemaVersion>
13         <Setting>
...
复制代码

图示:

niosii 改变软核之后重新编译方法第4张

以此将其修改成新的软件工程和硬件工程路径即可。修改后的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:\_prjbakAlteraDE2_70_NIOS_VGASoftwareVGA_bsp</BspGeneratedLocation>
 8         <BspSettingsFile>settings.bsp</BspSettingsFile>
 9         <SopcDesignFile>E:\_prjbakAlteraDE2_70_NIOS_VGADE2_70_SOPC.sopcinfo</SopcDesignFile>
10         <JdiFile>default</JdiFile>
11         <Cpu>cpu</Cpu>
12         <SchemaVersion>1.9</SchemaVersion>
13         <Setting>
...
复制代码

图示:

niosii 改变软核之后重新编译方法第7张

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

niosii 改变软核之后重新编译方法第8张

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

niosii 改变软核之后重新编译方法第9张

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

niosii 改变软核之后重新编译方法第10张

========================

注:这种方法适应于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
ios_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>
复制代码

免责声明:文章转载自《niosii 改变软核之后重新编译方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Windows下打Nuget包并上传至ProGet(5.0.11)私有服务器记录笔记jmeter之认识元器件及功能 大杂烩下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

BSP模型

http://www.uml.org.cn/yunjisuan/201212191.asp Hama中最关键的就是BSP(Bulk Synchronous Parallel-“大型”同步模型)模型, BSP的概念由Valiant(1990)提出的,“块”同步模型,是一种异步MIMD-DM模型,支持消息传递系统,块内异步并行,块间显式同步,该模型基于一个m...

(转)NIOS II IDE 9.1(Nios II Software Build Tools for Eclipse) 新特性

Nios II嵌入式设计包(Embedded Design Suite, EDS)Nios II嵌入式设计包集成了一系列的尖端的软件工具、实用工具、库文件以及驱动程序,这些可以帮助你将产品快速地推向市场。新的Nios II嵌入式设计包提供了以下软件开发工具:1. 为Eclipse提供的Nios II软件构建工具(Nios II Software Buil...