Пример с работой портов ввода/вывода GPIO и в IAR EWARM и в CooCox называется IO-Toggle. Но пример довольно таки бедненький. Просто зажигает последовательно светодиоды и потом гасит. Используется только одна функция. А менять состояние пинов микроконтроллера можно по разному. Можно через регистры BSRRL, BSRRH или же через регистр ODR. И совсем забыли про кнопку.
Поэтому пример был немного расширен. Был добавлен опрос кнопки, но не по прерыванию, а в цикле. И для светодиодов была еще использована функция, которая пишет в регистр ODR.
Функции и всё остальное для работы с портами GPIO определяются в файлах stm32f4xx_gpio.h и stm32f4xx_gpio.c и их там много. Эти файлы, stm32f4xx_gpio.h и stm32f4xx_gpio.c, из стандартной библиотеки от производителя микроконтроллеров STM32F4xx.
Скачать обновленный пример можно отсюда: http://yadi.sk/d/1_oLxP3NGoRys