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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Проблема с 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
АДИКМ
сообщение Apr 10 2008, 13:02
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 2-08-05
Пользователь №: 7 294



попробуйте залить самбой.


--------------------
летаю на пепелаце...
Go to the top of the page
 
+Quote Post
slava2005
сообщение Apr 10 2008, 13:08
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



Цитата(АДИКМ @ Apr 10 2008, 17:02) *
попробуйте залить самбой.


На rm9200 самбы нет.

Цитата(tiky @ Apr 10 2008, 16:49) *
Народ, помогите разобраться в чем дело smile3046.gif Есть плата rainbow 1.1 и есть u-boot, который упорно не хочет вставать на эту плату unsure.gif Отправляю по x-modem-у образ u-boot-а, вроде бы все проходит удачно, далее чуток жду и вылетает "Verify Dataflash: Failed". Начал копать, и первое что сделал, посмотрел что прописалось на флешку...


Ну здесь такая же картина...
Вообщем получается что килобайт нормальных данных. килобайт 0xFFFFFFFF (нули стоят т.к. я очистил загрузочный сектор, если смотреть далее, то заместо нулей будут нормальные данные, вообщем так и болжно быть) и все поновой.



Напишите последовательность своих действий.

И килобайта нормальных данных я у Вас не обнаружил. С C0000000 должен лежать ромбут - я его не увидел (у Вас нули).

Цитата
Verify Dataflash: Failed


Только щас увидел. Это или ошибки железа (сопли, непропай) или - скорее всего неправильная инициализация SDRAM.
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Apr 10 2008, 13:26
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Цитата(slava2005 @ Apr 10 2008, 17:08) *
Только щас увидел. Это или ошибки железа (сопли, непропай) или - скорее всего неправильная инициализация SDRAM.

Думаю, что в первую очередь именно неправилтная инициализация. А тестировать память надо случайными числами тут уже были исходники, позволю себе выложить то, что я доправлял для того, чтобы это влезло в загрузчик
Прикрепленные файлы
Прикрепленный файл  ramtest.zip ( 1.42 килобайт ) Кол-во скачиваний: 118
 
Go to the top of the page
 
+Quote Post
tiky
сообщение Apr 10 2008, 13:43
Сообщение #5





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



Цитата
попробуйте залить самбой.

Ну по поводу самбы, имхо неважно чем заливать DBGU или самбой результат будет один и тот же.
Цитата
Только щас увидел. Это или ошибки железа (сопли, непропай) или - скорее всего неправильная инициализация SDRAM.

Ну по поводу непропаев, насчет этого я смотрел и дома(с линзой) и на работе(с микроскопом,) такой вариан конечно возможен но маловероятен. А по поводу неправильной инициализации, ведь тест памяти проходит же, ну и кроме того я сидел специально расчитывал значение регистров для корректной инициализации. Ошибку не исключаю, но мне кажется тут она тоже маловероятна. Ну на всякий случай у меня hynix HY57V641620HG, если комуньть будет не лень написать правильные значения для данной памяти буду признателен. smile.gif
Цитата
И килобайта нормальных данных я у Вас не обнаружил. С C0000000 должен лежать ромбут - я его не увидел (у Вас нули).

