Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9XE512-SIMXXX
Запустить IAR проект на плате SK-MAT91SAM9XE512
Dmitriyk2
Добавлено 30.07.2012 16:30
0
Сообщение: 1
Dmitriyk2
0

Пункты: 329
Регистрация: 05.07.2012
есть вот такая плата
http://www.starterkit.ru/html/index.php?name=shop&op=view&id=1

к ней подключен JetLink
есть IAR

Linux работает нормально. Хочу запустить на этой плате IAR проект "getting-started".

Проект собирается, создается .bin и .out файлы.

Нажимаю кнопку "Download and debug".
Как я понимаю, при нажатии этой кнопки прога должна загружаться в плату и запускаться на исполнение.
Но загрузка не происходит. Вот лог jetlink-а
======================================================
J-Link V4.50d DLL Log
DLL Compiled: Jun 5 2012 19:43:01
Logging started @ 2012-07-30 15:22

T0C84 000:099 JLINK_Halt()
T0C84 000:105 JLINK_Reset() -- Type: 0 returns TRUE
T0C84 001:514 JLINK_ReadMemU32(0xFFFFFC30, 0x0001 Items, ...) - Data: 0x00000000
T0C84 001:674 JLINK_WriteMem(0xFFFFFC20, 0x0004 Bytes, ...) - Data: 01 40 00 00
T0C84 001:994 JLINK_WriteMem(0x20000000, 0x0044 Bytes, ...) - Data: 28 F0 9F E5 28 00 9F E5 ...
T0C84 002:297 JLINK_WriteMem(0x20000100, 0x33FC Bytes, ...) - Data: F0 4F 2D E9 02 50 A0 E1 ...
T0C84 042:019 JLINK_ReadMemU32(0x20000000, 0x0011 Items, ...) - Data: 0xFFFFFFFF 0xFFFFFFFF ...
T0C84 042:382 JLINK_ReadMemU32(0x20000100, 0x0800 Items, ...) - Data: 0xFFFFFFFF 0xFFFFFFFF ...
T0C84 077:466 JLINK_ReadMemU32(0x20002100, 0x04FF Items, ...) - Data: 0xFFFFFFFF 0xFFFFFFFF ...
T0C84 104:408 JLINK_ReadMemU32(0xFFFFEF00, 0x0001 Items, ...) - Data: 0x00000000
T0C84 104:568 JLINK_WriteMem(0xFFFFEF00, 0x0004 Bytes, ...) - Data: 03 00 00 00
T0C84 104:762 JLINK_ReadMemU32(0xFFFFEF00, 0x0001 Items, ...) - Data: 0x00000003
T0C84 104:922 JLINK_ReadMemU32(0xFFFFFC30, 0x0001 Items, ...) - Data: 0x00000000
T0C84 105:082 JLINK_WriteMem(0xFFFFFC20, 0x0004 Bytes, ...) - Data: 01 40 00 00
T0C84 105:278 JLINK_ReadMemU32(0x2000167C, 0x0001 Items, ...) - Data: 0xFFFFFFFF
T0C84 105:503 JLINK_ReadMemU32(0x00000008, 0x0001 Items, ...) - Data: 0xF9D8EEE5
T0C84 108:443 JLINK_ReadMemU32(0x1FFFFF00, 0x0020 Items, ...) - Data: 0xFFFFFFFF 0xFFFFFFFF ...
T0C84 108:993 JLINK_ReadMemU32(0x1FFFFF80, 0x0020 Items, ...) - Data: 0xFFFFFFFF 0xFFFFFFFF ...
T0C84 109:546 JLINK_ReadMemU32(0x20000000, 0x0020 Items, ...) - Data: 0xFFFFFFFF 0xFFFFFFFF ...
T0C84 110:099 JLINK_ReadMemU32(0x20000080, 0x0020 Items, ...) - Data: 0xFFFFFFFF 0xFFFFFFFF ...
T0C84 110:685 JLINK_ReadMemU32(0x00000000, 0x0020 Items, ...) - Data: 0xE87F3313 0xE97D32FF ...
T0C84 111:236 JLINK_ReadMemU32(0x00000080, 0x0020 Items, ...) - Data: 0x1A827299 0x9A5A84E7 ...
T0C84 111:785 JLINK_ReadMemU32(0x0000003C, 0x0020 Items, ...) - Data: 0x8752D19F 0x6FD80349 ...
T0C84 112:334 JLINK_ReadMemU32(0x000000BC, 0x0020 Items, ...) - Data: 0x36EF7576 0x14EC4717 ...
T0C84 112:902 JLINK_ReadMemU32(0x20000010, 0x0001 Items, ...) - Data: 0xFFFFFFFF returns 0x00000000
======================================================

подозреваю, что проблема в ширине шины SDRAM 16/32.
Видно что при чтении с адреса 0x20000000 (начало SDRAM?) читается FF, хотя записывалось что-то другое.

