• [原创][连载].基于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触摸屏驱动测试

     安德鲁® / CC BY 2.5     FPGA Run!
  • 相关阅读:
    配置好IIS中的SMTP服务器
    金秋十月
    "小生"的Google搜索结果
    "苏州大本营"腐败大会第三次顺利召开
    我修改了半年的密码还没有成功修改,dudu你能修改吗?
    好资源大家分享
    利用Google来调用其他网站查询信息
    推荐一本书<<专家门诊——ASP.NET开发答疑200问>>
    谁能给我一个FeedDemon v1.1的序列号或者注册文件
    毕业2月有余,苏州同学腐败第二次大聚会
  • 原文地址:https://www.cnblogs.com/yuphone/p/1909822.html
Copyright © 2020-2023  润新知