安德鲁

[原创][连载].基于SOPC的简易数码相框 – Nios II SBTE部分(软件部分) - 配置工作

0
阅读(3373)

在上一讲中,我们已经成功使用Quartus II和SOPC Builder构建和综合一个带ILI9235 TFT控制器、ADS7843 触摸控制器和SPI SD卡的引脚的Nios II软核系统。下面我们来讲如何在这个软核系统上做一个简易数码相框。首先是一些配置工作。

步骤1 测试Nios II软核是否能正常运行

在之之前,请先下载sof文件到FPGA片内,这样FPGA里面才有Nios II软核存在。

为了方便起见,我们首先使用hello_world模板。



在创建APP工程的同时,BSP工程会自动生成(使用模板的情况下)。

创建好的工程如下:


将APP编译一下,观察文件区别:APP工程多了目标文件夹obj、二进制可执行文件hello_world.elf及其他文件。BSP工程没有变化。


编译信息及结果如下:

**** Build of configuration Nios II for project hello_word ****
	 
	make all
	Info: Building ../hello_word_bsp
	make --no-print-directory -C ../hello_word_bsp
	Compiling alt_alarm_start.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_alarm_start.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_alarm_start.c
	Compiling alt_busy_sleep.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_busy_sleep.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_busy_sleep.c
	Compiling alt_close.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_close.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_close.c
	Compiling alt_dcache_flush.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_dcache_flush.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_dcache_flush.c
	Compiling alt_dcache_flush_all.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_dcache_flush_all.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_dcache_flush_all.c
	Compiling alt_dcache_flush_no_writeback.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_dcache_flush_no_writeback.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_dcache_flush_no_writeback.c
	Compiling alt_dev.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_dev.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_dev.c
	Compiling alt_dev_llist_insert.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_dev_llist_insert.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_dev_llist_insert.c
	Compiling alt_dma_rxchan_open.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_dma_rxchan_open.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_dma_rxchan_open.c
	Compiling alt_dma_txchan_open.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_dma_txchan_open.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_dma_txchan_open.c
	Compiling alt_do_ctors.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_do_ctors.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_do_ctors.c
	Compiling alt_do_dtors.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_do_dtors.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_do_dtors.c
	Compiling alt_env_lock.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_env_lock.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_env_lock.c
	Compiling alt_environ.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_environ.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_environ.c
	Compiling alt_errno.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_errno.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_errno.c
	Compiling alt_exception_entry.S...
	nios2-elf-gcc -MP -MMD -c   -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx    -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED  -Wa,-gdwarf2  -o obj/HAL/src/alt_exception_entry.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_exception_entry.S
	Compiling alt_exception_muldiv.S...
	nios2-elf-gcc -MP -MMD -c   -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx    -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED  -Wa,-gdwarf2  -o obj/HAL/src/alt_exception_muldiv.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_exception_muldiv.S
	Compiling alt_exception_trap.S...
	nios2-elf-gcc -MP -MMD -c   -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx    -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED  -Wa,-gdwarf2  -o obj/HAL/src/alt_exception_trap.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_exception_trap.S
	Compiling alt_execve.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_execve.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_execve.c
	Compiling alt_exit.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_exit.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_exit.c
	Compiling alt_fcntl.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_fcntl.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_fcntl.c
	Compiling alt_fd_lock.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_fd_lock.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_fd_lock.c
	Compiling alt_fd_unlock.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_fd_unlock.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_fd_unlock.c
	Compiling alt_find_dev.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_find_dev.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_find_dev.c
	Compiling alt_find_file.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_find_file.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_find_file.c
	Compiling alt_flash_dev.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_flash_dev.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_flash_dev.c
	Compiling alt_fork.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_fork.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_fork.c
	Compiling alt_fs_reg.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_fs_reg.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_fs_reg.c
	Compiling alt_fstat.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_fstat.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_fstat.c
	Compiling alt_get_fd.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_get_fd.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_get_fd.c
	Compiling alt_getchar.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_getchar.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_getchar.c
	Compiling alt_getpid.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_getpid.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_getpid.c
	Compiling alt_gettod.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_gettod.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_gettod.c
	Compiling alt_gmon.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_gmon.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_gmon.c
	Compiling alt_icache_flush.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_icache_flush.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_icache_flush.c
	Compiling alt_icache_flush_all.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_icache_flush_all.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_icache_flush_all.c
	Compiling alt_iic.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_iic.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_iic.c
	Compiling alt_iic_isr_register.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_iic_isr_register.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_iic_isr_register.c
	Compiling alt_instruction_exception_entry.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_instruction_exception_entry.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_instruction_exception_entry.c
	Compiling alt_instruction_exception_register.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_instruction_exception_register.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_instruction_exception_register.c
	Compiling alt_io_redirect.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_io_redirect.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_io_redirect.c
	Compiling alt_ioctl.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_ioctl.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_ioctl.c
	Compiling alt_irq_entry.S...
	nios2-elf-gcc -MP -MMD -c   -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx    -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED  -Wa,-gdwarf2  -o obj/HAL/src/alt_irq_entry.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_irq_entry.S
	Compiling alt_irq_handler.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_irq_handler.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_irq_handler.c
	Compiling alt_irq_register.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_irq_register.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_irq_register.c
	Compiling alt_irq_vars.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_irq_vars.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_irq_vars.c
	Compiling alt_isatty.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_isatty.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_isatty.c
	Compiling alt_kill.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_kill.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_kill.c
	Compiling alt_link.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_link.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_link.c
	Compiling alt_load.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_load.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_load.c
	Compiling alt_log_macro.S...
	nios2-elf-gcc -MP -MMD -c   -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx    -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED  -Wa,-gdwarf2  -o obj/HAL/src/alt_log_macro.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_log_macro.S
	Compiling alt_log_printf.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_log_printf.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_log_printf.c
	Compiling alt_lseek.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_lseek.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_lseek.c
	Compiling alt_main.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_main.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_main.c
	Compiling alt_malloc_lock.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_malloc_lock.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_malloc_lock.c
	Compiling alt_mcount.S...
	nios2-elf-gcc -MP -MMD -c   -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx    -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED  -Wa,-gdwarf2  -o obj/HAL/src/alt_mcount.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_mcount.S
	Compiling alt_open.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_open.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_open.c
	Compiling alt_printf.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_printf.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_printf.c
	Compiling alt_putchar.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_putchar.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_putchar.c
	Compiling alt_putstr.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_putstr.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_putstr.c
	Compiling alt_read.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_read.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_read.c
	Compiling alt_release_fd.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_release_fd.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_release_fd.c
	Compiling alt_remap_cached.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_remap_cached.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_remap_cached.c
	Compiling alt_remap_uncached.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_remap_uncached.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_remap_uncached.c
	Compiling alt_rename.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_rename.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_rename.c
	Compiling alt_sbrk.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_sbrk.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_sbrk.c
	Compiling alt_settod.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_settod.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_settod.c
	Compiling alt_software_exception.S...
	nios2-elf-gcc -MP -MMD -c   -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx    -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED  -Wa,-gdwarf2  -o obj/HAL/src/alt_software_exception.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_software_exception.S
	Compiling alt_stat.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_stat.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_stat.c
	Compiling alt_tick.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_tick.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_tick.c
	Compiling alt_times.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_times.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_times.c
	Compiling alt_uncached_free.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_uncached_free.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_uncached_free.c
	Compiling alt_uncached_malloc.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_uncached_malloc.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_uncached_malloc.c
	Compiling alt_unlink.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_unlink.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_unlink.c
	Compiling alt_usleep.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_usleep.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_usleep.c
	Compiling alt_wait.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_wait.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_wait.c
	Compiling alt_write.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/alt_write.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/alt_write.c
	Compiling altera_nios2_irq.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/HAL/src/altera_nios2_irq.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/altera_nios2_irq.c
	Compiling crt0.S...
	nios2-elf-gcc -MP -MMD -c   -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx    -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED  -Wa,-gdwarf2  -o obj/HAL/src/crt0.o d:/Amy-S/lcd/software/hello_word_bsp/HAL/src/crt0.S
	Compiling alt_sys_init.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/alt_sys_init.o d:/Amy-S/lcd/software/hello_word_bsp/alt_sys_init.c
	Compiling altera_avalon_epcs_flash_controller.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_epcs_flash_controller.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_epcs_flash_controller.c
	Compiling altera_avalon_jtag_uart_fd.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_jtag_uart_fd.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_jtag_uart_fd.c
	Compiling altera_avalon_jtag_uart_init.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_jtag_uart_init.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_jtag_uart_init.c
	Compiling altera_avalon_jtag_uart_ioctl.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_jtag_uart_ioctl.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_jtag_uart_ioctl.c
	Compiling altera_avalon_jtag_uart_read.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_jtag_uart_read.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_jtag_uart_read.c
	Compiling altera_avalon_jtag_uart_write.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_jtag_uart_write.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_jtag_uart_write.c
	Compiling altera_avalon_spi.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_spi.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_spi.c
	Compiling altera_avalon_sysid.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_sysid.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_sysid.c
	Compiling altera_avalon_timer_sc.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_timer_sc.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_timer_sc.c
	Compiling altera_avalon_timer_ts.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_timer_ts.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_timer_ts.c
	Compiling altera_avalon_timer_vars.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/altera_avalon_timer_vars.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/altera_avalon_timer_vars.c
	Compiling epcs_commands.c...
	nios2-elf-gcc -xc -MP -MMD -c  -I./HAL/inc -I. -I./drivers/inc -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall  -EL -mhw-div -mhw-mul -mno-hw-mulx   -o obj/drivers/src/epcs_commands.o d:/Amy-S/lcd/software/hello_word_bsp/drivers/src/epcs_commands.c
	Creating libhal_bsp.a...
	rm -f -f libhal_bsp.a
	nios2-elf-ar -src libhal_bsp.a obj/HAL/src/alt_alarm_start.o obj/HAL/src/alt_busy_sleep.o obj/HAL/src/alt_close.o obj/HAL/src/alt_dcache_flush.o obj/HAL/src/alt_dcache_flush_all.o obj/HAL/src/alt_dcache_flush_no_writeback.o obj/HAL/src/alt_dev.o obj/HAL/src/alt_dev_llist_insert.o obj/HAL/src/alt_dma_rxchan_open.o obj/HAL/src/alt_dma_txchan_open.o obj/HAL/src/alt_do_ctors.o obj/HAL/src/alt_do_dtors.o obj/HAL/src/alt_env_lock.o obj/HAL/src/alt_environ.o obj/HAL/src/alt_errno.o obj/HAL/src/alt_exception_entry.o obj/HAL/src/alt_exception_muldiv.o obj/HAL/src/alt_exception_trap.o obj/HAL/src/alt_execve.o obj/HAL/src/alt_exit.o obj/HAL/src/alt_fcntl.o obj/HAL/src/alt_fd_lock.o obj/HAL/src/alt_fd_unlock.o obj/HAL/src/alt_find_dev.o obj/HAL/src/alt_find_file.o obj/HAL/src/alt_flash_dev.o obj/HAL/src/alt_fork.o obj/HAL/src/alt_fs_reg.o obj/HAL/src/alt_fstat.o obj/HAL/src/alt_get_fd.o obj/HAL/src/alt_getchar.o obj/HAL/src/alt_getpid.o obj/HAL/src/alt_gettod.o obj/HAL/src/alt_gmon.o obj/HAL/src/alt_icache_flush.o obj/HAL/src/alt_icache_flush_all.o obj/HAL/src/alt_iic.o obj/HAL/src/alt_iic_isr_register.o obj/HAL/src/alt_instruction_exception_entry.o obj/HAL/src/alt_instruction_exception_register.o obj/HAL/src/alt_io_redirect.o obj/HAL/src/alt_ioctl.o obj/HAL/src/alt_irq_entry.o obj/HAL/src/alt_irq_handler.o obj/HAL/src/alt_irq_register.o obj/HAL/src/alt_irq_vars.o obj/HAL/src/alt_isatty.o obj/HAL/src/alt_kill.o obj/HAL/src/alt_link.o obj/HAL/src/alt_load.o obj/HAL/src/alt_log_macro.o obj/HAL/src/alt_log_printf.o obj/HAL/src/alt_lseek.o obj/HAL/src/alt_main.o obj/HAL/src/alt_malloc_lock.o obj/HAL/src/alt_mcount.o obj/HAL/src/alt_open.o obj/HAL/src/alt_printf.o obj/HAL/src/alt_putchar.o obj/HAL/src/alt_putstr.o obj/HAL/src/alt_read.o obj/HAL/src/alt_release_fd.o obj/HAL/src/alt_remap_cached.o obj/HAL/src/alt_remap_uncached.o obj/HAL/src/alt_rename.o obj/HAL/src/alt_sbrk.o obj/HAL/src/alt_settod.o obj/HAL/src/alt_software_exception.o obj/HAL/src/alt_stat.o obj/HAL/src/alt_tick.o obj/HAL/src/alt_times.o obj/HAL/src/alt_uncached_free.o obj/HAL/src/alt_uncached_malloc.o obj/HAL/src/alt_unlink.o obj/HAL/src/alt_usleep.o obj/HAL/src/alt_wait.o obj/HAL/src/alt_write.o obj/HAL/src/altera_nios2_irq.o obj/HAL/src/crt0.o obj/alt_sys_init.o obj/drivers/src/altera_avalon_epcs_flash_controller.o obj/drivers/src/altera_avalon_jtag_uart_fd.o obj/drivers/src/altera_avalon_jtag_uart_init.o obj/drivers/src/altera_avalon_jtag_uart_ioctl.o obj/drivers/src/altera_avalon_jtag_uart_read.o obj/drivers/src/altera_avalon_jtag_uart_write.o obj/drivers/src/altera_avalon_spi.o obj/drivers/src/altera_avalon_sysid.o obj/drivers/src/altera_avalon_timer_sc.o obj/drivers/src/altera_avalon_timer_ts.o obj/drivers/src/altera_avalon_timer_vars.o obj/drivers/src/epcs_commands.o
	[BSP build complete]
	Info: Compiling hello_world.c to obj/hello_world.o
	nios2-elf-gcc -xc -MP -MMD -c -I../hello_word_bsp/HAL/inc -I../hello_word_bsp -I../hello_word_bsp/drivers/inc  -DSYSTEM_BUS_WIDTH=32 -D__hal__ -pipe -DALT_NO_INSTRUCTION_EMULATION -DALT_SINGLE_THREADED    -O0 -g -Wall   -EL -mhw-div -mhw-mul -mno-hw-mulx  -o obj/hello_world.o hello_world.c
	Info: Linking hello_word.elf
	nios2-elf-g++  -T'../hello_word_bsp/linker.x' -msys-crt0='../hello_word_bsp/obj/HAL/src/crt0.o' -msys-lib=hal_bsp -L../hello_word_bsp   -Wl,-Map=hello_word.map   -O0 -g -Wall   -EL -mhw-div -mhw-mul -mno-hw-mulx  -o hello_word.elf obj/hello_world.o -lm
	nios2-elf-insert hello_word.elf --thread_model hal --cpu_name nios_f --simulation_enabled false --id 696924572 --sidp 0x3002068 --timestamp 1291132509 --stderr_dev jtag_uart --stdin_dev jtag_uart --stdout_dev jtag_uart --sopc_system_name nios_ii_sys --quartus_project_dir "D:/Amy-S/lcd" --jdi D:/Amy-S/lcd/software/hello_word_bsp/http://www.cnblogs.com/lcd_at_nios.jdi
	Info: (hello_word.elf) 32 KBytes program size (code + initialized data).
	Info:                  8159 KBytes free for stack + heap.
	Info: Creating hello_word.objdump
	nios2-elf-objdump --disassemble --syms --all-header --source hello_word.elf >hello_word.objdump
	[hello_word build complete]

