Work in progress
The intendation of this project is to create a device that will act as a Wake-Up source for CAN devices. A microcontroller (STM32F103) sends a cyclic CAN messages using an external CAN transceiver (TJA1050).
This project includes the EAGLE schematic and layout files among the source code for the microcontroller.
@TODO
Big shout-out to Patrik Jaworski for his blog post about the initial bring up of the STM32Fx. It really helped me to get back on track after a longer absence from the STM32 device family.
The software is based on the STM32CubeF1 MCu Package from ST Microelectronis. The application software is based on the ARM CMSIS library for the STM32F103C8T6 device.
It is developed on Linux (Arch-Linux, Kernel 4.19.2) using the GNU ARM toolchain(gcc-arm-none-eabi-*).
To build the firmware run:
make -C ./Software MAIN=FW_NAME
in directory.
The MAIN
parameter is optional and used to define the firmware name.
It defaults to CANWakeUp
.
To flash the firmare to the controller run:
openocd -f interface/stlink-v2-1.cfg -f target/stm32f1x.cfg -c "program ./build/$FW_NAME.hex verify reset exit"
while substitute $FW_NAME
to the correct firmware filename.
There are preconfigured tasks for Visual Studio Code available for Building, Cleaning, Flashing and Debugging (using the Cortex-Debug extension by marus25).
To build the documentation run (requires Doxygen):
make doc
The documentation will then be available in ./doc/html/index.html
.