Здесь сравниваются Keil 5.34 и IAR 8.30. Вероятно, многим покажется это сравнение как ворчание в сторону Keil. Но не судите строго, просто гораздо больше приходилось работать именно с IAR, а Keil довольно непривычная для меня среда IDE. Если в чем-то был не прав, оставьте комментарий, пожалуйста.
[Камни в огород Keil]
1. На директиву #pragma once редактор выдает предупреждение, но компилятор обрабатывает код без ошибок и предупреждения. Редактор Keil любит сообщать крестиками и предупреждениями несуществующие на самом деле ошибки.
2. В Keil перед тем, как запустить отладку, надо сначала скомпилировать код (F7), потом его прошить в память (F8), и только потом можно запустить сессию отладчика (Ctrl+F5).
3. Когда файл (модуль или заголовок) имеет атрибут read-only, то в среде Keil на закладке этого файла отображается желтый ключик, но нет способа прямо здесь поменять этот атрибут. Менять атрибут надо в файловом менеджере - Проводнике или Total Commander. В IAR это можно сделать правым кликом на закладке файла и выбором Properties.
4. Разноцветные, яркие закладки в редакторе Keil с непривычки затрудняют понимание того, какая именно закладка сейчас открыта. Следует обращать внимание на подчеркивание имени файла на закладке. В IAR используются монохромные закладки, и по жирному шрифту на ней хорошо видно, какая закладка текущая.
5. Навигация по закладкам работает не совсем так как в IAR: в Keil комбинация клавиш Ctrl+TAB просто перебирает закладки по порядку, одна за другой. В IAR есть запоминание истории обращения к закладкам, и Ctrl+TAB возвращает ту закладку, к которой было предыдущее обращение.
6. В IAR закладки можно перемещать, в Keil почему-то это не сделали.
7. После запуска отладки в Keil совершенно непонятно, в каком состоянии находится отладка - процессор работает, или же программа приостановлена. В IAR текущее состояние отладчика хорошо видно по смене внешнего вида кнопок быстрого запуска/остановки отладки.
8. В навигаторе проекта Keil, где отображаются файлы модулей и папки, имена файлов модулей почему-то не отсортированы. Это сильно затрудняет поиск нужного файла в проекте.
9. В Keil неудобно в проект добавлять новые модули. Надо создать группу (папку), потом кликнуть на неё правой кнопкой и выбрать в контекстном меню "Add Existing Files ...". В IAR все делается проще: можно просто перетащить из Проводника файлы прямо в нужную папку проекта.
10. Поведение просмотра регистров у IAR и Keil при отладке отличается. Изменившиеся значения регистров IAR показывает красным шрифтом. Keil пометит изменения зеленым фоном только полей регистра, или регистра целиком (если у него нет битовых полей). Например, если содержимое регистра CONFIG при отладке в Keil свернуто (его поля не отображаются), то изменения в нем не увидите.
[А вот за это Keil заслужил плюс]
1. Keil в комментариях подсвечивает специальные символы, предназначенные для автоматической компиляции документации doxygen. IAR это не делает.
2. Не активные ветки условной компиляции препроцессора (#if, #ifdef, #elif, #else и т. п.) помечаются в текстовом редакторе серым цветом. Очень удобно! |