我们所谓的Nios II SBTE(Nios II 10.0 Software Build Tools for Eclipse)就是把nios-elf-gcc整合为eclipse的一个插件。这样我们就可以方便使用eclipse的GUI操作,当然也可以通过自 行编写makefile来编译,这个后续有提到。上一代的Nios II IDE为什么没有Nios II SBTE快呢?至少看起来也慢。那是因为Nios II IDE使用的cygwin虚拟机来模拟linux,不慢才怪。

言归正传,下面我们运行一下Run Configurations…来配置一下JTAG连接及RUN的类型。


提示连接错误。


打开Target Conection标签,刷新链接,直至找到JTAG和匹配目标硬件为止。


RUN一下,测试RAM是否正常工作,Console显示的信息如下:

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
	Processor is already paused
	Reading System ID at address 0x03002068: verified
	Initializing CPU cache (if present)
	OK
	 
	Downloading 02800020 ( 0%)
	Downloaded 33KB in 0.7s (47.1KB/s)
	 
	Verifying 02800020 ( 0%)
	Verified OK                        
        Starting processor at address 0x028001B4

那hello_world模板打印的东西在哪?在Nios II Console,其信息如下:

 (真变态,不让复制,只好抓图了)

看到上面的字样,基本上Nios II软核可以自由运行在RAM中了。