В файле board.h, поменял частоту кварца на 12000000 и здесь:
====
/// Board SDRAM size
#define BOARD_SDRAM_SIZE (322424) // 32 MB
/// List of all SDRAM pins definitions.
#define PINS_SDRAM {0xFFFF0000, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_PERIPH_A, PIO_DEFAULT}
/// SDRAM bus width.
#define BOARD_SDRAM_BUSWIDTH 16 //32 ???
====
непонятно что за маска 0xFFFF0000 в макросе PINS_SDRAM, ее надо трогать?

Где еще смотреть? Как запустить IAR на этой плате
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 30.07.2012 20:29 Сообщение: 2
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
непонятно что за маска 0xFFFF0000 в макросе PINS_SDRAM, ее надо трогать?

в моей трактовке - это маска для настройки пинов регистра группы C для работы в альтернативном режиме.. согласно даташиту это часть старших битов шины данных SDRAM и что-то еще..
трогать или нет - не знаю..

Цитата
T0C84 001:674 JLINK_WriteMem(0xFFFFFC20, 0x0004 Bytes, ...) - Data: 01 40 00 00

проверьте, что делается этой записью, после нее идет обращение в область SDRAM..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Dmitriyk2
Добавлено 31.07.2012 00:12 Сообщение: 3
Dmitriyk2
0

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

проверьте, что делается этой записью, после нее идет обращение в область SDRAM..

это настраивается PMC (Power Management Controller), что то связанное с частотой, не оно
Спуститься к концу Подняться к началу
Персональная информация
Dmitriyk2
Добавлено 31.07.2012 00:53 Редактировалось 31.07.2012 00:54 Сообщение: 4
Dmitriyk2
0

Пункты: 329
Регистрация: 05.07.2012
Конфигурация SDRAM задается в регистре 0xFFFFEA08 (SDRAMC_CR). После сброса ширина шины 16 бит.
Т.е. вроде как, ширина шины правильная - 16 бит.
Кстати, не пойму почему вообще не настраивается SDRAM.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 31.07.2012 12:56 Сообщение: 5
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Конфигурация SDRAM задается в регистре 0xFFFFEA08 (SDRAMC_CR). После сброса ширина шины 16 бит.
Т.е. вроде как, ширина шины правильная - 16 бит.
Кстати, не пойму почему вообще не настраивается SDRAM.

не знаю.. в моем понимание есть два варианта - или пошагово через дебаг конфигурируется АРМ и запускается программа пользователя или в SRAM забрасывается маленький бинарник, который конфигурит АРМ - это надо смотреть доки на IDE программирования..
в свое время я покупал тут кит на 9260 с 32МБ, допаял еще 32МБ, перешил бутстрап.. с тех пор знания утеряны, железка успешно работает, последний аптайм (в линуксе) был ~180 дней..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Dmitriyk2
Добавлено 01.08.2012 15:16 Сообщение: 6
Dmitriyk2
0

Пункты: 329
Регистрация: 05.07.2012
Цитата
не знаю.. в моем понимание есть два варианта - или пошагово через дебаг конфигурируется АРМ и запускается программа пользователя или в SRAM забрасывается маленький бинарник, который конфигурит АРМ - это надо смотреть доки на IDE программирования..

а почему этого не видно в логе j-link?
Спуститься к концу Подняться к началу
Персональная информация
Dmitriyk2
Добавлено 07.08.2012 00:33 Сообщение: 7
Dmitriyk2
0

Пункты: 329
Регистрация: 05.07.2012
Нашел макрос (файл at91sam9xe-ek-sdram.mac) который инициализирует плату.

Исправил ширину шины на 16 (было 32)
__writeMemory32(0x852272D9,0xFFFFEA08,"Memory"); //было 0x85227259

но эффекта все равно нет

может надо еще какие-то параметры менять, там их куча еще.

Кто вообще создавал эту плату и загружал линукс в нее может подскажут как правильно настроить sdram
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 07.08.2012 09:20 Сообщение: 8
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
См. исходники бутстрапа, там все "написано".
Спуститься к концу Подняться к началу
Персональная информация
Dmitriyk2
Добавлено 08.08.2012 10:59 Редактировалось 08.08.2012 11:00 Сообщение: 9
Dmitriyk2
0

Пункты: 329
Регистрация: 05.07.2012
в исходниках, которые скачал у вас - 32-бита ширина шины, т.е. не совсем подходят для этой платы, мягко говоря
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 08.08.2012 12:27 Редактировалось 08.08.2012 12:29 Сообщение: 10
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
А это что тогда ...
Код
dbg_print("\n\rAT91Bootstrap...\n\r");
#endif /* CFG_DEBUG */

#ifdef CFG_SDRAM
/* Initialize the matrix */
writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBICSA);

/* Configure SDRAM Controller */
sdram_init( AT91C_SDRAMC_NC_9 |
AT91C_SDRAMC_NR_13 |
AT91C_SDRAMC_CAS_2 |
AT91C_SDRAMC_NB_4_BANKS |
AT91C_SDRAMC_DBW_16_BITS |
AT91C_SDRAMC_TWR_2 |
AT91C_SDRAMC_TRC_7 |
AT91C_SDRAMC_TRP_2 |
AT91C_SDRAMC_TRCD_2 |
AT91C_SDRAMC_TRAS_5 |
AT91C_SDRAMC_TXSR_8, /* Control Register */
(MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9XE512-SIMXXX