Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-MAT91SAM9XXXXX
Проблема с записью в dataflash через SAM-BA
kurtis
Добавлено 20.06.2010 18:45
0
Сообщение: 1
kurtis
5

Регистрация: 22.12.2009
Пытаюсь заново прошить Bootstrap. Содержимое dataflash удалил через SAM-BA опцию "Erase All". Раньше был заводской Bootstrap, потом я его менял, и он работал. Потом я переставил систему и заново собрал компилятор, для проверки работоспособности компилятора решил собрать заново Bootstrap и заново его зашить в dataflash. В итоге, я не могу ничего зашить в DF (ну или я думаю что ничего не могу зашить). Скрипты для SAM-BA брал с диска, SAM-BA версии 2.8, ее взял с at91.com.

Плата в системе замечательно видится
Код
mike@mike-desktop:/tmp/Viewer$ lsusb -d 03eb:6124
Bus 005 Device 040: ID 03eb:6124 Atmel Corp. at91sam SAMBA bootloader

Нужное устройство в системе появляется.

При попытке запустить SAM-BA выводиться такое сообщение
Код
mike@mike-desktop:~/ARM/sam-ba_cdc_2.8.linux_01$ ./sam-ba_cdc_2.8.linux_01
-I- Waiting ...
-I- TCL platform : Linux
-I- SAM-BA OS : linux
-I- Search for device decription files in folder :
-I- /home/mike/ARM/sam-ba_cdc_2.8.linux_01/sam-ba_cdc_2.8.linux_01/../lib/devices
-I- Reading AT91SAM9263.tcl
-I- Check the processor ID at address : 0xFFFFEE40
-I- Read chip ID : 0x00000010 at addr: 0xFFFFEE40
-I- Reading AT91SAM7S32.tcl
-I- Check the processor ID at address : 0xFFFFF240
-I- Read chip ID : 0x019803A1 at addr: 0xFFFFF240
-I- Found device : AT91SAM9260 (Chip ID : 0x019803A0)


Далее в SAM-BA выбираю пункт инициализации DF и затем записи загрузочной области, вот что пишется лог
Код
loading history file ... 0 events added
SAM-BA console display active (Tcl8.4.17 / Tk8.4.17)
(sam-ba_cdc_2.8.linux_01) 1 %
(sam-ba_cdc_2.8.linux_01) 1 % DATAFLASH::SelectDataflash AT91C_SPI0_CS0
-I- Init SPI0 for DataFlash interfaces
-I- Configure SPI0 PIOs
-I- Reset the SPI0
-I- Configure SPI0 in Master Mode (no CS selected)
-I- Configure SPI0 CS0 for DataFlash AT45
-I- Configure SPI0 CS1 for DataFlash AT45
-I- Disable the RX and TX PDC transfer requests
-I- Reset all Counter register Next buffer first
-I- Enable the RX and TX PDC transfer requests
-I- End of Init_DataFlash
-I- Switch to the correct PCS of SPI0 Mode Register (Fixed Peripheral Selected)
-I- Chip Select 0 Selected
-I- Enable the SPI0
-I- Wait for dataflash ready (bit7 of the status register)
-I- DataFlash AT45DB321
-I- End of Select DataFlash
-I- Initialize SDRAM
-I- Configure PIOC as peripheral (D16/D31)
-I- Init MATRIX to support EBI0 CS1 for SDRAM
-I- Init SDRAM
-I- 1. A minimum pause of 200us is provided to precede any signal toggle
-I- 2. A Precharge All command is issued to the SDRAM
-I- *pSDRAM = 0;
-I- 3. Eight Auto-refresh are provided
-I- *pSDRAM = 0;
-I- *pSDRAM = 0;
-I- *pSDRAM = 0;
-I- *pSDRAM = 0;
-I- *pSDRAM = 0;
-I- *pSDRAM = 0;
-I- *pSDRAM = 0;
-I- *pSDRAM = 0;
-I- 4. A mode register cycle is issued to program the SDRAM parameters
-I- *(pSDRAM+0x20) = 0;
-I- 5. Write refresh rate into SDRAMC refresh timer COUNT register
-I- 6. A Normal Mode Command is provided, 3 clocks after tMRD is set
-I- *pSDRAM = 0;
-I- End of Init_SDRAM_48
(sam-ba_cdc_2.8.linux_01) 1 % DATAFLASH::SendBootFileGUI
-I- File size = 3432 byte(s)
-I- Boot File Written Successfully
(sam-ba_cdc_2.8.linux_01) 1 %


Т.е. судя по логу все нормально, где проблема и почему оно не работает, я не знаю. Но после аппаратного сброса (или сброса по питанию) опять загружается sam-ba и в терминале выводиться строка RomBOOT с запросом на ввод.

