Цитата(sidy @ Jul 5 2012, 16:39)

Если не подключать к проекту файл startup_stm32f4xx.s то keil ругается следующим образом:
main.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.
main.axf: Warning: L6320W: Ignoring --first command. Cannot find argument '__Vectors'.
Итак вопрос: поскольку я только начинаю пробовать STM32F407IG6 как мне произвести инициализацию системы тактирования. Т.е. я сперва хочу использовать только HSE - внешний кварц частотой 25 МГц, без PLL, затем в другом проекте или в этом же задействовать PLL и сконфигурировать его по своему усмотрению.
Как уже ответили коллеги, не стОит отказываться от уже вылизанного startup*.s, который делает не что иное, как создает таблицу векторов, а самое главное - заполняет первые два слова начальным значением стека и стартовым адресом. Упомянутая ругня компоновщика об этом и говорит, как только startup*.s был выведен из проекта.
Писать программы можно как угодно, но просто разумнее придерживаться стандартов. Например, CMSIS, который и описывает, как рекомендуется построить по крайней мере начальный код, чтобы добраться до main(). Если хочется сделать все своими руками, напишите свою функцию
void Reset_Handler(void)
и на нее будет передано управление сразу же после старта процессора (почему - смотрите, что такое слабое определение WEAK).
Хотите остаться в рамках стандарта, но переопределить тактирование - прислушатесь к тому, что
SSerge ответил.
Сообщение отредактировал KnightIgor - Jul 5 2012, 18:44