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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> LPC13XX
3.14
сообщение Dec 1 2009, 14:27
Сообщение #1


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Ребята, кто-нибудь уже юзал LPC13 серии (у меня 1313)?
Что то у меня он оживать не хочет.
Его пины JTAG совмещены с GPIO и по умолчанию функционируют как JTAG лини, но мой чип в ответ ничего не выдает.
Еще странность, если подтянуть P0.1 на землю во время включения питания или сброса, камень должен остаться в загрузчике, и работать через UART, если соблюсти это условие активности на UART я так же не наблюдаю (он хотяб TX к питанию подтянуть должен).


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
3.14
сообщение Dec 2 2009, 06:44
Сообщение #2


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Вобщем, по SWD контроллер откликается, остается понять что сделать чтобы он на JTAG переключился ...

Блин, рано обрадовался, флешку стереть-запрограммировать не получается ...


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Dec 2 2009, 07:01
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(3.14 @ Dec 2 2009, 12:44) *
Вобщем, по SWD контроллер откликается, остается понять что сделать чтобы он на JTAG переключился ...

А SWD - это что такое?

ЗЫ. LPC13xx это какой кортекс? Вроде слухи были про 17хх и 11хх, а 13хх не слышал.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
etoja
сообщение Dec 2 2009, 07:13
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Цитата(GetSmart @ Dec 2 2009, 10:01) *
LPC13xx это какой кортекс?


Cortex-M0
Go to the top of the page
 
+Quote Post
3.14
сообщение Dec 2 2009, 07:24
Сообщение #5


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



ARM Cortex-M3
SWD - новый дополнительный интерфейс отладки/программирования у кортексов


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
3.14
сообщение Dec 2 2009, 10:28
Сообщение #6


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Насчет ошибки операций с флешкой, утилиты сеггера работать с флешкой судя по всему пока не умеют (даже стереть не может), Keil работает нормально но у него едет крыша с контрольной суммой валидности приложения во флешке, так что пока приходится отключать ферификацию записи.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
dimka76
сообщение Dec 7 2009, 06:53
Сообщение #7


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(3.14 @ Dec 2 2009, 13:28) *
Насчет ошибки операций с флешкой, утилиты сеггера работать с флешкой судя по всему пока не умеют (даже стереть не может), Keil работает нормально но у него едет крыша с контрольной суммой валидности приложения во флешке, так что пока приходится отключать ферификацию записи.


FlashMagic отлично работает с этим контроллером.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
shahr
сообщение Dec 11 2009, 11:17
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 6-06-06
Из: Москва
Пользователь №: 17 793



В LPC1300 нет JTAG. Только SWD.


--------------------
wbw
shahr
Go to the top of the page
 
+Quote Post
3.14
сообщение Dec 11 2009, 11:42
Сообщение #9


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Интресно, а для чего тогда пины вывели?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
shahr
сообщение Dec 15 2009, 10:59
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 6-06-06
Из: Москва
Пользователь №: 17 793



Цитата(3.14 @ Dec 11 2009, 14:42) *
Интресно, а для чего тогда пины вывели?

Хороший вопрос smile.gif Спросил об этом наших разработчиков.


--------------------
wbw
shahr
Go to the top of the page
 
+Quote Post
3.14
сообщение Dec 15 2009, 11:21
Сообщение #11


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Ну да это уже не принципиально, по SWD все-равно приятнее отлаживаться, да и пинов меньше требуется ...
Меня сейчас застал в расплох такой момент, в режиме DEEP SLEEP он может просыпаться ТОЛЬКО (я после ознакомления с докой по диагонали подумал, что от любого прерывания работающего модуля может, в частности таймера sad.gif ) от внешних GPIO, чего спрашивается "пудрить мозги" тем что включен например АЦП в спячке или нет, когда от этого все-равно в системе никакой реакции не будет ...


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
shahr
сообщение Dec 16 2009, 15:17
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 6-06-06
Из: Москва
Пользователь №: 17 793



Цитата(3.14 @ Dec 15 2009, 14:21) *
Ну да это уже не принципиально...


Ну непринципиально - и хорошо. Просто надо запомнить, что в LPC1300/LPC1100 - только SWD. А наши документописатели уже рисуют новую версию DS и UM без JTAGовских пинов. И зачем они их там нарисовали - ума не приложу smile.gif


--------------------
wbw
shahr
Go to the top of the page
 
+Quote Post
dimka76
сообщение Dec 22 2009, 12:58
Сообщение #13


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Пробую работать с LPC1311.
Вот моя тестовая программака.
Код
#include "LPC13xx.h"  
#include "clkconfig.h"

