|
OMAP L138, быстрый старт |
|
|
|
 |
Ответов
|
Aug 29 2012, 07:41
|

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

|
Охренеть. По примерам из StarterWare: Код PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE); И заливаю это в АРМ, все верно? А как положить это в ПЗУ, хотя бы M25P64, подключенное к сигнальнику? А то не могу же я, не прекратив выполнение программы арма началь отладку дсп... Но кроме того, вернусь к изначальной теме: мне надо помыргать светодиодом. На основе StarterWire и рекомендаций aaarrr (я только не понял че там за ID такой), написал прогу и запускаю ее под арм: Код #include <stdio.h>
#include "gpio.h" #include "psc.h"
#include "soc_OMAPL138.h" #include "lcdkOMAPL138.h"
#include "hw_syscfg0_OMAPL138.h"
#include "hw_types.h"
/***************************************************************************** ** MACRO DEFINITION *****************************************************************************/ /* Pin Multiplexing bit mask to select GP0[0] pin. */ #define PINMUX1_GPIO0_0_ENABLE (SYSCFG_PINMUX1_PINMUX1_27_24_GPIO0_1 << SYSCFG_PINMUX1_PINMUX1_27_24_SHIFT)
/****************************************************************************/ /* LOCAL FUNCTION PROTOTYPES */ /****************************************************************************/ static void Delay(volatile unsigned int delay);
/****************************************************************************/ /* GLOBAL VARIABLES */ /****************************************************************************/
/****************************************************************************/ /* LOCAL FUNCTION DEFINITIONS */ /****************************************************************************/
//#include <OMAPL138_common.h> /* * hello.c */ void main(void) { printf("Hello World!\n"); //CSL_FINS(gpioRegs->BANK[GP0].DIR, GPIO_DIR_DIR12, CSL_GPIO_DIR_DIR_OUT); unsigned int savePinmux = 0;
/* The Local PSC number for GPIO is 3. GPIO belongs to PSC1 module.*/ PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
/* Pin Multiplexing of pin 12 of GPIO Bank 6.*/ // GPIOBank6Pin12PinMuxSetup(); /* ** Clearing the bit in context and retaining the other bit values ** in PINMUX10 register. */ savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) & ~(SYSCFG_PINMUX1_PINMUX1_31_28));
/* Setting the pins corresponding to GP4[0] in PINMUX10 register.*/ HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) = (PINMUX1_GPIO0_0_ENABLE | savePinmux);
/* Sets the pin 1 (GP0[0]) as out.*/ GPIODirModeSet(SOC_GPIO_0_REGS, 1, GPIO_DIR_OUTPUT);
while(1) { GPIOPinWrite(SOC_GPIO_0_REGS, 1, GPIO_PIN_LOW);
Delay(1000000);
GPIOPinWrite(SOC_GPIO_0_REGS, 1, GPIO_PIN_HIGH);
Delay(1000000); }
}
/* ** \brief This function checks the insertion status of the MMC/SD card ** in the device and prints related statements on the serial ** commuincation console of the external device. ** */
/* ** \brief This function can be called to generate a delay. */
static void Delay(volatile unsigned int delay) { while(delay--); } Однако светодиод не моргает. Подпрогаммы посмотрел, вроде бы все верно (да и кто бы сомневался). Может в арм-е по-другому надо с psc что-то делать, что-то еще включить?
--------------------
Быть. torizin-liteha@yandex.ru
|
|
|
|
|
Aug 29 2012, 09:03
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(torik @ Aug 29 2012, 11:41)  По примерам из StarterWare: Код PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DSP, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE); И заливаю это в АРМ, все верно? Со StarterWare я не знаком, но на вид верно. Цитата(torik @ Aug 29 2012, 11:41)  А как положить это в ПЗУ, хотя бы M25P64, подключенное к сигнальнику? А то не могу же я, не прекратив выполнение программы арма началь отладку дсп... Могу предложить Хитрый Способ: 1. Создаем в HEX-редакторе "бинарник" для ARM из одной инструкции "b .": 0xfe 0xff 0xff 0xea 2. Берем AISGen, ставим в нем галку "Configure PSC", разрешаем в конфигурации PSC DSP 3. Создаем загрузочный образ Дубово, но зато просто и будет работать. Цитата(torik @ Aug 29 2012, 11:41)  Но кроме того, вернусь к изначальной теме: мне надо помыргать светодиодом. На основе StarterWire и рекомендаций aaarrr (я только не понял че там за ID такой), написал прогу и запускаю ее под арм: ... Однако светодиод не моргает. Подпрогаммы посмотрел, вроде бы все верно (да и кто бы сомневался). Может в арм-е по-другому надо с psc что-то делать, что-то еще включить? ID - регистр модуля GPIO. Его можно прочитать, чтобы убедиться, что клок на самом деле включен. Подозреваю, что SYSCFG залочен (см. регистры Kick0, Kick1), поэтому запись в PINMUX не проходит.
|
|
|
|
Сообщений в этой теме
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 ЦитатаПодозреваю, что 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 aaarrr Цитата(jcxz @ Aug 30 2012, 06:46) Хм... А... Aug 30 2012, 06:21 maxis Цитата(aaarrr @ Aug 30 2012, 10:21) Поряд... Aug 30 2012, 09:26  aaarrr Цитата(maxis @ Aug 30 2012, 13:26) И на с... Aug 30 2012, 10:27   maxis Цитата(aaarrr @ Aug 30 2012, 14:27) А что... Aug 30 2012, 11:24 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|