реклама на сайте
подробности

 
 
> Проблема с romboot-ом, Народ помогите разобраться
tiky
сообщение Apr 10 2008, 12:49
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 10-04-08
Пользователь №: 36 654



Народ, помогите разобраться в чем дело smile3046.gif Есть плата rainbow 1.1 и есть u-boot, который упорно не хочет вставать на эту плату unsure.gif Отправляю по x-modem-у образ u-boot-а, вроде бы все проходит удачно, далее чуток жду и вылетает "Verify Dataflash: Failed". Начал копать, и первое что сделал, посмотрел что прописалось на флешку...
Цитата
ATMEL LOADER VER 1.01 Apr 10 2008 16:03:20
*----------------------------------------*
DataFlash:AT45DB161
Nb pages: 004096
Page Size: 000528
Size=02162688 bytes
Logical address: 0xC0000000
*----------------------------------------*
1: Download Dataflash [addr]
2: Read Dataflash [addr]
3: Start U-BOOT
4: Clear bootloader section in Dataflash
5: Memory test

*----------------------------------------*
Enter: 2 C0000000
c0000000: 00000000 00000000 00000000 00000000 ................
c0000010: 00000000 00000000 00000000 00000000 ................
c0000020: 00000000 00000000 00000000 00000000 ................
c0000030: 00000000 00000000 00000000 00000000 ................
c0000040: 00000000 00000000 00000000 00000000 ................
c0000050: 00000000 00000000 00000000 00000000 ................
c0000060: 00000000 00000000 00000000 00000000 ................
c0000070: 00000000 00000000 00000000 00000000 ................
c0000080: 00000000 00000000 00000000 00000000 ................
c0000090: 00000000 00000000 00000000 00000000 ................
c00000a0: 00000000 00000000 00000000 00000000 ................
c00000b0: 00000000 00000000 00000000 00000000 ................
c00000c0: 00000000 00000000 00000000 00000000 ................
c00000d0: 00000000 00000000 00000000 00000000 ................
c00000e0: 00000000 00000000 00000000 00000000 ................
c00000f0: 00000000 00000000 00000000 00000000 ................

Здесь я пропущу часть вывода, т.к. там тоже нули
Цитата
c0000400: fffffff fffffffff ffffffff ffffffff ................
c0000410: ffffffff ffffffff ffffffff ffffffff ................
c0000420: ffffffff ffffffff ffffffff ffffffff ................
c0000430: ffffffff ffffffff ffffffff ffffffff ................
c0000440: ffffffff ffffffff ffffffff ffffffff ................
c0000450: ffffffff ffffffff ffffffff ffffffff ................
c0000460: ffffffff ffffffff ffffffff ffffffff ................
c0000470: ffffffff ffffffff ffffffff ffffffff ................
c0000480: ffffffff ffffffff ffffffff ffffffff ................
c0000490: ffffffff ffffffff ffffffff ffffffff ................
c00004a0: ffffffff ffffffff ffffffff ffffffff ................
c00004b0: ffffffff ffffffff ffffffff ffffffff ................
c00004c0: ffffffff ffffffff ffffffff ffffffff ................
c00004d0: ffffffff ffffffff ffffffff ffffffff ................
c00004e0: ffffffff ffffffff ffffffff ffffffff ................
c00004f0: ffffffff ffffffff ffffffff ffffffff ................
Ну здесь такая же картина...
Вообщем получается что килобайт нормальных данных. килобайт 0xFFFFFFFF (нули стоят т.к. я очистил загрузочный сектор, если смотреть далее, то заместо нулей будут нормальные данные, вообщем так и болжно быть) и все поновой.