volatile char i;
void CT16B0_IRQHandler(void)
{
  LPC_TMR16B0->IR = 0x3F; /*clear flag*/
  LPC_TMR16B0->MR0 = i;
  --i;
  return;
}
int main (void)
{
  i = 0;
  /* Enable AHB clock to the GPIO domain. */
  LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);

   SystemInit();

  // Init Timer16_B0
  LPC_SYSCON->SYSAHBCLKCTRL |= (1<<7);
  LPC_TMR16B0->PR = LPC_TMR16B0->CCR = 0;
  LPC_IOCON->PIO0_8 = 0x02;
  LPC_IOCON->JTAG_TCK_PIO0_10 = 0x03;
  LPC_TMR16B0->MR1 = 0xFF;/*TimerInterval*/
  LPC_TMR16B0->MR0 =1;
  LPC_TMR16B0->MR2 = 0x1F;   //test signal with constant pulse width
  LPC_TMR16B0->MCR=(1<<4)| /*Reset on MR1*/
                                  (1<<3); /*Interrupt MR1*/
/* PWM mode is enabled for CT16B0_MAT0 */
  LPC_TMR16B0->PWMC = 1 + (1<<2);
  NVIC_EnableIRQ(TIMER_16_0_IRQn);
  LPC_TMR16B0->TCR = 1; /* enable Timer */  

  while (1) {};
}


Здесь настраиваю таймер на выдачу двух ШИМов: один с постоянной скважностью (MR2), другой с изменяемой(MR0).
В обработчике прерывания по переполнению таймера (0xFF) делаю либо инкремент скважности, либо декремент.
Сигнал с выхода MR0 пропускаю через RC-фильтр (R=5.6 кОм, С=2.2 нФ). На выходе RC имею пилу.
Так вот, при инкременте все замечательно.
При декременте на пиле появляется зазубрина.
Откуда она появляется? И почему ширина импулься с выхода MR0 внезапно становится равна нулю при декременте?
Чертовщина какая-то ))).
Писал в службу поддержки NXP и вот что они мне ответили
Цитата
I did a test with your program on a MCB1000 board with the LPC1343 micro and and did not see any difference. The choice of output might be the problem. Try an other output mode in IOCON register (bit 3 and 4).

The jitter and the rise and fall time are the same with increment or decerment i


На сайте NXP нет почтового адреса (e-mail) службы поддержки, а только WEB-форма, которая позволяет отправлять только текст.

Может shahr посодействует в получении ответа на мой вопрос. Или 3.14 повторит мой эксперимент.
Прикрепленное изображение
Прикрепленное изображение


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Vitaliy_ARM
сообщение Sep 5 2010, 17:57
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Если не трудно, могут ли владельцы плат MCB1300 или LPCXpresso 1343 проверить приложенную прошивку?
Вроде бы сделано все правильно. Файл компановщика сконфигурирован в соответствии с AN10904.

Прошивка очень простая, но уже весь мозг сломал - не работает HID. smile3046.gif

Основная часть кода выглядит следующим образом:

Код
#include "includes.h"                        /* LPC13xx definitions */

#define USB_VENDOR_ID 0x1FC9
#define USB_PROD_ID   0x0003
#define USB_DEVICE      0x0100

USB_DEV_INFO DeviceInfo;
HID_DEVICE_INFO HidDevInfo;
ROM ** rom = (ROM **)0x1fff1ff8;

#define     EN_TIMER32_1    (1<<10)
#define     EN_IOCON        (1<<16)
#define     EN_USBREG       (1<<14)

#define PORT0        0
#define PORT1        1
#define PORT2        2
#define PORT3        3

/*
*  Get HID Input Report -> InReport
*/

void GetInReport (uint8_t src[], uint32_t length)
{
    uint8_t PCInReportData = 0;
    
              /*                  */
              src[0] = PCInReportData;
}

/*
*  Set HID Output Report <- OutReport
*/
void SetOutReport (uint8_t dst[], uint32_t length)
{
    uint8_t PCOutReportData = dst[0];
}


int main (void)
{
    volatile int n;
    
    HidDevInfo.idVendor = USB_VENDOR_ID;
    HidDevInfo.idProduct = USB_PROD_ID;
    HidDevInfo.bcdDevice = USB_DEVICE;
    HidDevInfo.StrDescPtr = (uint32_t)&USB_StringDescriptor[0];
    HidDevInfo.InReportCount = 1;
    HidDevInfo.OutReportCount = 1;
    HidDevInfo.SampleInterval = 0x20;
    HidDevInfo.InReport = GetInReport;
    HidDevInfo.OutReport = SetOutReport;
    
    DeviceInfo.DevType = USB_DEVICE_CLASS_HUMAN_INTERFACE;
    DeviceInfo.DevDetailPtr = (uint32_t)&HidDevInfo;
        
    
    LPC_SYSCON->SYSAHBCLKCTRL |= (EN_TIMER32_1 | EN_IOCON | EN_USBREG);
    
    (*rom)->pUSBD->init_clk_pins();  

    for (n = 0; n < 75; n++) {};
    
    (*rom)->pUSBD->init(&DeviceInfo);
    (*rom)->pUSBD->connect(TRUE);
    
    while(1);
}

void USBIRQ_IRQHandler(void)
{
  (*rom)->pUSBD->isr();
}

Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  Hid.zip ( 650 байт ) Кол-во скачиваний: 23
 


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post
Vitaliy_ARM
сообщение Sep 6 2010, 17:13
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Интересно, а кто-нибудь вообще использует HID или MSD на этом процессоре?


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:04
Рейтинг@Mail.ru


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