【原创】Altera系列工具(QuartusII、SOPC Builder、NiosII IDE)工作过程分析
2010-10-24 17:29
447 查看
1. NiosII SBTE Build Project过程分析
NiosII GNU C编译工具:(1)nios2-elf-gcc
(2)nios2-elf-ar
(3)nios2-elf-g++
(4)nios2-elf-insert
(5)nios2-elf-objdump
Prj_Name:Prj_***
Prj_BSP_Name:Prj_***_bsp
点击“Build Project”,出现如下编译提示信息:
make all //all:两个工程Prj_***和Prj_***_bsp
//开始编译Prj_***_bsp工程
Info:Building ../Prj_***_bsp
make –no-print-directory –C ../Prj_***_bsp
//调用nios2-elf-gcc编译
//以下编译的这些文件位于Prj_***_bsp/HAL/src目录下
Compiling alt_alarm_start.c
Compiling alt_busy_sleep.c
Compiling alt_close.c
Compiling alt_dcache_flush.c
Compiling alt_dcache_flush_all.c
Compiling alt_dcache_flush_no_writeback.c
Compiling alt_dev.c
Compiling alt_llist_insert.c
Compiling alt_dma_rxchan_open.c
Compiling alt_dma_txchan_open.c
Compiling alt_do_ctors.c
Compiling alt_do_dtors.c
Compiling alt_env_lock.c
Compiling alt_environ.c
Compiling alt_errno.c
Compiling alt_exception_entry.S
Compiling alt_exception_muldiv.S
Compiling alt_exception_trap.S
Compiling alt_execve.c
Compiling alt_exit.c
Compiling alt_fcntl.c
Compiling alt_fd_lock.c
Compiling alt_fd_unlock.c
Compiling alt_find_dev.c
Compiling alt_find_file.c
Compiling alt_flash_dev.c
Compiling alt_fork.c
Compiling alt_fs_reg.c
Compiling alt_stat.c
Compiling alt_get_fd.c
Compiling alt_getchar.c
Compiling alt_getpid.c
Compiling alt_gettod.c
Compiling alt_gmon.c
Compiling alt_icache_flush.c
Compiling alt_icache_flush_all.c
Compiling alt_iic.c
Compiling alt_iic_isr_register.c
Compiling alt_instruction_exception_entry.c
Compiling alt_instruction_exception_register.c
Compiling alt_io_redirect.c
Compiling alt_ioctl.c
Compiling alt_irq_entry.S
Compiling alt_irq_handler.c
Compiling alt_irq_register.c
Compiling alt_irq_vars.c
Compiling alt_isatty.c
Compiling alt_kill.c
Compiling alt_link.c
Compiling alt_load.c
Compiling alt_log_macro.S
Compiling alt_log_printf.c
Compiling alt_lseek.c
Compiling alt_main.c
Compiling alt_malloc_lock.c
Compiling alt_mount.S
Compiling alt_open.c
Compiling alt_printf.c
Compiling alt_putchar.c
Compiling alt_putstr.c
Compiling alt_read.c
Compiling alt_release_fd.c
Compiling alt_remap_cached.c
Compiling alt_remap_uncached.c
Compiling alt_rename.c
Compiling alt_sbrk.c
Compiling alt_settod.c
Compiling alt_software_exception.S
Compiling alt_stat.c
Compiling alt_tick.c
Compiling alt_times.c
Compiling alt_uncached_free.c
Compiling alt_uncached_malloc.c
Compiling alt_unlink.c
Compiling alt_usleep.c
Compiling alt_wait.c
Compiling alt_write.c
Compiling altera_nios2_irq.c
Compiling crt0.S
//以上编译的这些文件位于Prj_***_bsp/HAL/src目录下
//以下编译的这些文件位于Prj_***_bsp/目录下
Compiling alt_sys_init.c
//以上编译的这些文件位于Prj_***_bsp/目录下
//以下编译的这些文件位于Prj_***_bsp/drivers/src目录下
Compiling altera_avalon_jtag_uart_fd.c
......//接着编译各个IP核对应的驱动源文件
//以上编译的这些文件位于Prj_***_bsp/drivers/src目录下
//调用nios2-elf-ar汇编
Creating libhal_bsp.a //将前面编译生成的所有*.o文件汇编为libhal_bsp.a
//至此,BSP build complete,即Prj_***_bsp工程编译完毕
//开始编译Applications
Info:Compiling app_***.c to obj/app_src.o //调用nios2-elf-gcc编译
Info:Linking ***.elf //调用nios2-elf-g++/nios2-elf-insert链接、更改模式
Info:Creating ***.objdump //调用nios2-elf-objdump
//至此,Prj_*** build complete,NiosII App编译完毕。
2. SOPC Builder Generate过程分析
SOPC Builder中建立的NiosII系统记为:Directory/NiosII_***系统构建完成后,点击“Generate”,出现下列提示信息:
Info:Wrote Directory/NiosII_***.sopcinfo
Info:NiosII_***:Wrote Directory/NiosII_***.html
//------
Info:NiosII_***:Generating QIP file //产生QIP文件
Info:Info:Running QuartusII Shell
Info:Info:Command:quartus_sh –t sopc_add_qip_file.tcl
Info:Info:Evaluation of Tcl script sopc_add_qip_file.tcl was successful
Info:Info:QuartusII Shell was successful
//------
Info:Starting PTF file elaboration //PTF文件
…..
Info:Finished elaborating PTF file
//------
Executing:sopc_builder –classic –generate Directory/NiosII_***.ptf
Info:Starting generation
……
No .sopc_builder configuration file (!) //缺少文件
### mk_custom_sdk starting
### Reading project Directory/NiosII_***.ptf
### Finding all CPUs
### Finding all available components
### Reading Directory/.sopc_builder/install.ptf
### Found No.* components
### Finding all peripherals
### Finding software components
### ……
### mk_custom_sdk finishing
### Starting generation for system:NiosII_***
……
### Running Generator Program for cpu //提示产生NiosII,之后是详细过程
### Running Generator Program for sysid //提示产生sysid模块
### … //依次提示产生各个IP组件
### Generating Quartus symbol for top level:NiosII_*** //产生QuartusII符号
### Creating system-generation script:Directory/NiosII_***_generation_script
### Running setup for HDL simulator:modelsim
### The following system items have been generated:
(1)SOPC Builder database:Directory/NiosII_***.ptf
(2)System HDL Model:Directory/NiosII_***.v
(3)System Generation Script:Directory/NiosII_***_generation_script
Info:System generation was successful //NiosII_***系统生成
3. QuartusII Compiling过程分析
QuartusII编译工具:(1)quartus_map
(2)quartus_fit
(3)quartus_asm
(4)quartus_sta
QuartusII硬件工程记为:Prj_***
点击“Starting Compilation”后,出现如下提示信息:
Info:Running QuartusII Analysis & Synthesis //分析、综合 开始
Info:Command:quartus_map –read_settings_files=on –write_settings_files=off Prj_*** -c Prj_***
Info:Parallel compilation is enabled and will use 2 of the 2 processors detected
……
Info:QuartusII Analysis & Synthesis was successful //分析、综合 完成
……
Info:Running QuartusII Fitter //适配 开始
Info:Command:quartus_fit –read_settings_files=off –write_settings_file=off Prj_*** -c Prj_***
Info:Parallel compilation is enabled and will use 2 of the 2 processors detected
Info:Selected device EP3C55F484C8 for design “Prj_***”
……
Info:Fitter preparation operations ending
Info:Fitter placement preparation operations beginning
Info:Fitter placement preparation operations ending
Info:Fitter placement operations beginning
Info:Fitter placement was successful
Info:Fitter routing operations beginning
Info:Fitter routing operations ending
……
Info:Started post-fitting delay annotation
Info:Delay annotation completed successfully
……
Info:QuartusII Fitter was successful //适配 完成
……
Info:Running QuartusII Assembler //实现 开始
Info:Command:quartus_asm –read_settings_files=off –write_settings_file=off Prj_*** -c Prj_***
……
Info:Running QuartusII TimeQuest Timing Analyzer //时序分析 开始
Info:Command:quartus_sta Prj_*** -c Prj_***
Info:Parallel compilation is enabled and will use 2 of the 2 processors detected
……
Info:Assembler is generating device programming files
……
Info:QuartusII Assembler was successful //实现 完成
……
Info:QuartusII TimeQuest Timing Analyzer was successful //时序分析 结束
……
Info:QuartusII Full Compilation was successful //QuartusII编译完成
相关文章推荐
- [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - 优化工作
- [原创][连载].基于SOPC的简易数码相框 – Nios II SBTE部分(软件部分) - 配置工作
- SOPC开发中软件开发工具:Nios II IDE 与 Nios II SBT for Eclipse的区别
- [转]NIOS_II的Boot过程分析
- [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分)- ADS7843触摸屏驱动测试
- 《数据分析实战 基于EXCEL和SPSS系列工具的实践》一3.3 耗时耗力的数据整理过程
- (转)如何加速Altera的EDA工具? (IC Design) (Quartus II) (Nios II) (SOPC Builder)
- [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - TFT-LCD(控制器为ILI9325)驱动
- Nios II的Boot过程分析(转载)
- [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - SD卡(SPI模式)驱动
- (原創) 如何加速Altera的EDA工具? (IC Design) (Quartus II) (Nios II) (SOPC Builder)
- (原创)NIOSII IDE下控制LCM显示
- (筆記) Altera所提供的在線技術培訓 (SOC) (Quartus II) (Nios II) (SOPC Builder) (SignalTap II) (Verilog) (VHDL)
- 网络协议分析工具Wireshark的使用、用Wireshark观察ARP协议以及ping命令的工作过程分析以太网报文格式
- (原創) 哪裡有DE2-70的Nios II reference design可以參考? (SOC) (DE2-70) (Nios II) (SOPC Builder)
- [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - 从SD卡内读取图片文件,然后显示在TFT-LCD上
- (原創) DE2_NIOS_Lite 1.1 (SOC) (Nios II) (SOPC Builder) (μC/OS-II) (DE2)
- APP性能优化系列:常见优化分析工具列举
- 【小白的java成长系列】——java ide 开发工具eclipse的操作
- Flume-NG启动过程源码分析(三)(原创)