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

 
 
> OMAP L138, быстрый старт
torik
сообщение Aug 23 2012, 04:51
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Всем привет.

Сигнальниками раньше не занимался, больше ПЛИС. Но СИ и еклипс мне знакомы.
Сделал плату, на ней имеется ПЛИС и OMAP L138.
Нужно написать простую программку для проверки работоспособности платы:
- EMIF, подключенный к ПЛИС
- UPP, подключенный к ПЛСИ
- чтение/запись DDR2, подключенной к сигнальнику
- помаргать светодиодиками.

Что-то не могу найти простых толковых примеров, Quick Start или еще чего. Ткните куда-нибудь...

"хело ворлд" в Code Composer Studio v5 получил, т.е. jtag работает, проц запускается.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Aug 30 2012, 06:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Aug 30 2012, 06:46) *
Хм... А что - в L138 первым стартует ARM?

Там мудреная система загрузки: первым стартует DSP, затем он при помощи PRU окучивает ARM, потом ARM отрубает DSP.

Цитата(torik @ Aug 30 2012, 09:50) *
Какой порядок включения dsp?

Порядок включения описан в разделе "DSP Wake Up" sprugm7. Но виснуть при обращении к PSC всяко не должен.
Go to the top of the page
 
+Quote Post
maxis
сообщение Aug 30 2012, 09:26
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 2-06-09
Пользователь №: 49 843



Цитата(aaarrr @ Aug 30 2012, 10:21) *
Порядок включения описан в разделе "DSP Wake Up" sprugm7. Но виснуть при обращении к PSC всяко не должен.


По мануалу:

Perform the following steps to wake up the DSP:
1. Write a 83E7 0B13h to the KICK0R register in the SYSCFG module.
2. Write a 95A4 F1E0h to the KICK1R register in the SYSCFG module.
3. Write the truncated DSP boot address vector to the DSP_ISTP_RST_VAL field in the host 1
configuration register (HOST1CFG) of the SYSCFG module. The least-significant bits of the boot
address are fixed at 0.
4. Write a 3h to the NEXT bit in the DSP local power sleep controller (LPSC) module control register
(PSC0.MDCTL15) to prepare the DSP module for an enable transition (to enable the clocks and all
transitioning from the SwRstDisable state to Enable state).
5. Write a 1 to the GO[1] bit (DSP subsystem is part of the PD_DSP domain) in the power domain
transition command register (PSC0.PTCMD) to start the state transition sequence for the DSP module.
6. Check (poll for 0) the GOSTAT[1] bit in the power domain transition status register (PSC0.PTSTAT) for
power transition sequence completion. The domain is only safely in the new state after the GOSTAT[1]
bit is cleared to 0.
7. Wait for the STATE bit field in the DSP LPSC module status register (PSC0.MDSTAT15) to change to
3h. The module is only safely in the new state after the STATE bit field changes to reflect the new
state.
8. Write a 1 to the LRST bit in PSC0.MDCTL15 to release the DSP local reset controlled by the PSC
module.

Выполняю следующее:

Код
    HWREG (SOC_SYSCFG_0_REGS + SYSCFG0_KICK0R) = 0x83e70b13;
    HWREG (SOC_SYSCFG_0_REGS + SYSCFG0_KICK1R) = 0x95a4f1e0;

    //Включение DSP
    HWREG (SOC_SYSCFG_0_REGS + SYSCFG0_HOST1CFG) = 0x00E00000;
    PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_PD_DSP, PSC_MDCTL_NEXT_ENABLE);
    PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_PD_DSP, PSC_PTCMD_GO1);
    PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_PD_DSP, PSC_PTSTAT_GOSTAT1_SHIFT);
    PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_PD_DSP, PSC_MDSTAT_STATE);
    PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_PD_DSP, PSC_MDSTAT_LRST);


И на строке
Код
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_PD_DSP, PSC_MDSTAT_STATE);

Выполнение программы подвисает. Что делаю не так?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 30 2012, 10:27
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(maxis @ Aug 30 2012, 13:26) *
И на строке
Код
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_PD_DSP, PSC_MDSTAT_STATE);

Выполнение программы подвисает. Что делаю не так?

А что говорит PSC0.MDSTAT15?
Go to the top of the page
 
+Quote Post
maxis
сообщение Aug 30 2012, 11:24
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 2-06-09
Пользователь №: 49 843



Цитата(aaarrr @ Aug 30 2012, 14:27) *
А что говорит PSC0.MDSTAT15?

