README: describe BusVoodoo

This commit is contained in:
King Kévin 2017-12-23 15:10:30 +01:00
parent 6c554a9ffd
commit 606b320a15
1 changed files with 14 additions and 24 deletions

View File

@ -1,4 +1,4 @@
This firmware template is designed for development boards based around [STM32 F1 series micro-controller](http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1031).
This firmware for the [BusVoodoo](https://wiki.cuvoodoo.info/doku.php?id=busvoodoo).
project
=======
@ -6,34 +6,24 @@ project
summary
-------
*describe project purpose*
technology
----------
*described electronic details*
The BusVoodoo is a multi-protocol debugging adapter.
This tool allows to quickly communicate with various other electronic devices.
board
=====
The current implementation uses a [core board](https://wiki.cuvoodoo.info/doku.php?id=stm32f1xx#core_board).
The underlying template also supports following board:
- [Maple Mini](http://leaflabs.com/docs/hardware/maple-mini.html), based on a STM32F103CBT6
- [System Board](https://wiki.cuvoodoo.info/doku.php?id=stm32f1xx#system_board), based on a STM32F103C8T6
- [blue pill](ihttps://wiki.cuvoodoo.info/doku.php?id=stm32f1xx#blue_pill), based on a STM32F103C8T6
- [core board](https://wiki.cuvoodoo.info/doku.php?id=stm32f1xx#core_board), based on a STM32F103C8T6
**Which board is used is defined in the Makefile**.
This is required to map the user LED and button provided on the board
The BusVoodoo uses a [custom board](https://wiki.cuvoodoo.info/doku.php?id=busvoodoo#software_hardware) based on a [STM32F103RC](http://www.st.com/en/microcontrollers/stm32f103rc.html) micro-controller.
connections
===========
Connect the peripherals the following way (STM32F10X signal; STM32F10X pin; peripheral pin; peripheral signal; comment):
The BusVoodoo provides:
- a USB port for a connection to the PC
- a I/O port for the 0-5V protocols
- an I2C port to control an OLED display
- a programming port for debugging usindg SWD and UART
- *list board to preipheral pin connections*
Check the [BusVoodoo hardware](https://git.cuvoodoo.info/busvoodoo_hardware/about/) files for more details.
All pins are configured using `define`s in the corresponding source code.
@ -63,17 +53,17 @@ flash
There are two firmware images: `bootloader` and `application`.
The `bootloader` image allows to flash the `application` over USB using the DFU protocol.
The `bootloader` is started first and immediately jumps to the `application` if it is valid and the DFU mode is not forced (i.e. by pressing the user button on the board or requesting a DFU detach in the `application`).
The `bootloader` is started first and immediately jumps to the `application` if it is valid and the DFU mode is not forced.
The `application` image is the main application and is implemented in `application.c`.
It is up to the application to advertise USB DFU support (i.e. as does the provided USB CDC ACM example).
The `bootlaoder` image will be flashed using SWD (Serial Wire Debug).
The `bootloader` image will be flashed using SWD (Serial Wire Debug).
For that you need an SWD adapter.
The `Makefile` uses a Black Magic Probe (per default), or a ST-Link V2 along OpenOCD software.
To flash the `booltoader` using SWD run `rake flash_booloader`.
Once the `bootloader` is flashed it is possible to flash the `application` over USB using the DFU protocol by running `rake flash`.
To force the bootloader to start the DFU mode press the user button or short a pin, depending on the board.
The `application` advertises USB DFU support (along with the USB CDC ACM class).
If the application is broken, force the bootloader to start the DFU mode by shorting the contacts marked as DFU on the board while powering up.
It is also possible to flash the `application` image using SWD by running `rake flash_application`.
debug