Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Отладочные платы » SK-MAT91SAM9G45/M10
9G45, загрузка с SD карты
Pavel Ivanchenko
Добавлено 20.11.2010 12:30 Редактировалось 20.11.2010 17:59
0
Сообщение: 1
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Решил докурутить загрузку с SD карточек.
Пример выдаваемый Atmel неработоспособен, вернее он вобще не собирается.
Посмотрел пример для G20 плат, чуть поправил опции проекта и выключил макрос MCI2_INTERFACE, собирается и даже работает до момента копирования файла с карточки в память, на котором уходит на перезагрузку:
Код
-- AT91bootstrap Project 3.0 --
-- SK-MAT91SAM9G45/M10
-- Compiled: Nov 20 2010 12:20:39 --
-I- Setting: MCK = 133MHz
-I- I cache is already enabled.
-I- Init DDRAM
-I- MEDSdcard init
-I- Copy "appli.bin" from SdCard to 0x70400000

-- AT91bootstrap Project 3.0 --
-- SK-MAT91SAM9G45/M10
-- Compiled: Nov 20 2010 12:20:39 --
...

Насколько хватило терпения, проследил где падает, дошел до функции "chk_mounted" ...
Пока мыслей нет, куда ему "ткнуть" чтоб он в чувства пришел, проект выкладываю здесь, может у кого какие мысли возникнут, сам проект под Keil.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 20.11.2010 14:32 Сообщение: 2
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Итак, нужно переопределить пин детекта карточки (PA31), но все-равно не желает работать:
Код
-- AT91bootstrap Project 3.0 --
-- SK-MAT91SAM9G45/M10
-- Compiled: Nov 20 2010 14:02:39 --
-I- Setting: MCK = 133MHz
-I- I cache is already enabled.
-I- Init DDRAM
-I- MEDSdcard init
-W- SdMmcIdentify.Cmd5: 3
-E- SdMmcIdentify.Cmd1: 3
-E- SD_Init.Identify
-E- SD/MMC card initialization failed
...
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 20.11.2010 17:46 Редактировалось 20.11.2010 17:46 Сообщение: 3
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Да-а, писалась эта штука без оглядки на возможные вариации упаковки в разных компиляторах ...
После того как отключил Icache, процес двинулся чуть дальше, уперлась в функции SdGetExtInformation, а имено при вызове Acmd13 или Acmd51, насколько я понял, можно и без них обойтись, продвинулся чуть дальше:
Код
-- AT91bootstrap Project 3.0 --
-- SK-MAT91SAM9G45/M10
-- Compiled: Nov 20 2010 17:29:21 --
-I- Setting: MCK = 133MHz
-I- Init DDRAM
-I- MEDSdcard init
-W- SdMmcIdentify.Cmd5: 3
-I- SD MEM
-I- Card Type 2, CSD_STRUCTURE 0
-I- SD/MMC TRANS SPEED 25000 KBit/s
-I- SD 4-BITS BUS
-I- SD/MMC TRANS SPEED 25000 KBit/s
-I- SD/MMC card initialization successful
-I- Card size: 1876 MB
-I- Copy "appli.bin" from SdCard to 0x73f00000

Теперь виснет в дебрях f_open, наверняка опять нестыковки с упаковкой в структурах или еще какая хрень, текущая версия лежит здесь.
Спуститься к концу Подняться к началу
Персональная информация
rw9uao
Добавлено 20.11.2010 18:23 Сообщение: 4
rw9uao
Ранг
5

Группа: Клиенты
Пункты: 6973
Регистрация: 26.03.2009
Паш, ты stand alone что-ли пишешь?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 20.11.2010 18:47 Сообщение: 5
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Я не пишу, я пытаюсь привести в чувства то что атмел выдает, ну а сам SD-бутстрап конечно стандалон приложение.
Спуститься к концу Подняться к началу
Персональная информация
altulinov
Добавлено 20.11.2010 22:24 Сообщение: 6
altulinov
0