0x00000A00
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- torik   OMAP L138   Aug 23 2012, 04:51
- - Konst_777   Цитата(torik @ Aug 23 2012, 07:51) ...Что...   Aug 23 2012, 07:12
- - torik   Почитал доку на upp - там гора регистров, может пр...   Aug 23 2012, 14:15
|- - aaarrr   Цитата(torik @ Aug 23 2012, 18:15) Почита...   Aug 23 2012, 14:53
- - torik   Дык есть примеры-то? Да даже проще - я не понимаю ...   Aug 23 2012, 15:04
|- - aaarrr   Цитата(torik @ Aug 23 2012, 19:04) Начнем...   Aug 23 2012, 15:41
- - torik   Цитата1. Включить GPIO в PSC 2. Настроить соответс...   Aug 24 2012, 12:34
|- - aaarrr   Цитата(torik @ Aug 24 2012, 16:34) Уже ст...   Aug 24 2012, 13:00
- - torik   Во, что-то более-менее понятное в StraterWare вижу...   Aug 24 2012, 13:21
- - torik   Когда ARM ядро запускаю, все нормально. Прога деба...   Aug 29 2012, 06:25
- - aaarrr   DSP нужно включить со стороны ARM'а - он выклю...   Aug 29 2012, 06:57
|- - jcxz   Цитата(aaarrr @ Aug 29 2012, 12:57) DSP н...   Aug 30 2012, 02:46
- - torik   Охренеть. По примерам из StarterWare: Код PSCMo...   Aug 29 2012, 07:41
|- - aaarrr   Цитата(torik @ Aug 29 2012, 11:41) По при...   Aug 29 2012, 09:03
- - torik   ЦитатаПодозреваю, что SYSCFG залочен (см. регистры...   Aug 29 2012, 09:44
|- - aaarrr   Цитата(torik @ Aug 29 2012, 13:44) Для ту...   Aug 29 2012, 09:56
- - torik   Чтение REVID дает 0x4E840102 а пинмукс читается к...   Aug 29 2012, 10:10
- - aaarrr   Попробуйте теперь прочитать DEVIDR0.   Aug 29 2012, 10:11
- - torik   Кстати, SYSCFG0_KICK0R тоже 0 DEVIDR0 = 0x1B7D102...   Aug 29 2012, 10:16
|- - aaarrr   Странно как-то. В каком режиме процессор (регистр ...   Aug 29 2012, 10:19
- - torik   Такого регистра не наблюдаю в документации вообще   Aug 29 2012, 10:40
- - aaarrr   Это регистр процессора, из серии R0, R1 и т.п.   Aug 29 2012, 10:47
|- - aaarrr   Цитата(aaarrr @ Aug 29 2012, 14:47) Это р...   Aug 29 2012, 11:28
- - torik   В регистре R0 содержится адрес зинмукса вроде 0x01...   Aug 29 2012, 11:28
- - torik   0x200000D0 Есть подозрение, что надо как-то перев...   Aug 29 2012, 11:43
|- - aaarrr   Цитата(torik @ Aug 29 2012, 15:36) 0x2000...   Aug 29 2012, 11:45
- - torik   Exception по Reset-у как раз в режиме супервизора....   Aug 29 2012, 12:11
|- - aaarrr   Цитата(torik @ Aug 29 2012, 16:11) Except...   Aug 29 2012, 12:27
- - torik   Ух ты. Где это сделать?   Aug 29 2012, 12:36
- - maxis   Тоже интересно, не поделится ли кто примером как п...   Aug 29 2012, 12:45
|- - aaarrr   Цитата(maxis @ Aug 29 2012, 16:45) Тоже и...   Aug 29 2012, 12:54
- - torik   Скачали с сайта техаса файл boot.asm, тупо добавил...   Aug 30 2012, 05:50
|- - jcxz   Цитата(aaarrr @ Aug 30 2012, 12:21) Там м...   Aug 31 2012, 20:01
|- - aaarrr   Цитата(jcxz @ Sep 1 2012, 00:01) Значит -...   Aug 31 2012, 21:10
|- - SM   Цитата(jcxz @ Sep 1 2012, 00:01) Значит -...   Sep 1 2012, 18:26
|- - jcxz   Цитата(SM @ Sep 2 2012, 00:26) Это и есть...   Sep 2 2012, 05:54
|- - SM   Цитата(jcxz @ Sep 2 2012, 09:54) Всегда у...   Sep 2 2012, 08:32
- - aaarrr   То есть по статусу он и не начинал включаться. Нуж...   Aug 30 2012, 12:54
- - aaarrr   На самом деле в L138 первым тоже стартует DSP, про...   Sep 2 2012, 09:27
|- - SM   Цитата(aaarrr @ Sep 2 2012, 13:27) На сам...   Sep 2 2012, 13:47
- - aaarrr   Вот цитата из errata, касающаяся ревизий 2.0 и ниж...   Sep 2 2012, 21:14
|- - SM   Цитата(aaarrr @ Sep 3 2012, 01:14) Вот ци...   Sep 3 2012, 05:35
- - remi700   Возникла примерно такая же задача как в начале тем...   Sep 22 2013, 19:36
|- - aaarrr   Цитата(remi700 @ Sep 22 2013, 23:36) Поче...   Sep 22 2013, 19:46
|- - ASN   remi700 Для того, чтобы портестировать UPP можно н...   Sep 23 2013, 05:48
- - octobus   Есть у кого рабочий пример работы с UPP без DSP/BI...   Nov 1 2013, 16:30
- - aaarrr   Если не считать инициализации PINMUX и PSC, для за...   Nov 1 2013, 18:17
|- - lekintr   Цитата(aaarrr @ Nov 1 2013, 21:17) Поэтом...   Nov 1 2013, 18:28
|- - ASN   octobus Как точно заметил уважаемый aaarrr исходни...   Nov 3 2013, 11:32
- - octobus   Сейчас вопрос стоит не в том, что невозможно разоб...   Nov 3 2013, 16:43
|- - ASN   octobus Вот исходники для uboot. Код#define DAVINC...   Nov 5 2013, 11:27
- - lekintr   2ASN тоже поковыряю Ваши исходники.   Nov 5 2013, 13:26
- - octobus   О, отлично, спасибо огромнейшее за исходник. Попро...   Nov 5 2013, 13:39
- - octobus   В общем все пришлось писать заново, используя друг...   Nov 11 2013, 14:07
|- - ASN   octobus Поздравляю . Смущает только, что при разме...   Nov 11 2013, 16:35
|- - Victor_Tr   Прикрепляю проект для CCS 5.4. Ничего не требуется...   Jul 23 2014, 21:55
- - lekintr   Я посмотрел проект похоже пропадают не пакеты, или...   Nov 11 2013, 16:40
- - octobus   жду не дождусь когда же уберут предупреждение, вто...   Oct 6 2014, 02:24
- - den_steppenwolf   Цитата(octobus @ Oct 6 2014, 08:24) жду н...   Jan 14 2016, 10:12


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 05:49
Рейтинг@Mail.ru


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