zoukankan      html  css  js  c++  java
  • [原创][连载].基于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!
  • 相关阅读:
    Java Native Method
    SQL语句优化
    Ibatis的环境搭建以及遇到的问题解决
    Java 构建器
    SpringMVC自定义视图 Excel视图和PDF视图
    java 枚举的常见使用方法
    mysql 根据某些字段之和排序
    MFC The Screen Flickers When The Image Zoomed
    How To Debug Qmake Pro File
    Gcc And MakeFile Level1
  • 原文地址:https://www.cnblogs.com/yuphone/p/1909822.html
Copyright © 2011-2022 走看看