FreeRTOS a SPI (stm32F100)

Ahojte,
tak jsem si taky zakoupil discovery modul a naportoval jsem FreeRTOS pro seznámení. Vše se tváří normálně.
Teď bych chtěl napsat nějaký kod a uvažuji o situaci, že budu mít dvě SPI zařízení na jednom rozhraní a dva CS signály (AD převodník a flash AT45db). S každým zařízením bude komunikovat jedna úloha. Každé zařízení bude komunikovat jinou rychlostí. Jakým rozumným způsobem napsat SPI driver? Jak synchronizovat přístupy na SPI? Jak řešit CS signály? Pokud bude každá komunikace jinou rychlostí, tak bych musel před každým zápisem-čtení iniciovat SPI a předávat pin portu s CS signálem? Chtěl bych ten driver mít trochu univerzální, aby se po přidání např. třetího zařízení v něm pokud možno nic neměnilo…