Code Monkey home page Code Monkey logo

xmc4500's Introduction

xmc4500

Bare metal programming of Infeneon XMC4500

This project is for programming an XMC4500 RelaxKit Lite board using only gcc and some Jlink tools. The XMC4500 RelaxKit Lite is a nice board which at โ‚ฌ10 is great value, 120KB RAM, 1MB flash and 120MHz Cortex-M4F core.

Necessary tools are:

JLink tools from Segger for talking to the debug chip and flash the code https://www.segger.com/jlink-software-beta-version.html

GCC crosscompilation toolchain https://launchpad.net/gcc-arm-embedded

I use Geany for editing, running make commands from inside the editor. I have not tried to use the project features of Geany, for me a project is simply defined by a makefile and some sourcefiles in a folder. This setup works well on MacOSX and Fedora.

basicblink_xmc4500

This is the bare blink and read a button example. The files used are

Makefile Path to arm-none-eabi toolchain must be set flash_XMC4500-1024.ld linkerfile flash.jlink Command script for JLinkExe to write program to flash

core_cm4.h CMSIS definitions for the Cortex-M4F core core_cm4_simd.h core_cmFunc.h core_cmInstr.h

vectorsxmc4500.c Interrupt vectors startup.c Reset handler /* Note revision AA and AB of the processor has a bug and the Infeneon startup_XMC4500.S must be used / / The latest boards I bought has revision AC of the processor / / Update this is not an issue if both normal code and interrupts use main stack pointer MSP */

System_XMC4500.c/h Clock and lowlevel initialisation (Infenieon code from DAVE, I plan to rewrite them) syscalls.c some function stubs to make the C library happy uc_id.h Processor ID stuff from Infeneon uc_id.inc

xmc4500.h Register definitions xmc4500_gpio.h Some extra defins for GPIO

main.cpp The main program

For me it works to do make clean, make, make flash. But this might depend on your particular setup.

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.