Дальше стал думать в чем причина, первое что пришло в голову это SDRAM. Внимательно прошелся по плате со линзой посмотрел на наличие непропаев. Вроде бы нет unsure.gif Написал простенькую подпрограмку тестирования памяти, вроде бы тоже все ок.
Вот навсякий случай ее код:
Код
printf("Starting memory test...\n\r");
            while (1){
            
           pSDRAM = (unsigned int *) 0x20000000;
    
        for (wCount = 0;wCount < 0x1FFFFFF;wCount++){
            wWrite=0x20000000+wCount;
            *pSDRAM = wWrite;
            wRead = *pSDRAM;
            //delay
            for(s_time=0;s_time<1000;s_time++);
            if (wRead != wWrite)
                   printf ("!\n\rAddress [0x%08X] = Write: 0x%08X, Read: 0x%08X\n\r",wWrite,wWrite,wRead );
            pSDRAM++;
        }

Потом попробовал поиграться с настройками SDRAM контроллера, безрезультатно sad.gif
Следующее, что подверглось тестированию это флешка, поменял флешки местами на плате, результат тот же, но зато теперь есть точно уверенность что он оби рабочие.
Далее, что стал проверять, это непосредственно данные которые брались из SPI. Дошел до функции AT91F_SpiWrite(), в ней есть два указателя на массив в памяти куда PDC будет кидать данные из SPI.
Код
        /* Initialize the Transmit and Receive Pointer */

        AT91C_BASE_SPI->SPI_RPR = (unsigned int)pDesc->rx_cmd_pt;

        AT91C_BASE_SPI->SPI_TPR = (unsigned int)pDesc->tx_cmd_pt;

Если считывать эту память то действительно считываемые символы лежат там, но к моему разочарованию там же оказались и 0xFFFFFFFF crying.gif Посмотрел на какой же адрес указывают эти указатели оказалось, что на rx_cmd_pt=0x000029FE, tx_cmd_pt=0x000029FE, т.е. куда-то в начало адресного пространства(странно как-то ведь SDRAM у нас находится совсем в другом месте, как собстно и SRAM).Может я где-то косяк допустил? Подскажите в каком направлении двигаться?

З.Ы. Да к стати думал о том что неправильно заданна частота PLL и соответстно памяти, но потом глянул в код и увидел, что PLL инициализируется только на шаге загрузке U-Boota, а у меня до этого даже не доходит. Выходит что пока вся система работает с частотой кварца. Исходник romboota брал с heavy.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- tiky   Проблема с romboot-ом   Apr 10 2008, 12:49
- - АДИКМ   попробуйте залить самбой.   Apr 10 2008, 13:02
|- - slava2005   Цитата(АДИКМ @ Apr 10 2008, 17:02) попроб...   Apr 10 2008, 13:08
|- - AlexMad   Цитата(slava2005 @ Apr 10 2008, 17:08) То...   Apr 10 2008, 13:26
- - tiky   Цитатапопробуйте залить самбой. Ну по поводу самбы...   Apr 10 2008, 13:43
|- - slava2005   Цитата(tiky @ Apr 10 2008, 17:39) Нули ид...   Apr 10 2008, 13:43
- - tiky   ЦитатаТ.е. ромбут Вы во флеш записали. После чего ...   Apr 10 2008, 14:17
|- - AlexMad   Цитата(tiky @ Apr 10 2008, 18:17) В начал...   Apr 10 2008, 14:34
|- - tiky   Цитата(AlexMad @ Apr 10 2008, 18:34) Посл...   Apr 10 2008, 15:31
|- - slava2005   Цитата(tiky @ Apr 10 2008, 19:31) А к ста...   Apr 11 2008, 07:24
- - Dron_Gus   Чтобы не плодить лишних тем, задам свой глупый воп...   Jul 16 2008, 10:11
|- - slava2005   Цитата(Dron_Gus @ Jul 16 2008, 14:11) Что...   Jul 16 2008, 14:55
- - sergeeff   На сайте Atmel'a буквально вчера, видать по мн...   Jul 16 2008, 17:01
- - Dron_Gus   Цитата(slava2005 @ Jul 16 2008, 18:55) Да...   Jul 16 2008, 17:41
|- - Alex2172   Цитата(Dron_Gus @ Jul 16 2008, 21:41) Пон...   Aug 27 2008, 11:23
- - sergeeff   Посмотри http://www.atmel.com/dyn/products/app_not...   Jul 16 2008, 18:13
- - Dron_Gus   Там опять же готовый бинарник и исходники, но не п...   Jul 16 2008, 18:55
- - Cadavre   У меня та же самая проблема: после повторной залив...   May 26 2011, 06:54


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 18:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016