Нули идут т.к. я сделал "4: Clear bootloader section in Dataflash". Эта секция находится в самом начале флешки, собстно она и очистилась.
Если просмотреть содержимое флешки дальше то там за место нулей появится U-Boot:
Цитата
c0004900: ea000001 20f1eb50 e3a00008 e91ba8f0 ....P.. ........
c0004910: e1a0c00d e92dd8f0 e24cb004 e1a07001 ......-...L..p..
c0004920: e24b1020 e1a04000 e1a06002 e59f0068 .K..@...`..h...
c0004930: e24dd004 e50b4020 ebffff06 e2505000 ..M. @.......PP.
c0004940: e3a00040 0a000016 e1a00005 e1a01004 @...............
c0004950: e1a02006 ebffff3b e3500000 e3a00008 . ..;.....P.....

У меня щас нет под рукой образа U-Boot-a, так бы залил снова и показал что заместо нулей будут записанны некоторые данные..


Цитата(AlexMad @ Apr 10 2008, 17:26) *
Думаю, что в первую очередь именно неправилтная инициализация. А тестировать память надо случайными числами тут уже были исходники, позволю себе выложить то, что я доправлял для того, чтобы это влезло в загрузчик

Да согласен, пока руки до нормального теста не дошли... unsure.gif
Спасибо за исходник! smile.gif Щас попробую его потестить на своей плате wink.gif
Go to the top of the page
 
+Quote Post
slava2005
сообщение Apr 10 2008, 13:43
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



Цитата(tiky @ Apr 10 2008, 17:39) *
Нули идут т.к. я сделал "4: Clear bootloader section in Dataflash". Эта секция находится в самом начале флешки, собстно она и очистилась.
Если просмотреть содержимое флешки дальше то там за место нулей появится U-Boot:



Т.е. ромбут Вы во флеш записали. После чего у Вас плата нормально стартует со флеши ?

Далее вы х-модемом заливаете Ю-Бут (уже не помню с какого адреса) и он пишется, но не корректно ?

Ошибки повторяющиеся или случайные ?
Go to the top of the page
 
+Quote Post
tiky
сообщение Apr 10 2008, 14:17
Сообщение #7





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



Цитата
Т.е. ромбут Вы во флеш записали. После чего у Вас плата нормально стартует со флеши ?
Далее вы х-модемом заливаете Ю-Бут (уже не помню с какого адреса) и он пишется, но не корректно ?
Ошибки повторяющиеся или случайные ?

В начале по DBGU я заливаю в контроллер romboot он попдает во внутренний SRAM, далее я попадаю в меня romboot-а где выбираю команду "1: Download Dataflash [addr]" точнее "1 С0000000". Потом снова по x-modemu, заливаю U-boot. U-Boot попадает в sdram откуда переписывается во flash. Но у меня во флеш пишется килобайт нормально килобайт FFFFFFFF и т.д. Так происходит постоянно. sad.gif Щас буду пробовать новый тест памяти возможно это что-то прояснит.

Сообщение отредактировал tiky - Apr 10 2008, 14:19
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Apr 10 2008, 14:34
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Цитата(tiky @ Apr 10 2008, 18:17) *
В начале по DBGU я заливаю в контроллер romboot он попдает во внутренний SRAM, далее я попадаю в меня romboot-а где выбираю команду "1: Download Dataflash [addr]" точнее "1 С0000000". Потом снова по x-modemu, заливаю U-boot. U-Boot попадает в sdram откуда переписывается во flash. Но у меня во флеш пишется килобайт нормально килобайт FFFFFFFF и т.д. Так происходит постоянно. sad.gif Щас буду пробовать новый тест памяти возможно это что-то прояснит.

После заливки ромбута в рам, надо залить его ЕЩЕ раз (команда 1 0xC0000000) для записи во флешь, стартануть из флеши и только потом заливать у-бут
Go to the top of the page
 
+Quote Post
tiky
сообщение Apr 10 2008, 15:31
Сообщение #9





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



Цитата(AlexMad @ Apr 10 2008, 18:34) *
После заливки ромбута в рам, надо залить его ЕЩЕ раз (команда 1 0xC0000000) для записи во флешь, стартануть из флеши и только потом заливать у-бут

Да действительно все оказалось куда проще чем я думал biggrin.gif Ромбут залился нормально, и ю-бут тоже. Вот правда ю-бут не стартует пока что sad.gif Буду с этим копаться smile.gif
З.Ы. Инетерсно по какой причине ю-бут отказывался нормально заливаться на флешку? Ведь по сути при старте загрузчик тянет ромбут в туже самую SRAM как и при заливке по DBGU unsure.gif

А к стати говоря, ктоньть может подсказать что сейчас за грабли с ю-бутом? Память, plla куда бы глянуть? 07.gif
Go to the top of the page
 
+Quote Post
slava2005
сообщение Apr 11 2008, 07:24
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



Цитата(tiky @ Apr 10 2008, 19:31) *
А к стати говоря, ктоньть может подсказать что сейчас за грабли с ю-бутом? Память, plla куда бы глянуть? 07.gif


Осторожнее. Ю-бут НЕ должен настраивать перефирию.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jul 16 2008, 10:11
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Чтобы не плодить лишних тем, задам свой глупый вопрос тут. Как под линухом собрать этот самый romboot?! На сайте atmel не нашел romboot под 9200, поэтому пытался собрать что-то скачанное тут. Но не получается. Следую инструкции heavy, но там про сборку romboot вообще ничего не написанно. Какой командой его собирать? smile.gif


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
slava2005
сообщение Jul 16 2008, 14:55
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



Цитата(Dron_Gus @ Jul 16 2008, 14:11) *
Чтобы не плодить лишних тем, задам свой глупый вопрос тут. Как под линухом собрать этот самый romboot?! На сайте atmel не нашел romboot под 9200, поэтому пытался собрать что-то скачанное тут. Но не получается. Следую инструкции heavy, но там про сборку romboot вообще ничего не написанно. Какой командой его собирать? smile.gif


Да там вроде и так все понятно smile.gif
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Jul 16 2008, 17:01
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



На сайте Atmel'a буквально вчера, видать по многочисленным просьбам, вновь выложен loader, который грузит u-boot
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jul 16 2008, 17:41
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(slava2005 @ Jul 16 2008, 18:55) *
Да там вроде и так все понятно smile.gif


Понятно для тех, кто хотя бы раз прошел этот путь. Я же уже второй раз пытаюсь все это самостоятельно сделать и пока безрезультатно. Хотя год назад как-то собрал этот romboot, но не могу припомнить как. Да и виртуалку со всем этим барахлом угробил. Ну есть там файл "compile". На makefile не похож. С чем его едят, я не знаю. sad.gif



Цитата(sergeeff @ Jul 16 2008, 21:01) *
На сайте Atmel'a буквально вчера, видать по многочисленным просьбам, вновь выложен loader, который грузит u-boot


Искал. Нашел только готовые бинарники под 9200dk и AT91 Bootstrap, который 9200 не держит. Ткните носом, пожалуйста.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Jul 16 2008, 18:13
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Посмотри http://www.atmel.com/dyn/products/app_note...p?family_id=605. Там есть Booting U-boot from Atmel Serial DataFlash on the AT91RM9200-DK Board. Готовый проект.
Go to the top of the page
 
+Quote Post

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

 


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


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