说一下这个Nios II Console。想要出现Nios II Console就必须将stderr、stdin和stdout映射到jtag_urat。当然如果映射到其他标准字符型设备也可以,那么Nios II Console就看不见了。比方说映射到LCD1602上,彼时就只能看到LCD1602(也可以说是console)了。

在哪选择映射?当然是BSP工程里面设置了。在***_bsp工程中右键Nios II>BSP Editor…,打开BSP Editor。

  (原来在这里设置)

注意:手动对BSP Editor修改且保存之后,必须右键Nios II>Generate BSP,生成新的BSP,否则变异无法通过。

步骤2 建一个新工程

这一次,我们使用空模板,因为这个Hello World模板有时比较纠结。


为了有效管理源文件,我们在APP工程内创建一些文件夹。


│   main.c    // 主函数文件
	│ 
	├─debug     // 调试库及源文件
	└─my_sopc   // 自定义SOPC引脚映射及数据类型宏的库

打开APP工程的Properties ,APP工程右键Properties>Nios II Application Properties>Nios II Applications Path,对文件路径进行配置。这一步骤很重要,否则后续无法进行。


后续的ILI9325、ADS7843和SD Card也会以同样的方式加入路径。

添加之后,在APP工程右键Refresh,以刷新makefile。

步骤3 配置自定义SOPC引脚映射及数据类型宏

