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

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

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

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

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

image

image

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

创建好的工程如下:

image image

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

image

编译信息及结果如下:

**** 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的类型。

image

提示连接错误。

image 

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

image

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,其信息如下:

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

看到上面的字样,基本上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。

 image (原来在这里设置)

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

步骤2 建一个新工程

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

image

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

image 

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

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

image 

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

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

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

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

image

先自定义数据类型宏,有可能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://www.cnblogs.com/yuphone/archive/2010/04/22/1717779.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 <stdarg.h>
#include <stdio.h>
#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;
}

运行结果:

image

有一个问题?

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

源码下载

 lcd_at_nios_nii_part.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触摸屏驱动测试

posted @ 2010-12-18 11:31  _安德鲁  阅读(4989)  评论(4编辑  收藏  举报