Перейти к содержанию

srg_co

Свой
  • Публикаций

    131
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о srg_co

  • Звание
    Частый гость
  • День рождения 23.09.1969

Контакты

  • Сайт
    http://
  • ICQ
    369528562

Информация

  • Город
    Краснодар
  1. LPC1778 Прерывания, Reset

    Изделие штучное, кол-во разъемов не регламентировано. У меня нет уверенности что проблема в функции Receive, ее код одинаков для всех SSP, для каждого драйвера свой отдельный экземпляр. Она бы глючила при любых вариантах запуска контроллера.
  2. LPC1778 Прерывания, Reset

    Доброго времени суток! Keil 5.23 + Jet-Link ultra, Pack: Keil.LPC1700_DFP 2.4.0 Для SSP использую CMSIS Keil. Контроллер LPC1778, используемые девайсы: три таймера, 5 UART, MCI, TRC, DAC, 3 SSP, WDT (при отладке отключен). Наблюдается проблема при обработки прерывания от SSP1 после сброса reset-ом. Инициализация SSP1 Кодextern ARM_DRIVER_SPI Driver_SPI1; static ARM_DRIVER_SPI *SpiDrv;     SpiDrv = &Driver_SPI1;     SpiDrv->Initialize( NULL );     #ifdef PRIORITY_SSP1         NVIC_SetPriority( SSP1_IRQn, PRIORITY_SSP1 );     #endif     SpiDrv->PowerControl( ARM_POWER_FULL );     SpiDrv->Control( ARM_SPI_MODE_MASTER | ARM_SPI_CPOL0_CPHA0 | ARM_SPI_MSB_LSB | ARM_SPI_SS_MASTER_SW | ARM_SPI_DATA_BITS( 16 ), 1000000 );     SpiDrv->Control( ARM_SPI_CONTROL_SS, ARM_SPI_SS_INACTIVE ); Обмен данными через SSP1 рулит прерывание от одного из входов GPIO, инициализация Код    GPIO_IntCmd( PORT0, IRQ_485_MASK, 1 );  //Falling edge     NVIC_ClearPendingIRQ( GPIO_IRQn );     NVIC_SetPriority( GPIO_IRQn, PRIORITY_GPIO );     NVIC_EnableIRQ( GPIO_IRQn ); Тут вопросов нет, все работает. Инициализация SSP2 Кодextern ARM_DRIVER_SPI Driver_SPI2; static ARM_DRIVER_SPI *SpiDrv;     SpiDrv = &Driver_SPI2;     SpiDrv->Initialize( &CallBackSPI2 );     #ifdef PRIORITY_SSP2         NVIC_SetPriority( SSP2_IRQn, PRIORITY_SSP2 );     #endif     SpiDrv->PowerControl( ARM_POWER_FULL );     SpiDrv->Control( ARM_SPI_MODE_SLAVE | ARM_SPI_CPOL0_CPHA0 | ARM_SPI_MSB_LSB | ARM_SPI_SS_SLAVE_HW | ARM_SPI_DATA_BITS( 8 ), SSP2_SPEED );     SpiDrv->Receive( &recv_data, 1 ); Обработка прерывания SSP2: Кодstatic void CallBackSPI2( uint32_t event ) {     if ( event & ARM_SPI_EVENT_TRANSFER_COMPLETE ) {         flg_recv = true;         ////////////////////////// переключаем пин для контроля работы         if ( GPIO_PinRead( TRC_PORT, EXT_RT ) )             GPIO_PinWrite( TRC_PORT, EXT_RT, 0 );         else GPIO_PinWrite( TRC_PORT, EXT_RT, 1 );        } } Из main-while(1) Кодvoid SPIFlowCtrl( void ) {     if ( flg_recv == true ) {         flg_recv = false;         SpiDrv->Receive( &recv_data, 1 );   } } Приоритеты прерываний: Код//CMSIS NXP #define PRIORITY_TIMER0         1 #define PRIORITY_TIMER1         2 #define PRIORITY_TIMER2         3 //CMSIS Keil #define PRIORITY_USART0         5 #define PRIORITY_USART1         6 #define PRIORITY_USART2         7 #define PRIORITY_USART3         8 #define PRIORITY_USART4         9 //CMSIS Keil #define PRIORITY_SSP0           10 #define PRIORITY_SSP1           11 #define PRIORITY_SSP2           12 //CMSIS NXP #define PRIORITY_GPIO           13 #define PRIORITY_RTC            17 Пока не подключил прием одного байта: КодSpiDrv->Receive( &recv_data, 1 ); через SSP2, все работало четко без проблем. Проблема наблюдается в следующем образом: При включении питания все запускается и работает. Если нажать reset (внешняя кнопка) начинаются проблемы с обработкой прерывания от SSP1, канал 1 – прерывание от SSP2 мастер передает 1 байт с интервалом 1 сек, канал2 – прерывание от SSP1 а должно быть так Если контроллер запустить в режиме отладки F5, потом «Stop», сделать пару шагов и выйти – все продолжает работать нормально. Перезапуск от WDT тоже приводит к кривой работе. Как только убираю из кода строку SpiDrv->Receive( &recv_data, 1 ) (SSP2) – все работает. После включения питания в RSID установлены биты: POR и EXTR, а после reset или выхода из отладки: POR EXTR SYSRESET. Схема reset стандартная. Поломал уже весь мозг, не могу понять причину, может кто-то сталкивался с подобной проблемой ?
  3. ПРОДАЕТСЯ: (все в Краснодаре) ------------------------------------------------------------------------------------ Двухканальный осциллограф - приставка к ПК (в комплекте измерительные щупы с делителем) АСК-3106 - h**p://w*w.aktakom.ru/kio/index.php?SECTION_ID=921&ELEMENT_ID=7107 Отдам за 8 тыр. т.к. работает только по LPT, хотя есть USB но драйвер не обновлялся и уже обновляться не будет т.к. реализован программно-аппаратно. ------------------------------------------------------------------------------------ Двухканальный USB/LPT осциллограф АСК-3172- приставка к ПК (в комплекте измерительные щупы с делителем) АСК-3172 - h**p://w*w.aktakom.ru/kio/index.php?SECTION_ID=921&ELEMENT_ID=37270 Отдам за 17 тыр. т.к. новый и работает по всем интерфейсам в т.ч. и в WIN7 ------------------------------------------------------------------------------------ Логический анализатор-приставка к ПК (в комплекте набор сигнальных миниклипс) АКС-3166 - h**p://w*w.aktakom.ru/kio/index.php?SECTION_ID=922&ELEMENT_ID=7084 Отдам за 15 тыр. ------------------------------------------------------------------------------------ Генератор сигналов специальной формы GW Instek GFG-8250A - h**p://w*w.prist.ru/produce.php/card/meas.htm?id=800541590 0,5 Гц-5 МГц, синус, треугольник, прямоугольник, цифровая индикация частоты, 10 В на 50 Ом, уровни ТТЛ и КМОП, частотомер до 150 МГц Отдам за 8000 тыр. Все в рабочем состоянии, возможен торг. email: srg_co@mail.ru icq: 369528562
  4. Программа для прошивки AVR

    Цитата(_Артём_ @ Aug 14 2012, 16:33) Есть там консольная прграмма и для JTAG и для AVRISP. И они вполне работают. Посмотрите тут Download AVR CommandLineTools и студию ставить не надо, хотя пакет утилит надо проинсталить.
  5. Вопрос о Ulink-2

    Нет.
  6. О линковке в Keil

    Еще тут посмотрите вариант загрузки.
  7. AvrStudio 5

    А ATAVRISP2 и ATJTAGICE2 поддерживается !?
  8. Из keil залить массив в LPC2478

    Цитата(zksystem @ Jan 3 2011, 01:25) const char[131000] = { bla, bla, bla.... }; Можно попробовать так: 1. Конвертим картинку в HEX BIN2HEX /Oxxxx /4 file_name.ext file_name.hex 2. Создаем файл Flash.ini со следующим содержимым LOAD file_name.hex 3. В настройках проекта закладка "Utilities" в поле "Init file" указываете файл Flash.ini. При загрузке кода в проц, зальётся ваш файл по адресам указанным в HEX. Если полностью флэш проца не стирать, file_name.ext останется во флэше, главное выбрать адреса в которые гарантированно ничего другого записываться не будет. В этом случае, доступ к данным можно осуществить по ссылке типа unsigned int blockaddress = 0xNNNNNNNN
  9. Краш Altiuma!

    Спасибо за инфу.
  10. Краш Altiuma!

    Цитата(Sharapov @ Sep 6 2010, 22:40) Всем спасибо - решение найдено . Поделитесь опытом !
  11. Прошивка J-Link IAR Systems

    А можно обновить прошивку J-Link IAR Systems ? Тему по поводу обновления MT-Link видел, но не уверен, что прикреплённые прошивки можно заливать J-Link IAR Systems. Текущая версия: SEGGER J-Link Commander V4.14b Compiled May 8 2010 16:31:57 DLL version V4.14b, compiled May 8 2010 16:31:37 Firmware: J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5 Hardware: V5.30 S/N : XXXX OEM : IAR Соответственно SWD не поддерживается. J-Link>si 1 SWD is not supported by connected emulator. J-Link> И Keil не хочет дружить: J-Link V4.15n Error The connected J-Link has been designed for IAR embedded workbench. It may not be used with KEIL µVision / MDK.
  12. Olimex LPC2478-STK

    Заливаю сюда /upload/MCs/ARM/LPC-2478-STK.iso
  13. 1. Посмотрите на LPC-P2378 - отладочная плата фирмы Olimex для микроконтроллера LPC2378, кнопки и свтодиоды есть и макетное поле и цена меньше. 2. MMLPC236X + EVBMMTM - цена примерно как у MCB23/24.
  14. Непонятное поведение DHCP в KEIL RL-ARM 3.70

    За основу был взят тестовый пример http_demo (LPC2368 без RTX) из дистрибутива Keil, изменены только html файлы и управление индикаторами (выключено). DHCP работал нормально, после манипуляций с таймерами 3 и 4, DHCP работать прекратил, типа таймаут. Пытался убрать инициализацию таймеров – безрезультатно. Пробовал в режиме отладки, с помощью библиотеки TCPD_ARM_L.lib, все нормально, IP получает ожидаемый, а не тот, который прописан в конфигурации. Пробовал увеличить время ожидания при получении IP, результата не дало. Может кто сталкивался с подобными проблемами ?
  15. Загрузка в RAM

    Можно в RAM, только ее там мало.