Цитата(ingord @ Nov 10 2007, 04:37)

Подскажите, пожалуйста, как правильно инициализировать МК.
Если выполнение программы начинается со сброса контроллера, то можно полагаться на значения по умолчанию. С другой стороны, если какая-то периферия используется, то лучше явно описать инициализацию всех нужных для этой периферии регистров - при чтении программы сразу будет бросаться в глаза что этот регистр проинициализирован конкретными значениями, а не забыт. Когда память будет кончаться, такие лишние строчки можно будет закомментировать, приписав комментарий, что регистр по умолчанию уже содержит эти значения. Причем по закомментированной строке будет видно - какие именно и не придется лезть в даташит.
В случае же, когда программа при старте получает управление откуда-то (от загрузчика, например, или загрузчик от программы) - возможно два варианта. Первый - программа проинициализирует всю нужную периферию и явно отключает всю ненужную (и запрещает ненужные прерывания). Второй - загрузчик "подчищает" за собой, т.е. всю использованную периферию переводит в исходное состояние, и тогда единственным отличием программы, пишущейся для работы с загрузчиком и для работы без загрузчика остается объем свободного флеша.