Это элементарно, Ватсон!
- Внимательно читаете даташит на железо (это страниц 300-800, а то и более на английском, поэтому приходится читать только те главы, которые задействованы в конкретном проекте).
- Пишете под него софт.
- Если что-то не работает, возвращаетесь к п.1.
Другой разговор, что даташита может и не быть. Тогда все становится очень печально.
Третий разговор, что начальство не дает времени на п.1. Тогда оно само себе злобное буратино.