Hello I am currently starting a new project with STMicros STM32 controller-family (STM32F101C8) and I use the Keil RealView MDK-ARM 3.40 Toolchain with the RTX RTOS for firmware development. Now, because I d'like to profit from the extensive work STMicro has put into it's very good firmware library (i'm using V 2.0.3) i wanted to combine the library and the RTX Kernel. The idea behind it is mainly to reduce developpment time for all the "simple" I/O routines for SPI/USART/GPIO and so on, because thats where i think the STMicro library with it's functions can help me a lot to get to a working result pretty quick. (Why bother with all the registers when someone else already did it for you?)
Well, the problem is now that the RTX and ST's library weren't made to work together, so there is a lot of confusion in the initialization routines because both products are built to function "as is" and to do that they both want to run there own initialization routines on the controller registers.
I already tryed with a "quick-fix" to remove stuff that gets initialized twice, but it turns out that it isn't very easy to keep both the library-package and the RTX happy at the same time. The compiler and later on the linker just didn't want to stop shouting at me with errors... :(
So, before i waste more time, my question is now if maybe someone else already tryed to merge them together and finally succeeded to get all the initializations done in a way that they stop biting eachothers tails off and actually perfectly work together. Would be nice if you could point out what has to be taken care of or even provide some samples of your initialization code.
Or maybe someone has a better solution, like extracting all the useful functions from the ST library and try to implement them in a seperate source that would be easyer to attach to the RTX environment. I actually didn't want to go that road yet, because it seems to be quite some work for all the peripherals i will use in the project, but if there is no other solution, that's probably the only way to go...
Thanks for your input!