Giter VIP home page Giter VIP logo

xildebug_sw's Introduction

XilDebug

XilDebug is a piece of hardware that can act as a CMSIS-DAP compliant debugger, UART bridge and power profiler all in one package. This repository contains the firmware.

Building

Make sure you have a recent gcc-arm-none-eabi toolchain. 7.2.1 is known to work.

make in the root builds the firmware.

Debugging/flashing

Install a recent version of openocd.

Connect a debugger (e.g. an STLink or a CMSIS-DAP compliant debugger) to the SWD pins.

make daplink and make stlink starts openocd with the appropriate flags to debug a XilDebug device.

make flash flashes the firmware to the device.

Usage

TODO

Contributing

TBD. If you want to get involved feel free to post an issue.

License

TBD

xildebug_sw's People

Contributors

kbeckmann avatar arturo182 avatar enjens avatar

Stargazers

Antti Lukats avatar Mark C. avatar Alena Hramyka avatar  avatar  avatar

Watchers

 avatar James Cloos avatar  avatar

Forkers

kbeckmann

xildebug_sw's Issues

Create errors.h with base defines per module

So my idea is to have a errors.h file with base defines per module and then in each module have custom error codes using the base + 1, 2, 3, etc. This way each module gets unique errors :)

gpio: Add abstraction layer

Thinking if we should do this or not. If we do it, we can port easily to other hardware. Then again, it might just be an annoying abstraction. Thoughts?

Idea is to let our code call gpio_write() etc instead of calling HAL_GPIO_WritePin etc.

flash: Add some sort of flash storage

We need to store calibration data in flash.

We could also store the last state such as voltage on the LDO, state of the analog switches etc.

Need to figure out which flash storage approach to use. Probably don't need a proper filesystem, but maybe something to reduce the wear of the flash.

CDC-UART bridge

Implement an uart bridge over usb with no data loss, lag or weird behaviour.

Should also support configuring baudrate, stop bits etc.

usb: Add endpoint for configuration and ADC streaming

Add a simple CDC endpoint that can be used for:

  • Configuring the unit
    • Set calibration data (todo: store in flash)
    • Set threshold values for the shunt switches
    • Toggle the MAX analog switch
    • Toggle VDD_DUT_EN
    • Toggle GPIOs
    • ...
  • Running production tests
  • Stream ADC data
  • ...

Proper error handler

Not sure how much energy we should spend on this but it kinda sucks to do

if (r != ERR_OK)
	while (1) ;

We don't need to do fancy ram dumping and so on, but just halt the cpu and perhaps disable interrupts and that we get a central point where we can set a breakpoint when debugging.

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.