Git Product home page Git Product logo

dso203's Introduction

Wildcat V6.5 for hw2.81+ (not compatible with older devices)

How to compile on a Windows Machine

Download the standalone compiler and extract

Add PATH to system

  • C:\arm-2008q1\bin

Download DS203 source and extract

  • click the green [Clone or download] button on github, then [Download zip]
  • Extract the dso203-master.zip somewhere

Open Command Prompt Window

  • in Command Prompt CD into dso203-master directory with all the source files from above step

Test the compiler

  • type: arm-none-eabi-gcc.exe -v
  • output:
  • Using built-in specs.
  • Target: arm-none-eabi
  • Configured with: /scratch/sandra/lite/src/gcc-4.2/configure --build=i686-pc-linux-gnu --host=i686-mingw32 --target=arm-none-eabi --enable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ -
  • -disable-shared --with-newlib --with-pkgversion=Sourcery G++ Lite 2008q1-126 --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-headers=yes --with-sysroot=/opt/codesourcery/arm-none-eabi --with-build-sysroot=/scratch/sandr
  • a/lite/eabi/install/host-i686-mingw32/arm-none-eabi --with-libiconv-prefix=/scratch/sandra/lite/eabi/obj/host-libs-2008q1-126-arm-none-eabi-i686-mingw32/usr --enable-poison-system-directories --with-build-time-tools=/scratch/sandra/lite/eabi/obj/tools-i686-pc-linux-gnu-2008q1-126
  • -arm-none-eabi-i686-mingw32/arm-none-eabi/bin --with-build-time-tools=/scratch/sandra/lite/eabi/obj/tools-i686-pc-linux-gnu-2008q1-126-arm-none-eabi-i686-mingw32/arm-none-eabi/bin
  • Thread model: single
  • gcc version 4.2.3 (Sourcery G++ Lite 2008q1-126)

Lets build the binary

  • type: cs-make
  • output:
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o Calibrat.o Calibrat.c
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o Draw.o Draw.c
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o Files.o Files.c
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o Function.o Function.c
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o Interrupt.o Interrupt.c
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o Main.o Main.c
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o Menu.o Menu.c
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o Process.o Process.c
  • arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -c -o BIOS.o BIOS.S
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o startup.o startup.c
  • arm-none-eabi-gcc -Wall -O2 -I. -Iinc -Werror -mcpu=cortex-m3 -mthumb -fno-common -fzero-initialized-in-bss -msoft-float -MD -I FWLib/inc -c -o stm32f10x_nvic.o stm32f10x_nvic.c
  • arm-none-eabi-as -o cortexm3_macro.o cortexm3_macro.s
  • arm-none-eabi-gcc -o app1.elf Calibrat.o Draw.o Files.o Function.o Interrupt.o Main.o Menu.o Process.o BIOS.o startup.o stm32f10x_nvic.o cortexm3_macro.o -mcpu=cortex-m3 -lc -mthumb -march=armv7 -mfix-cortex-m3-ldrd -msoft-float -nostartfiles -Wl,-Map,app1.map -T app1.lds
  • arm-none-eabi-objcopy -O ihex app1.elf app1.hex
  • rm app1.elf

You should find the compiled firmware file app1.hex (423,697 bytes)

  • Put your DS203 into DFU mode (press and hold >|| button and power on) and copy the app1.hex to drive.

Optional for hw2.81+ ONLY

-To get full speed oversampling, copy FPGA_281.ADR then FPGA_281.BIN in DFU mode to the device.

Credits and contributors:

  • jakub.jelinek
  • Wildcat
  • Seeed-Studio
  • Marco Sinatti (marcosin)
  • Gabriel Valky (gabonator1)
  • pmoss69
  • JackTheVendicator
  • bobtidey
  • JPA
  • Jerson
  • original authors minidso

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.