Делаю с CW 1.5b2 под AT91RM9200 (на evm9200)
Флэшку победил, лоадер сделал свой по образу и подобию когентовского сампла.
Но начинаются приколы!!!
Причем если проект заработал, то прошивается и стартует, как в отладчике, так и самостоятельно с флэшки без проблем. НО. Очень не стабильно собираются проекты и отлаживаются.
1.Если править memorymap файл из IDE, то после правки ИДЕ вылетает сославшись на внутреннюю ошибку и запускается только если восстановить родной мем-мап для проца (он почему-то усекается до нескольких кб)
2.BIN. Если делать не только эльф, то почему-то иногда проект клинит, так что надо создавать новый. А косяк такой : размер бина = 512 или 256 Мб !!! Если делать хекс, то и он кривой хоть и маленький.
3.В проект добавляю скрипт загрузчика, в ИДЕ не дает менять тип файла и при отладке периодически ругается что типа не найден объект во второй строке. Лечиться правкой файла проекта руками, путем установки типа файла
4.Самое гнустное. Допустим, добавляю в прогу обычный printf и когда в отладчике пытаюсь его пройти, то все клинит (естественно _putchar переопределил, да и адреса вызовов на первый взгляд нормальные). Делаю новый проект с теми-же файлами и настройками и … все ОК! Но иногда эта хрень повторяется заново и сама же может и пропасть, как и п.2. Хотя такое происходит и со своими функциями, но реже.
5.Захотел в SDRAM выделить себе буферок под 10 Мб (ну надо!), ну и чтобы по игротски описал его, как сегмент без конкретного адреса, но с размером. Пока нормально – компилится размещается. Описываю в проге на него ссылку типа extern unsigned int __seg_start__; далее использую это число как адрес начала буфера. И вот тута начинается. Дохожу отладчиком на место присвоения адреса своему указателю и:
a.Подвожу курсор на переменную сегмента – адрес совпадает на 100%
b.А переменной присваивается на 26 меньше, хотя бывают и другие расхождения.
В принципе бывают и другие «радости».
Знатоки, может подскажете? Что и как……
Или переходить под IAR, жалко, нравится сама среда CW, да и другие прелести есть…
Пробовал на Win2003 и XPsp2. С виглером и с MT-линком. Может просто глюки из за этих осей – типа подавай ей ME или просто XP.