这一步在后续的工程可以直接复用。


先自定义数据类型宏,有可能bool会报错,不睬它,因为gcc本来就没有bool类型。

代码 my_types.h

// copy from stm32f10x_type.h
	 
	#ifndef MY_TYPES_H_
	#define MY_TYPES_H_
	 
	typedef signed long  s32;
	typedef signed short s16;
	typedef signed char  s8;
	 
	typedef signed long  const sc32;  /* Read Only */
	typedef signed short const sc16;  /* Read Only */
	typedef signed char  const sc8;   /* Read Only */
	 
	typedef volatile signed long  vs32;
	typedef volatile signed short vs16;
	typedef volatile signed char  vs8;
	 
	typedef volatile signed long  const vsc32;  /* Read Only */
	typedef volatile signed short const vsc16;  /* Read Only */
	typedef volatile signed char  const vsc8;   /* Read Only */
	 
	typedef unsigned long  u32;
	typedef unsigned short u16;
	typedef unsigned char  u8;
	 
	typedef unsigned long  const uc32;  /* Read Only */
	typedef unsigned short const uc16;  /* Read Only */
	typedef unsigned char  const uc8;   /* Read Only */
	 
	typedef volatile unsigned long  vu32;
	typedef volatile unsigned short vu16;
	typedef volatile unsigned char  vu8;
	 
	typedef volatile unsigned long  const vuc32;  /* Read Only */
	typedef volatile unsigned short const vuc16;  /* Read Only */
	typedef volatile unsigned char  const vuc8;   /* Read Only */
	 
	typedef enum {FALSE = 0, TRUE = !FALSE} bool;
	 
	#endif /* MY_TYPES_H_ */