Пункты: 662
Регистрация: 03.11.2010
Пол: Мужчина
Из: С-Пб и Лен.обл.
ИМХО надо смотреть в сторону фатовских заголовочников от атмела.
Проблема тянется еще с G20.
Файлы записанные на карточку средствами G20 отлично читались и на G20 и на взрослых машинах. Файлы записанные со взрослой машины вообще не виделись через G20.
Вроде проблема решалась, если карту форматировать из под линуха, ну и файлы ессно заливать через линух.

код ваш не смотрел, но если строку "-I- Copy "appli.bin" from SdCard to 0x73f00000" выдает функция ДО попытки считать/открыть файл, то значит что файл просто напросто не найден.

Советую для проверки вывести в терминал средствами отладочника список файлов, которые он нашел. Что-то подсказывает что appli.bin там не будет.
Спуститься к концу Подняться к началу
Персональная информация
e1
Добавлено 29.11.2010 23:09 Редактировалось 29.11.2010 23:09 Сообщение: 7
e1
0

Пункты: 663
Регистрация: 06.08.2009
Пол: Мужчина
Цитата
Решил докурутить загрузку с SD карточек....

Павел, хотелось бы узнать, есть ли положительный результат. Хочу купить сие изделие у Ваших партнеров в Киеве, но нужна загрузка с SD карточки...
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 30.11.2010 21:56 Сообщение: 8
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
На чем я остановился, описал в своих предыдущих постах, там же и проектники. В ближайшее время вряд ли возьмусь за продолжение ...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 05.12.2010 19:46 Редактировалось 05.12.2010 19:46 Сообщение: 9
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
три дня посвятил исследованию вопроса - ничего утешительного
проследил до строчки где происходит зависание:
файл sdmmc_mci.c подпрограмма SendCommand
не может выйти из цикла:
Код
// Wait for command to complete (if no callback defined)
if (pCommand->callback == 0) {
while (!MCI_IsTxComplete((Mci *)pSdDriver));

подумал на баг силикона из errata, но пока не могу подвести обоснование. баг фиксится в mci_hc.c, но в mci.c соответствующая п/п даже не вызывается.

пока отложил, мысль должна вылежаться

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.01.2011 02:53 Редактировалось 16.01.2011 03:17 Сообщение: 10
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

пока отложил, мысль должна вылежаться


Ну как - вылежалась ? :)

Код

Start AT91Bootstrap...
Image size: 0x1ab0c4, load_addr: 0x70008000, ep: 0x70008000
relocating linux kernel to proper address, dst: 0x70008000, src: 0x72000040, len: 0x1ab0c4, machid: 0x726
Uncompressing Linux.........................................................................................................
Linux version 2.6.30 (nferre@bendor) (gcc version 4.2.4) #1 Thu Jun 3 11:56:53 CEST 2010
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Atmel AT91SAM9M10G45-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait


Исходники тут
ftp://www.at91.com/pub/Android4SAM/9m10g45/v1.1/patches/bootstrap30.tar.gz

#CROSS_COMPILE=arm-angstrom-linux-gnueabi- make mrproper && make at91sam9g45sd_defconfig
#make menuconfig // - чтобы поправить размер памяти - больше там ничего не нужно трогать
#CROSS_COMPILE=arm-angstrom-linux-gnueabi- make

CROSS_COMPILE у вас естественно свой будет. Образ идущий с платой не загрузится - он запакован как-то не так - видимо "постаринке" загзипен. Нужно в ядре через make uImage его сделать (утилита mkimage из uboot при этом должна быть быть доступна в переменной окружения PATH), я готовый с сайта атмел брал. Карта SD должна содержать в 1 первом разделе с фс fat/fat32 бинаник бутстрапа переименованный в BOOT.BIN - обратите внимание что если вы делаете все в linux (или виртуальной машине с linux) буквы должны быть заглавные иначе бутром его не видит и имидж ядра, по умолчанию его нужно переименовать в IMAGE.BIN - тут я не уверен нужны ли заглавные буквы, я делал заглавными.

PS дополнительную информацию можно найти тут http://www.at91.com/android4sam/bin/view/Android4SAM/GettingStarted
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-MAT91SAM9G45/M10