Постарайтесь задать конкретные вопросы. Что касается вопросв в первом Вашем посте, то в общем виде можно сказать следующее:
- их программируют с использованием специальных средств (например Embedded Worlbench фирмы IAR, CrossStudio фирмы CrossWorks, uVision фирмы KEIL и другие)
- чаще используют ассемблер или С, остальные языки реже. Для начинающего легче стартовть на С
- для отладки используют встроенный в среду разработки либо симулятор, либо отладчик. Можно также использовать отладочный монитор. Начните с симулятора, он не требует наличия конкретной железки
Для поиска альтернативных ресурсо почитайте раздел
"Другие изестные форумы и сайты"