ЗАО «ЗЭО»
Техническая поддержка пользователей => Тион, Тион-Про, Тион-Про v2, Сириус => Тема начата: seton44 от 18 Марта, 2011, 11:57:00
-
преобрели Тион про2 с установленой осью, запускается работает, всё замечательно...
но проблема возникла по первичной настрйке для запуска программ на "голом" чипе без "ОС"
у вас в разделе (Программное обеспечение) в самом низу страницы
есть раздел запуск (Без операционной системы)...
описание в PDF есть, а примеры где....????
опыта в работе с ARM нет, работали PIC и ADSP..
вопрос как "стартонуть чип".....
даташит курили... биты дергали.. всё в пустую..
нужен пример......!!!! помогите плиз......
-
Берёте U-Boot и используете его.
-
просмотрел u-boot исходники...
самый худший вариант для освоения...намешено всё и ещё сборка под линуксом...
в 47 мегах кода найти стартовую настройку не смог...
если использовать u-boot как стартовую прослойку,
встоёт вопрос как прикручивать программы из под IARа он "имиджи не делает"
или я всё не правильно понял..
нужна простая - лёгкая настройка чипа....!!!
очень -бы помог код SPI что предпологался как пример запуска без OC..
-
> в 47 мегах кода найти стартовую настройку не смог...
cpu/arm920t/start.S
-
эту папочку я открывал и просматривал...
не увидев (pe9315) закрыл...
но если достаточно ARM920t и частоты и адреса там совпадают..
то буду вникать....
спасибо...
-
Далее board/edb93xx
-
стартовая таблица это тоже интересно
но она решена ... правда малость по другому разложены реакции...(полезный файлик)
интересны настройки регистров PLL... в этом затык,
не выходит настройка-иниализация частот ..
этого файла (board/edb93xx) в исходниках с сайта (zao-zeo) нет...
-
board/edb93xx это и не файл
>в исходниках с сайта
по какому адресу....????!!!
-
я понимаю что это не файл.... (опечатался)..
взял иходники здесь.. (ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.3.tar.bz2)
-
И наложил патч?
http://zao-zeo.ru/dokuwiki/doku.php/u-boot#патчи
-
собирать нечем.....
пошел другим путем...
установил u-boob и пытаюсь загрузить бинарник
командой loadb (addr)........ в ОЗУ..
после перегрузить во флеш .... cp (addr)(addr)(size)
$ loadb
## Ready for binary (kermit) download to 0x00080000 at 57600 bps...
#6NI#БNR#БNR#БNR## Total Size = 0x00000000 = 0 Bytes
## Start Addr = 0x00080000
$ >
подскажите почему Total Size = 0x00000000 = 0 Bytes
-
Используйте TFTP
-
через TFTP всё грузится и запускается... спасибо...
но есть ещё вопросы...
1 на разъёме х10 есть INT0 и INT1,
это External interrupt 0 и External interrupt 1 соответственно, правильно я понял..???
2 и EGPIOa 4-5-6... они подтянуты к +3.3v пытаюсь получить прерывания
не выходит каменный цветок, прерываний нет.......
привожу код.....
#define GPIO5_bit (1 << VIC2_GPIO5INTR) // =16
//==
VIC2IntSelect &= ~GPIO5_bit; // IRQ on GPIO5 line.
VIC2VectAddr2 = (unsigned int)&GPIO_interrupt; //
VIC2VectCntl2 = 0x20 | VIC2_GPIO5INTR; // Enable
VIC2IntEnable |= GPIO5_bit; // Enable GPIO_5 interrupt.
//==
//
//
//
/*=========================================================================*/
/* порта А выход-вход: */
PADDR &= ~((1 << 3)|(1 << 4)|(1 << 5)); // clear ALL
/* порт B выход-вход: */
PBDDR &= ~((1 << 0)|(1 << 1)|(1 << 3)|(1 << 4)|(1 << 5)|(1 << 6));
GPIO_ON(PBDDR, 3); //8-9-11-12-13-14
GPIO_ON(PBDDR, 0);
/*=========================================================================*/
/* разрешения прерываний портов A GPIOAIntEn -B GPIOBIntEn */
/* GPIOAIntEn: 0x8084009C | GPIOBIntEn: 0x808400B8 */
/* порт А interupt: */
GPIOAIntEn &= ~((1 << 3)|(1 << 4)|(1 << 5)); //сlear ALL
GPIO_ON(GPIOAIntEn, 5); //3-4-5
/* порт B interupt: */
GPIOBIntEn &= ~((1 << 0)|(1 << 1)|(1 << 3)|(1 << 4)|(1 << 5)|(1 << 6));
/*=========================================================================*/
/* прерывания по 0 или 1 , если 1 то прерывание сработает на 1 */
/* GPIOAIntType1: 0x80840090 | GPIOBIntType1: 0x808400AC */
GPIOAIntType1 &= ~((1 << 3)|(1 << 4)|(1 << 5));
// GPIO_ON(GPIOAIntType1, 5); //3-4-5
/*=========================================================================*/
/* прерывание по нарастанию фронта или по состоянию в 0 или 1 */
/* GPIOAIntType2: 0x80840094 | GPIOBIntType2: 0x808400B0 */
GPIOAIntType2 &= ~((1 << 3)|(1 << 4)|(1 << 5));
// GPIO_ON(GPIOAIntType2, 5);
/*=========================================================================*/
что я делаю не так... ????
-
> на разъёме х10 есть INT0 и INT1,
> это External interrupt 0 и External interrupt 1 соответственно, правильно я понял..???
Да.
> EGPIOa 4-5-6... они подтянуты к +3.3v пытаюсь получить прерывания
> не выходит каменный цветок, прерываний не
На плате они не подтянуты, напрямую соединены к EP9315.