然后我们根据SOPC Builder的配置来自定义引脚映射,相关的背景知识请参阅http://blog.chinaaet.com/detail/8340.html

代码 自定义引脚映射

#ifndef MY_REGS_H_
	#define MY_REGS_H_
	 
	#include "system.h"
	#include "my_types.h"
	 
	#define ILI9325
	#define ADS7843
	#define SD_CARD
	 
	// PIO Data structure
	typedef struct
	{
	    vu32 DATA           : 32;
	    vu32 DIRECTION      : 32;
	    vu32 INTERRUPT_MASK : 32;
	    vu32 EDGE_CAPTURE   : 32;
	 
	}PIO_STR;
	 
	// ili9325 I/O
	#ifdef ILI9325
	  #define ili_nCS   *(vu32 *)(ILI_NCS_BASE  | (1<<31))
	  #define ili_nRST  *(vu32 *)(ILI_NRST_BASE | (1<<31))
	  #define ili_RS    *(vu32 *)(ILI_RS_BASE   | (1<<31))
	  #define ili_nWR   *(vu32 *)(ILI_NWR_BASE  | (1<<31))
	  #define ili_nRD   *(vu32 *)(ILI_NRD_BASE  | (1<<31))
	  #define ili_DB    ((PIO_STR *)(ILI_DB_BASE  | (1<<31)))
	#endif
	 
         // ADS7843 I/O
	#ifdef ADS7843
	//  #define ads_nIRQ  *(vu32 *)(ADS_NIRQ_BASE | (1<<31))
	//  #define ads_BUSY  *(vu32 *)(ADS_BUSY_BASE | (1<<31))
	  #define ads_nCS   *(vu32 *)(ADS_NCS_BASE  | (1<<31))
	  #define ads_CLK   *(vu32 *)(ADS_CLK_BASE  | (1<<31))
	  #define ads_DIN   *(vu32 *)(ADS_DIN_BASE  | (1<<31))
	  #define ads_DOUT  *(vu32 *)(ADS_DOUT_BASE | (1<<31))
	#endif
	 
	// SD Card I/O
	#ifdef SD_CARD
	  #define sd_CLK    *(vu32 *)(SD_CLK_BASE     | (1<<31))
	  #define sd_nCS    *(vu32 *)(SD_NCS_BASE     | (1<<31))
	  #define sd_DIN    *(vu32 *)(SD_DIN_BASE     | (1<<31))
	  #define sd_DOUT   *(vu32 *)(SD_DOUT_BASE    | (1<<31))
	#endif
	 
	#endif /* MY_REGS_H_ */

