From d85cf2c0314917e815ce07cd3d9d43e882b25aca Mon Sep 17 00:00:00 2001 From: yuansung18 <35831896+yuansung18@users.noreply.github.com> Date: Thu, 3 Oct 2019 18:54:42 +0800 Subject: [PATCH 1/2] Add files via upload --- .../2019/NCTU_DefectDetection/README.md | 68 + .../doc/ARC_contest_996.pdf | Bin 0 -> 935012 bytes .../doc/Photo/IMG_0889.JPG | Bin 0 -> 2133168 bytes .../doc/Photo/IMG_0890.JPG | Bin 0 -> 2778886 bytes .../doc/Photo/IMG_0891.JPG | Bin 0 -> 2062919 bytes ...electronic_component_defect_detection.html | 27562 ++++++++++++++++ .../src/appl_mem_config.h | 49 + .../2019/NCTU_DefectDetection/src/main.c | 563 + .../2019/NCTU_DefectDetection/src/makefile | 30 + .../2019/NCTU_DefectDetection/src/model.h | 73 + .../2019/NCTU_DefectDetection/src/model_chw.c | 294 + .../NCTU_DefectDetection/src/model_coeff.inc | 518 + .../NCTU_DefectDetection/src/model_tensors.c | 105 + .../NCTU_DefectDetection/src/model_tensors.h | 24 + .../gnu_arcem9d/arc/arc_connect.o.d | 5 + .../gnu_arcem9d/arc/arc_exc_asm.o | Bin 0 -> 2824 bytes .../gnu_arcem9d/arc/arc_exc_asm.o.d | 4 + .../gnu_arcem9d/arc/arc_exception.o | Bin 0 -> 47212 bytes .../gnu_arcem9d/arc/arc_exception.o.d | 8 + .../obj_iotdk_10/gnu_arcem9d/arc/arc_mpu.o | Bin 0 -> 9908 bytes .../obj_iotdk_10/gnu_arcem9d/arc/arc_mpu.o.d | 5 + .../obj_iotdk_10/gnu_arcem9d/arc/arc_timer.o | Bin 0 -> 16460 bytes .../gnu_arcem9d/arc/arc_timer.o.d | 6 + .../obj_iotdk_10/gnu_arcem9d/arc/arc_udma.o | Bin 0 -> 42280 bytes .../obj_iotdk_10/gnu_arcem9d/arc/arc_udma.o.d | 7 + .../obj_iotdk_10/gnu_arcem9d/arc/arc_util.o | Bin 0 -> 1548 bytes .../obj_iotdk_10/gnu_arcem9d/arc/arc_util.o.d | 4 + .../gnu_arcem9d/arc/startup/arc_cxx_support.o | Bin 0 -> 6260 bytes .../arc/startup/arc_cxx_support.o.d | 2 + .../gnu_arcem9d/arc/startup/arc_startup.o | Bin 0 -> 4148 bytes .../gnu_arcem9d/arc/startup/arc_startup.o.d | 4 + .../obj_iotdk_10/gnu_arcem9d/board/board.o | Bin 0 -> 14020 bytes .../obj_iotdk_10/gnu_arcem9d/board/board.o.d | 47 + .../board/iotdk/common/iotdk_init.o | Bin 0 -> 8264 bytes .../board/iotdk/common/iotdk_init.o.d | 43 + .../board/iotdk/common/iotdk_timer.o | Bin 0 -> 13832 bytes .../board/iotdk/common/iotdk_timer.o.d | 40 + .../board/iotdk/drivers/flash_obj/flash_obj.o | Bin 0 -> 35760 bytes .../iotdk/drivers/flash_obj/flash_obj.o.d | 13 + .../drivers/ip/designware/i2s/dw_i2s_obj.o | Bin 0 -> 32796 bytes .../drivers/ip/designware/i2s/dw_i2s_obj.o.d | 54 + .../designware/pwm_timer/dw_pwm_timer_obj.o | Bin 0 -> 14000 bytes .../designware/pwm_timer/dw_pwm_timer_obj.o.d | 14 + .../drivers/ip/designware/sdio/dw_sdio_obj.o | Bin 0 -> 13512 bytes .../ip/designware/sdio/dw_sdio_obj.o.d | 12 + .../drivers/ip/subsystem/gpio/dfss_gpio_obj.o | Bin 0 -> 44380 bytes .../ip/subsystem/gpio/dfss_gpio_obj.o.d | 12 + .../drivers/ip/subsystem/iic/dfss_iic_obj.o | Bin 0 -> 20860 bytes .../drivers/ip/subsystem/iic/dfss_iic_obj.o.d | 12 + .../drivers/ip/subsystem/spi/dfss_spi_obj.o | Bin 0 -> 21596 bytes .../drivers/ip/subsystem/spi/dfss_spi_obj.o.d | 13 + .../drivers/ip/subsystem/uart/dfss_uart_obj.o | Bin 0 -> 33928 bytes .../ip/subsystem/uart/dfss_uart_obj.o.d | 12 + .../gnu_arcem9d/board/iotdk/drivers/mux/mux.o | Bin 0 -> 23028 bytes .../board/iotdk/drivers/mux/mux.o.d | 39 + .../board/iotdk/drivers/sdcard/sdcard.o | Bin 0 -> 2088 bytes .../board/iotdk/drivers/sdcard/sdcard.o.d | 3 + .../board/iotdk/drivers/sdcard/sdcard_sdio.o | Bin 0 -> 1296 bytes .../iotdk/drivers/sdcard/sdcard_sdio.o.d | 2 + .../iotdk/drivers/smic/smic_adc/smic_adc.o | Bin 0 -> 14392 bytes .../iotdk/drivers/smic/smic_adc/smic_adc.o.d | 10 + .../drivers/smic/smic_bootspi/smic_bootspi.o | Bin 0 -> 45324 bytes .../smic/smic_bootspi/smic_bootspi.o.d | 10 + .../drivers/smic/smic_eflash/smic_eflash.o | Bin 0 -> 29280 bytes .../drivers/smic/smic_eflash/smic_eflash.o.d | 10 + .../board/iotdk/drivers/sysconf/sysconf.o | Bin 0 -> 20412 bytes .../board/iotdk/drivers/sysconf/sysconf.o.d | 7 + .../defect_detection_gnu_arcem9d.elf | Bin 0 -> 949096 bytes .../defect_detection_gnu_arcem9d.map | 6218 ++++ .../device/ip/designware/i2s/dw_i2s.o | Bin 0 -> 140456 bytes .../device/ip/designware/i2s/dw_i2s.o.d | 52 + .../ip/designware/pwm_timer/dw_pwm_timer.o | Bin 0 -> 38248 bytes .../ip/designware/pwm_timer/dw_pwm_timer.o.d | 10 + .../device/ip/designware/sdio/dw_sdio.o | Bin 0 -> 74540 bytes .../device/ip/designware/sdio/dw_sdio.o.d | 44 + .../device/ip/subsystem/gpio/gpio.o | Bin 0 -> 20144 bytes .../device/ip/subsystem/gpio/gpio.o.d | 10 + .../device/ip/subsystem/gpio/ss_gpio.o | Bin 0 -> 18196 bytes .../device/ip/subsystem/gpio/ss_gpio.o.d | 13 + .../device/ip/subsystem/iic/i2c_master.o | Bin 0 -> 35728 bytes .../device/ip/subsystem/iic/i2c_master.o.d | 11 + .../device/ip/subsystem/iic/i2c_slave.o | Bin 0 -> 7696 bytes .../device/ip/subsystem/iic/i2c_slave.o.d | 11 + .../device/ip/subsystem/iic/ss_i2c_master.o | Bin 0 -> 30292 bytes .../device/ip/subsystem/iic/ss_i2c_master.o.d | 13 + .../device/ip/subsystem/spi/spi_master.o | Bin 0 -> 33504 bytes .../device/ip/subsystem/spi/spi_master.o.d | 11 + .../device/ip/subsystem/spi/spi_slave.o | Bin 0 -> 28004 bytes .../device/ip/subsystem/spi/spi_slave.o.d | 11 + .../device/ip/subsystem/spi/ss_spi_master.o | Bin 0 -> 30932 bytes .../device/ip/subsystem/spi/ss_spi_master.o.d | 12 + 91 files changed, 36100 insertions(+) create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/README.md create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/doc/ARC_contest_996.pdf create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/doc/Photo/IMG_0889.JPG create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/doc/Photo/IMG_0890.JPG create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/doc/Photo/IMG_0891.JPG create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/electronic_component_defect_detection.html create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/appl_mem_config.h create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/main.c create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/makefile create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/model.h create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/model_chw.c create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/model_coeff.inc create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/model_tensors.c create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/model_tensors.h create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_connect.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_exc_asm.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_exc_asm.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_exception.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_exception.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_mpu.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_mpu.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_timer.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_timer.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_udma.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_udma.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_util.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/arc_util.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/startup/arc_cxx_support.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/startup/arc_cxx_support.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/startup/arc_startup.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/arc/startup/arc_startup.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/board.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/board.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/common/iotdk_init.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/common/iotdk_init.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/common/iotdk_timer.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/common/iotdk_timer.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/flash_obj/flash_obj.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/flash_obj/flash_obj.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/designware/i2s/dw_i2s_obj.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/designware/i2s/dw_i2s_obj.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/designware/pwm_timer/dw_pwm_timer_obj.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/designware/pwm_timer/dw_pwm_timer_obj.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/designware/sdio/dw_sdio_obj.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/designware/sdio/dw_sdio_obj.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/subsystem/gpio/dfss_gpio_obj.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/subsystem/gpio/dfss_gpio_obj.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/subsystem/iic/dfss_iic_obj.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/subsystem/iic/dfss_iic_obj.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/subsystem/spi/dfss_spi_obj.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/subsystem/spi/dfss_spi_obj.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/subsystem/uart/dfss_uart_obj.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/ip/subsystem/uart/dfss_uart_obj.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/mux/mux.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/mux/mux.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/sdcard/sdcard.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/sdcard/sdcard.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/sdcard/sdcard_sdio.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/sdcard/sdcard_sdio.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/smic/smic_adc/smic_adc.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/smic/smic_adc/smic_adc.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/smic/smic_bootspi/smic_bootspi.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/smic/smic_bootspi/smic_bootspi.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/smic/smic_eflash/smic_eflash.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/smic/smic_eflash/smic_eflash.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/sysconf/sysconf.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/board/iotdk/drivers/sysconf/sysconf.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/defect_detection_gnu_arcem9d.elf create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/defect_detection_gnu_arcem9d.map create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/designware/i2s/dw_i2s.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/designware/i2s/dw_i2s.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/designware/pwm_timer/dw_pwm_timer.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/designware/pwm_timer/dw_pwm_timer.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/designware/sdio/dw_sdio.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/designware/sdio/dw_sdio.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/gpio/gpio.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/gpio/gpio.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/gpio/ss_gpio.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/gpio/ss_gpio.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/iic/i2c_master.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/iic/i2c_master.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/iic/i2c_slave.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/iic/i2c_slave.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/iic/ss_i2c_master.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/iic/ss_i2c_master.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/spi/spi_master.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/spi/spi_master.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/spi/spi_slave.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/spi/spi_slave.o.d create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/spi/ss_spi_master.o create mode 100644 arc_design_contest/2019/NCTU_DefectDetection/src/obj_iotdk_10/gnu_arcem9d/device/ip/subsystem/spi/ss_spi_master.o.d diff --git a/arc_design_contest/2019/NCTU_DefectDetection/README.md b/arc_design_contest/2019/NCTU_DefectDetection/README.md new file mode 100644 index 00000000..0ff364c2 --- /dev/null +++ b/arc_design_contest/2019/NCTU_DefectDetection/README.md @@ -0,0 +1,68 @@ +# Eletronic Component Defect Detection on ARC IOT Development Kit +* [Introduction](#introduction) + * [System Architecture](#system-architecture) +* [Hardware and Software Setup](#hardware-and-software-setup) + * [Required Hardware](#required-hardware) + * [Required Software](#required-software) + * [Hardware Connection](#hardware-connection) +* [User Manual](#user-manual) + * [Before Running This Application](#before-running-this-application) + * [Run This Application](#run-this-application) +## Introduction +In this contest, we aim to develop a convolutional neural network model to detect the defect on eletronic component, such as capacitor and resistor. To run on the ARC Development Kit (IOTDK), we need to create a model with small amount of paramter. + +### System Architecture +![](https://imgur.com/VJ883mq.png=650x) + +We get a dataset with three kinds of data, defect, false-alarm, and golden. False-alarm and golden are kinds of good product, but defect is a kind of defective product. Then, we have a 2-class classifier convolutional neural network which is trained with the training images. Finally, we get a result which is good or defect. + +## Hardware and Software Setup +### Required Hardware +[DesignWare ARC IoT Development Kit](https://github.com/foss-for-synopsys-dwc-arc-processors/ARC-Development-Systems-Forum/wiki/ARC-Development-Systems-Forum-Wiki-Home#arc-iot-dev-kit-1) +![](https://imgur.com/kGNpoki.png=500x) + +| Training Platform | Device | +| --------------------- | ---------------------------------------------------- | +| CPU | Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz (32 Cores) | +| GPU | GeForce GTX 1080 | +| RAM | 188GB | +| OS | Linux Ubuntu 14.04.5 | + +### Required Software +* EMSK Environment + * [embARC OSP branch-embARC MLI](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_osp/tree/embarc_mli) + * [Teraterm](https://ttssh2.osdn.jp/index.html.en) + * [Environment Build Up](https://embarc.org/embarc_osp/doc/build/html/getting_started/getting_started.html) +* Python 3.7 +* Deep Learning related Package + * Jupyter (optional) + * Caffe + * Numpy + * Skimage + * Matplot + +### Hardware Connection +* IOTDK connection + +![](https://imgur.com/Z9IYyTH.png=400x) + +## User Manual +### Before Running This Application +* Dataset + +Due to ownership, we could not provide dataset. You should prepare it as a char array by yourselves. + +* makefile +``` +BOARD ?= iotdk +CUR_CORE ?= arcem9d +APPL_DEFINES = -DUSE_APPL_MEM_CONFIG -DV2DSP_XY -DMODEL_BIT_DEPTH=8 +EMBARC_ROOT = setting your root path of your embARC-osp without " " +``` + +### Run This Application +Run the "make run" command on cmd in directory where your makefile is +![](https://imgur.com/ybhg4RR.png) + +Result: +![](https://imgur.com/cL7dEJy.png) diff --git a/arc_design_contest/2019/NCTU_DefectDetection/doc/ARC_contest_996.pdf b/arc_design_contest/2019/NCTU_DefectDetection/doc/ARC_contest_996.pdf new file mode 100644 index 0000000000000000000000000000000000000000..914ae1178d958fef446283a9e105e9583cbc431a GIT binary patch literal 935012 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