Hi Szabó,

I just found xpcc, and it seems very promising. In my project I use an
STM32F103RC, and if I try to build a really simple project for it, I
get this error: "Error: XPCC Error: Could not find xml device file.”.

We wanted to only add Device Files for devices that we have tested.
I think I will just add a bunch of device files, so that we can get hackers like you to not have to also deal with the hacky and undocumented device file generator (sorry).

I looked in the tools/device_file_generator directory, but I don't
really know how to use it. So my question is, what do I have to do to
be able to use this mcu?

Here are all of my up-to-date device files:
https://www.dropbox.com/s/ea16rjmgdp4s63m/xpcc_xml_2015_12-23.zip?dl=0

It contains the right file for the STM32F103rc (stm32f103-r_v_z-c_d_e.xml) plus a bunch more stuff.

We don’t yet generate linkerscripts automatically (*poke* *poke* @ekiwi), so you also need to add a file to   src/xpcc/architecture/platform/linker/stm32   called   stm32f103_c.ld   with this content:


MEMORY
{
ROM (rx)  : ORIGIN = 0x08000000, LENGTH = 256k
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 48k
}

INCLUDE stm32_ram.ld


I can compile it, when changing the project file for the STM32F1 blinky to stm32f103rc.
https://github.com/roboterclubaachen/xpcc/blob/develop/examples/stm32f1_discovery/blink/project.cfg#L9

I don’t have a F103 handy at the moment, so I haven’t tested this in hardware, but it might just be similar enough to the STM32F100 to just work (@24MHz though).
You will very likely have to manually configure the clock tree using this class (well, the generated class):
https://github.com/roboterclubaachen/xpcc/blob/develop/src/xpcc/architecture/platform/driver/clock/stm32/clock.hpp.in

The problem is that we cannot yet generate the System Clock Tree classes automatically, but there is a PR for that:
https://github.com/roboterclubaachen/xpcc/pull/39

I will have a closer look at the System Clock over the holidays.

Happy Hacking,
Niklas