From abb7029fae182f1ef86f64af458267a996748e2b Mon Sep 17 00:00:00 2001 From: James Date: Sun, 13 Oct 2013 13:12:09 +0100 Subject: fish --- .gitignore | 32 ++++++++++++++++++++++++++++++++ Makefile | 12 +++++++++++- sdram.qsf | 4 ++-- sdram_mcu.qsys | 48 ++++++++++++++++++++++++------------------------ src/sdram.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 123 insertions(+), 27 deletions(-) create mode 100644 .gitignore create mode 100644 src/sdram.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e5fb795 --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +db +incremental_db +*.qws +*.rpt +*.bak +*.pof +*.sof +*.done +*.fit.summary +*.jdi +*.map.summary +*.sta.summary +*.sopcinfo +script/ +*~ +src/*.elf +src/*.objdump +src/*.map +bsp +*.swp +elf.flash +sof.flash +*.stamp +src/Makefile +src/obj +*.pin +.qsys_edit +.sopc_builder +*.bsf +sdram_mcu/ +sdram_mcu.cmp +sdram_mcu.html diff --git a/Makefile b/Makefile index 59a04ba..e6ee3a2 100644 --- a/Makefile +++ b/Makefile @@ -55,6 +55,17 @@ bsp.stamp:${SOPC_FILE} /bin/rm -rf ${BSP_DIR} mkdir -p ${BSP_DIR} tools/wrap nios2-bsp ${BSP_TYPE} ${BSP_DIR} ${SOPC_FILE} ${NIOS2_BSP_ARGS} ${CPU_NAME} + tools/wrap nios2-bsp-update-settings --bsp-dir ${BSP_DIR} --settings bsp/settings.bsp \ + --set hal.sys_clk_timer none \ + --set hal.max_file_descriptors 4 \ + --set hal.enable_c_plus_plus 0 \ + --set hal.make.bsp_cflags_optimization -Os \ + --set hal.enable_exit 0 \ + --set hal.enable_small_c_library 1 \ + --set hal.enable_clean_exit 0 \ + --set hal.enable_reduced_device_drivers 1 \ + --set hal.enable_lightweight_device_driver_api 1 + tools/wrap nios2-bsp-generate-files --bsp-dir ${BSP_DIR} --settings bsp/settings.bsp tools/wrap make -C ${BSP_DIR} touch $@ @@ -89,4 +100,3 @@ clean: - diff --git a/sdram.qsf b/sdram.qsf index 258bb76..1deea22 100644 --- a/sdram.qsf +++ b/sdram.qsf @@ -123,8 +123,8 @@ set_location_assignment PIN_161 -to dm9000_int set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top -set_global_assignment -name SEARCH_PATH db/ip/sdram_mcu/ -tag from_archive -set_global_assignment -name SEARCH_PATH db/ip/sdram_mcu/submodules/ -tag from_archive +set_global_assignment -name SEARCH_PATH sdram_mcu/synthesis/ -tag from_archive +set_global_assignment -name SEARCH_PATH sdram_mcu/synthesis/submodules/ -tag from_archive set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL" set_location_assignment PIN_108 -to vga_red[0] set_location_assignment PIN_113 -to vga_red[1] diff --git a/sdram_mcu.qsys b/sdram_mcu.qsys index 0764db1..6de6dcb 100644 --- a/sdram_mcu.qsys +++ b/sdram_mcu.qsys @@ -24,7 +24,7 @@ { datum baseAddress { - value = "155752"; + value = "172128"; type = "String"; } } @@ -48,7 +48,7 @@ { datum baseAddress { - value = "153600"; + value = "169984"; type = "String"; } } @@ -69,7 +69,7 @@ { datum baseAddress { - value = "151552"; + value = "167936"; type = "String"; } } @@ -105,27 +105,27 @@ type = "int"; } } - element onchip_memory2_0.s1 + element pio_0.s1 { datum baseAddress { - value = "139264"; + value = "172112"; type = "String"; } } - element timer_0.s1 + element onchip_memory2_0.s1 { datum baseAddress { - value = "155680"; + value = "147456"; type = "String"; } } - element pio_0.s1 + element timer_0.s1 { datum baseAddress { - value = "155728"; + value = "172064"; type = "String"; } } @@ -152,7 +152,7 @@ - + @@ -278,8 +278,8 @@ - ]]> - ]]> + ]]> + ]]> @@ -368,7 +368,7 @@ - + @@ -421,7 +421,7 @@ start="nios2_qsys_0.data_master" end="epcs_flash_controller_0.epcs_control_port"> - + @@ -443,7 +443,7 @@ start="nios2_qsys_0.data_master" end="pio_0.s1"> - + - + - + - + - + - + - + - + - + - + +#include +#include +#include +#include +#include +#include "system.h" + + +#define msleep(msec) usleep(1000*msec); + +pio_write (unsigned int data) +{ + IOWR (PIO_0_BASE, 0, data); +} + + +static void +show_score (int score) +{ + // int to seven segment lookup: MSB dp g f e d c b a LSB + const uint8_t lookup[10] = + { 0x3F, 0x6, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x7, 0x7F, 0x6F }; + + uint8_t ss = 0; + + // show negative with DP + if (score < 0) + { + ss |= 0x80; + score = -score; + } + + if (score > 9) + score = 9; + + ss |= lookup[score]; + + pio_write (ss); +} +int +main (void) +{ + int i; + printf ("Working...\n"); + for (;;) { + for (i=-9;i<10;++i) + { + printf("%d\n",i); + show_score(i); + msleep(200); + } + } +} -- cgit v1.2.3