Может кто-то сталкивался с подобной проблемой или знает пути ее решения?

Спасибо!
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 20.06.2010 21:26 Сообщение: 2
sasamy
4.71

Пункты: 83552
Регистрация: 14.08.2009
Судя по всему речь идет о системе linux - была абсолютно похожая ситуация, не смог записать хотя примерно год назад все работало :) разбираться не стал - судя по всему проблема на свежих ядрах, записал под windows. Тут кто-то утверждал что у него все работает и на свежих ядрах, так что это все только мои предположения, возможно связано с конкретным чипсетом, если что у меня такой
Код

# lspci | grep USB
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
Спуститься к концу Подняться к началу
Персональная информация
kurtis
Добавлено 20.06.2010 23:26 Сообщение: 3
kurtis
5

Регистрация: 22.12.2009
У меня:
Код
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)


Может действительно с ядром проблемы...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 20.06.2010 23:43 Редактировалось 20.06.2010 23:56 Сообщение: 4
sasamy
4.71

Пункты: 83552
Регистрация: 14.08.2009
Цитата
Может действительно с ядром проблемы...


На 99,9 % дело в свежих ядрах для интеловских чипсетов :) не припомню чтобы я что-то менял для tcl/tk, а там собственно больше ничего нет - загружается предкомпилированные бинарники на целевую платформу которые все и выполняет а они 100% не изменялись.
Спуститься к концу Подняться к началу
Персональная информация
kurtis
Добавлено 21.06.2010 02:07 Сообщение: 5
kurtis
5

Регистрация: 22.12.2009
Теория про проблемы с интеловскими чипсетами у меня не находит подтверждения.

Попробовал на 2-х ноутбуках, на 1-м стоит какой-то интеловский чипсет, на другом от nVidia, везде результат идентичный.
Спуститься к концу Подняться к началу
Персональная информация
kurtis
Добавлено 21.06.2010 03:35 Сообщение: 6
kurtis
5

Регистрация: 22.12.2009
вот здесь http://www.at91.com/forum/viewtopic.php/f,26/t,19128/ обсуждается проблема, возможно оно как-то связанно...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.06.2010 10:19 Сообщение: 7
sasamy
4.71

Пункты: 83552
Регистрация: 14.08.2009
Нашел свою старую тему тут:
http://www.starterkit.ru/html/index.php?name=forum&op=view&id=5312&word=sam-ba

На http://www.at91.com драйвер usbserial ковыряют что похоже на правильный путь, я например на новых ядрах наблюдал проблемы в своем переделанном bootstrap(mbs) при загрузке бинарников по x-modem, чего раньше никогда не было (у меня компорт на usb-serial pl2303).
Спуститься к концу Подняться к началу
Персональная информация
kurtis
Добавлено 21.06.2010 22:30 Сообщение: 8
kurtis
5

Регистрация: 22.12.2009
Попробовал на работе под окнами это сделать, результат тот-же, так что видимо у меня все-таки немного другая ситуация.
Я помню в первый раз когда я хотел прошить загрузчик, то у меня тоже долго что-то не получалось, а потом как-то внезапно все вдруг стало получаться.

Спасибо за быструю реакцию, буду дальше что-то думать, может на самом деле мне нужно просто внимательнее прочитать документацию))
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 21.06.2010 22:53 Сообщение: 9
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
пардон что влезаю в тему :)
имеет смысл, при наличие осциллографа или хотя бы тестера или светодиода+резистор сделать следующее
найти в сорцах Bootstrap место где происходит запуск Uboot и там вывести "1" на любой свободный пин ну и вечный цикл
- если единичка не видна - искать ошибку на стадии Bootstrap
- если единичка видна, то где-то неправильно прописаны параметры вызова Uboot (адрес, размер etc)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
kurtis
Добавлено 21.06.2010 23:16 Сообщение: 10
kurtis
5

Регистрация: 22.12.2009
Да нет, до u-boot я еще не добрался))

я не могу загрузить сам Bootstrap в dataflash, т.е. я его пишу, SAM-BA говорит что все хорошо, но при загрузке, в консоль вываливается надпись RomBOOT. Т.е. если бы был "плохой" Bootstrap. то оно бы все-равно хоть как-то но грузилось, т.к. верификация проходит по соержимому первых 7 (вроде) слов памяти, причем 6-е должно быть размером прошивки. Я смотрел hex редактором, значения там нормальные. Размер прошивки по идее должен определятся скриптом tcl. Так же я пробовал ручками туда требуемый адрес записывать. Все-равно все плохо...

но идея в принципе хорошая, нужно будет осциллографом потыцать, посмотреть идет ли в dataflash вообще запись...
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-MAT91SAM9XXXXX