为了防止被编译器优化,所有的地址都使用volatile unsigned long(使用my_types宏后,可简写为vu32)修饰,注意不要落下volatile。

为了防止地址被数据缓存旁路,所有地址的第31位都拉高(1<<31)。

步骤4 编写debug宏

这一步是我抄袭terasic的源代码,我给它简化了。暂时只使用JTAG_UART调试,其他的标准字符型设备的调试宏,我都删了。

代码 debug.c

#include 
	#include 
	#include "debug.h"
	 
	#ifdef ENABLE_UART_DEBUG
	// 省略,暂时不用UART;用到的时候,再写子函数
	 
	#else
	void debug_output(char *pMessage){
	    printf(pMessage);
	}
	#endif
	 
	int myprintf(char *format, ...){
	    int rc;
	    char szText[512];
	 
	    va_list paramList;
	    va_start(paramList, format);
	    rc = vsnprintf(szText, 512, format, paramList);
	    va_end(paramList);
	 
	    debug_output(szText);
	 
	    return rc;
	}

代码 debug.h

#ifndef DEBUG_H_
	#define DEBUG_H_
	 
	int myprintf(char *format, ...);
	 
	#define ENABLE_STDOUT_DEBUG // turn on all of debug message using standard in/out
	//#define ENABLE_UART_DEBUG // turn on debug message using uart
	 
	#ifdef ENABLE_STDOUT_DEBUG
	    #define DEBUG(x)               {myprintf x;}
	#else                // nothing
	    #define DEBUG(x)
	#endif
 
	#endif /* DEBUG_H_ */

 

使用c文件写函数,h文件写宏及函数类型是个很好的习惯。如果使用C++的话,可以使用类来更好地管理全局/私有宏、全局/私有函数。只可惜我的C++早忘光了,只有写C了。

步骤5 测试一下

代码 main.c(测试用)

#include "debug.h"       // debug宏
	#include "my_types.h"    // 自定义数据类型
	#include "my_regs.h"     // 自定义I/O映射
	 
	// 配置调试开关
	#define ENABLE_APP_DEBUG // turn on debug message
	#ifdef ENABLE_APP_DEBUG
	    #define APP_DEBUG(x)    DEBUG(x)
	#else
	    #define APP_DEBUG(x)
	#endif
	 
	// 主函数
	int main()
	{
	  bool i;
	  i=FALSE;
	  APP_DEBUG(("i=%d", i));
	  return 0;
         }

运行结果:


有一个问题?

哪位大侠指点一下如何复制Nios II Console中的内容?

源码下载

382503216572.zip

目录

[原创][连载].基于SOPC的简易数码相框 -  Quartus II部分(硬件部分)

[原创][连载].基于SOPC的简易数码相框 -  Nios II SBTE部分(软件部分)-  配置工作

[原创][连载].基于SOPC的简易数码相框 -  Nios II SBTE部分(软件部分)-  SD卡(SPI模式)驱动

[原创][连载].基于SOPC的简易数码相框 -  Nios II SBTE部分(软件部分)-  TFT-LCD(控制器为ILI9325)驱动

[原创][连载].基于SOPC的简易数码相框 -  Nios II SBTE部分(软件部分)-  从SD卡内读取图片文件,然后显示在TFT-LCD上

[原创][连载].基于SOPC的简易数码相框 -  Nios II SBTE部分(软件部分)-  优化工作

[原创][连载].基于SOPC的简易数码相框 -  Nios II SBTE部分(软件部分)-  ADS7843触摸屏驱动测试