а в начале программы вписать типа
printf("Start superpuper\n\r");
возможно у вас что-то интится в п/п clock_init и в момент вывода на консоль сообщения наступает событие (типа прерывания) и все виснет..
и еще, если для сборки используется makefile и там есть -O2, то попробуйте убрать эти буковки..
Спасибо! Действительно я использовал шаблонный проект от Atmel, все лишнее поубирал, но торопился и недосмотрел, действительно было прерывание по таймеру, которое все и валило...
По поводу "крякозябл" тоже определился...
такое возникает при плохом контакте питания, лечится соответственно нормальным контактом)
Возник еще один вопрос, на плату которую я описал выше, поставил процессор AT91SAM9260 + NandFlash (Samsung k9f5608uod)... BootStrap стартует с нанда, и соответственно грузится дальше, но по факту запускается только BootStrap, то есть после инициализации "железа" возникают какие то проблемы и к нанду bootstrap не может достучаться.
Думал дело в таймингах SMС, но выставил с запасом (собственно в исходниках, которые я привел выше видны), но успешного старта с нанд памяти нету...
Да и еще, не подскажите куда копируется U-boot для платы SK-MAT91SAM9260? Получается что в дефолтовой сборке U-boot и BootStrap стоят адреса 0x23F00000, но на целевой плате памяти всего 32Мб, то есть загрузчик должен лежать где то в диапазоне [0х20000000..0х22000000]... А вот где именно?
странно, обычно кракозябры лезут при плохом кабеле для коммуникаций. а хреновый контакт по питанию обычно взвешивает систему.. впрочем всякое бывает
по вопросам о нанде и адресам.. давно не лазил в дебри железа 9260..
сюда ходили - ссылка тыц?
по траектории приживления нанда - я бы пошел по простейшему пути (ибо ленив зело): поставить Dataflash и Nand, сначала бы поднял систему на Dataflash, а уж из под линукса стучался бы до нанда. благо можно и регистры вывести на консоль и их подкрутить "в живую"
Решил покрутить внешнюю память...обнаружил интересную багу.
Пишу в DataFlash все 0хFF потом вычитываю данные и получается что в некоторых ячейках данные отличаются от 0хFF. Пр этом если последовательно вычитывать несколько вычиток, то в разных местах проскальзывают такие несоответствия. То есть предположительно записано там все как нужно, а вычитываю некоторые "битые" биты....
О чем это может свидетельствовать?
1. Корявая разводка платы?
2. Битая DataFlash?
P.S. объем прошивки беру ровно 4Мб, ту же процедуру проделал для NANDFlash - все ок.
Возник следующие вопрос.
Взял в IAR проект basic-emac-uip-helloworld-project. Откомпилировал, запустил на SK-MAT91SAM9260 по сети через U-noot, все работает.
Взял аналогичную прошивку для at91samxe512 и гружу непосредственно BootStrap'ом. При этом физический уровень Ethernet не инициализируется.
Подскажите куда копать что бы его успешно проинитить?
Физический уровень реализован как и на SK-платах: MICREL KSZ8721BLI