Полная версия этой страницы:
TE-LPC2478LCD
Shread
Jan 27 2010, 08:06
Приветствую!
Есть у кого-нибудь копия диска, идущего в комплекте с этим набором?
Хотели купить просто кит, но в наличии нигде нет.
Есть информация по Embedded Artists LPC2478.
http://slil.ru/28554198
Shread
Jan 27 2010, 12:06
Цитата(etoja @ Jan 27 2010, 11:23)

Есть информация по Embedded Artists LPC2478.
http://slil.ru/28554198Ее уже с ftp взял, спасибо.
Вот кое-что увы код написан отвратно и крайне слабо комментирован
ссылка
Спасибо!
Ну воопщем получили сегодня эту платку... впечатления... (ой черт зеленого смайлика с ведерком нету...)
Воопщем, видимо правду говорят, что отладочные платы в России разрабатывают люди, которые просто готовое изделие сделать до конца не в состоянии...
Воопщем непонятно за что плачены деньги. Думалось что будет быстрый старт, а в исходниках есть только работа с жк и более ничего... По телефону сказали что есть какая-то еще прога, но что и где и как... Воопщем минус в репутацию разработчикам...
Nick Nickl's
Feb 2 2010, 20:19
Есть диск от нее, ничего там правда хорошего, схема в DWG и PDF, PDF ы на все комплектующие. Есть пример прграммы для IAR с инициализацией диплея и SDRAM. Драйвер FTDI. DWGTrueViev видимо чтобы схему посмотреть. FlashMagic и IAR V5.20. И какието тесты в виде HEX файла.
Все в куче 435 мег. Если что нужно пришлю. Или завтра в инет выложу в виде архива и дам ссылку.
Брал одну из первых. Кстати они исправили свою ошибку с АЦП или так и продают с неработающим тачскрином ?
Зайцев Иван
Feb 3 2010, 08:04
заказывал
Тачскрин работает
Цитата(Nick Nickl's @ Feb 2 2010, 23:19)

Брал одну из первых. Кстати они исправили свою ошибку с АЦП или так и продают с неработающим тачскрином ?
Не знаю о каком именно ките Вы говорите и какую ошибку АЦП имеете в виду, но у меня TE-LPC2478LCD5.6, на которой по сигналам от тачскрина идет помеха частотой около 10 кГц. В итоге показания тачскрина сильно "дергаются". Я с этой проблемой особо не разбирался, поскольку сейчас нет необходимости в тачскрине, но мне просто интересно как другие решают этот вопрос.
VVS_2009
Feb 3 2010, 13:24
В прикрепленном файле лежит пример работы платы TE-LPC2478 с платой TE-ADS1241.
Вывод на экран измерений, выбор канала АЦП и коэффициента усиления, работа и калибровка тачскрина.
Проект под ECLIPSE.
Цитата(VVS_2009 @ Feb 3 2010, 16:24)

В прикрепленном файле лежит пример работы платы TE-LPC2478 с платой TE-ADS1241.
Вывод на экран измерений, выбор канала АЦП и коэффициента усиления, работа и калибровка тачскрина.
И в каком же месте там калибровка и работа с тачскрином?
Nick Nickl's
Feb 3 2010, 19:23
Vref небыл никуда не подключен. Я обсуждал это с ними в коференции на сайте терры. Ониже там и признались в ошибке.
http://www.terraelectronica.ru/board/index...=1306&st=38. Про 10кгц не знал. Но на лицо есть помеха. По горизонтали ее так и не отфильтровал, но для тыканья в крупные кнопки не мешает.
Цитата(VVS_2009 @ Feb 3 2010, 16:24)

В прикрепленном файле лежит пример работы платы TE-LPC2478 с платой TE-ADS1241.
Вывод на экран измерений, выбор канала АЦП и коэффициента усиления, работа и калибровка тачскрина.
Проект под ECLIPSE.
Абалдительное применение для прецизионного ацп. Просто слов нет! По воробьям не то что из пушки, а сразу баллистической ракетой...
Воопщем пол дня пытаемся запустить NOR внешнюю- дохлый номер. На нашем диске вообще никаких примеров по работе с ней нет, даже тестовых, а вот на том диске что в этой теме выкладывали выше есть вот такой пример: I520_SBCL2478P100_SDRAMFLASH.hex(смотрите аттач)
Результат выполнения этой проги валит в терминал:
Цитата
**********Terraelectronica**********
Board: SBC_L2478_Axxx
************************************
TestSystem:
TEST INTERRUPT OK!
TEST SDRAM ... TEST SDRAM OK!
TEST FLASH ...
Manufacturer Code:
00FF
Device Code:
FFFF
TEST NOR FLASH FAILD!
Сами пытались кое-что с нуля запустить, закончилось так же чтением кода производителя 0x00FF и кода девайса 0xFFFF.
Воопщем не отладка а садо-маза какая-то выходит...
У кого-то вообще в принципе на этой плате работает внешняя NOR флеш?
Nick Nickl's
Feb 5 2010, 07:39
Да работает. Я туда экранную заставку запихнул.
Уже не помню где взял код, кажется из примеров IAR
//------------------------------------------------------------------------------
#define NOR_FLASH_SIZE 0x00400000 // M29DW323DT, 32Mbit(2M x 16 bit).
#define NOR_FLASH_BASE 0x80000000 // 0x8000 0000 - 0x803F FFFF NOR FLASH
#define GET_ADDR(addr) (volatile WORD *)(NOR_FLASH_BASE | (addr<<1))
//#define SECTOR_SIZE 0x800 /* Must be 2048 ??? words for M29DW323D */
#define BLOCK_SIZE 0x10000 /* Must be 64K words for M29DW323D */
//#define SST_ID 0xBF /* SST Manufacturer's ID code */
//#define SST_39VF160 0x234B /* SST 39VF160 device code */
#define SST_ID 0x20 /* SST Manufacturer's ID code */
#define SST_M29DW323D 0x225F /* SST M29DW323DB device code */
#define PROGRAM_TIMEOUT 0x08000000
extern void NORFLASHInit( void );
extern void NORFLASHErase( void );
extern DWORD NORFLASHCheckID( void );
extern DWORD NORFLASHWriteWord( DWORD Addr, WORD Data );
extern DWORD ToggleBitCheck( DWORD Addr, WORD Data );
/*****************************************************************************
** Function name: NORFLASHInit
**
** Descriptions: initialize external NOR FLASH memory
**
** parameters: None
**
** Returned value: None
**
*****************************************************************************/
void NORFLASHInit( void )
{
// **************************************************************************
// * Initialize EMC for NOR FLASH
// **************************************************************************
EMC_CTRL = 0x00000001;
PCONP |= 0x00000800; // Turn On EMC PCLK
PINSEL4 = 0x50000000;
PINSEL5 = 0x05050555;
PINSEL6 = 0x55555555;
PINSEL8 = 0x55555555;
PINSEL9 = 0x50555555;
delayMs(1, 100); // use timer 1
EMC_STA_CFG0 = 0x00000081;
EMC_STA_WAITWEN0 = 0x2;
EMC_STA_WAITOEN0 = 0x2;
EMC_STA_WAITRD0 = 0x1f;
EMC_STA_WAITPAGE0 = 0x1f;
EMC_STA_WAITWR0 = 0x1f;
EMC_STA_WAITTURN0 = 0xf;
delayMs(1, 10); // use timer 1
return;
}
/*****************************************************************************
** Function name: ToggleBitCheck
**
** Descriptions: Toggle Bit check if the data is written or erased
**
** parameters: Address and Expected data
**
** Returned value: done(TRUE) or timeout(FALSE)
**
*****************************************************************************/
DWORD ToggleBitCheck( DWORD Addr, WORD Data )
{
volatile WORD *ip;
WORD temp1, temp2;
DWORD TimeOut = PROGRAM_TIMEOUT;
while( TimeOut > 0 )
{
ip = GET_ADDR(Addr);
temp1 = *ip;
ip = GET_ADDR(Addr);
temp2 = *ip;
if ( (temp1 == temp2) && (temp1 == Data) )
{
return( TRUE );
}
TimeOut--;
}
return ( FALSE );
}
/*****************************************************************************
** Function name: NORFLASHCheckID
**
** Descriptions: Check ID from external NOR FLASH memory
**
** parameters: None
**
** Returned value: Flash ID read is correct or not
**
*****************************************************************************/
DWORD NORFLASHCheckID( void )
{
volatile WORD *ip;
WORD SST_id1, SST_id2;
/* Issue the Software Product ID code to 39VF160 */
ip = GET_ADDR(0x5555);
*ip = 0x00AA;
ip = GET_ADDR(0x2AAA);
*ip = 0x0055;
ip = GET_ADDR(0x5555);
*ip = 0x0090;
delay(10);
/* Read the product ID from 39VF160 */
ip = GET_ADDR(0x0000);
SST_id1 = *ip & 0x00FF;
ip = GET_ADDR(0x0001);
SST_id2 = *ip;
/* Issue the Soffware Product ID Exit code thus returning the 39VF160 */
/* to the read operating mode */
ip = GET_ADDR(0x5555);
*ip = 0x00AA;
ip = GET_ADDR(0x2AAA);
*ip = 0x0055;
ip = GET_ADDR(0x5555);
*ip = 0x00F0;
delay(10);
/* Check ID */
if ((SST_id1 == SST_ID) && (SST_id2 ==SST_M29DW323D))
return( TRUE );
else
return( FALSE );
}
/*****************************************************************************
** Function name: NORFLASHErase
**
** Descriptions: Erase external NOR FLASH memory
**
** parameters: None
**
** Returned value: None
**
*****************************************************************************/
void delayMs(U32 delayInMs);
void NORFLASHErase( void )
{
volatile WORD *ip;
ip = GET_ADDR(0x5555);
*ip = 0x00AA;
ip = GET_ADDR(0x2AAA);
*ip = 0x0055;
ip = GET_ADDR(0x5555);
*ip = 0x0080;
ip = GET_ADDR(0x5555);
*ip = 0x00AA;
ip = GET_ADDR(0x2AAA);
*ip = 0x0055;
ip = GET_ADDR(0x5555);
*ip = 0x0010;
delayMs(100); /* Use timer 1 */
return;
}
/*****************************************************************************
** Function name: NORFLASHWriteWord
**
** Descriptions: Program one 16-bit data into external NOR FLASH memory
** This "WORD" for the external flash is 16 bits!!!
**
** parameters: DWORD address and WORD data
**
** Returned value: Written successful or not
**
*****************************************************************************/
DWORD NORFLASHWriteWord( DWORD Addr, WORD Data )
{
volatile WORD *ip;
ip = GET_ADDR(0x5555);
*ip = 0x00AA;
ip = GET_ADDR(0x2aaa);
*ip = 0x0055;
ip = GET_ADDR(0x5555);
*ip = 0x00A0;
ip = GET_ADDR(Addr); /* Program 16-bit word */
*ip = Data;
return ( ToggleBitCheck( Addr, Data ) );
}
/********************************************************************************
*
** End Of File
********************************************************************************
*/
Цитата(Nick Nickl's @ Feb 5 2010, 10:39)

Да работает. Я туда экранную заставку запихнул.
Уже не помню где взял код, кажется из примеров IAR
Спасибо! А если не секрет, как вы в эту флешку засовываете заставку саму?
Nick Nickl's
Feb 5 2010, 07:56
Не секрет. Сгенерил двоичный файл на SD/MMC и от туда переписываю в NOR. Пришлось еще прикуртить библиотеку с FAT32 и работу с MCI. В общем с миру по нитке. Пользовательский интерфейс сдлал из microwindows. Чтобы все совестить с scmRTOS, ну и вобще потом чтобы не мучатся все перелопатил на С++. Все сырое, но работает. Могу скинуть проект. Мне не жалко. На Visual C++ сделал имитатор системы и пользовательский интерфейс microwindows можно тестировать на обычном компе.
Поправили свою прогу по образу и подобию вашей- чуда не произошло=(
Если есть платка под руками и есть такая возможность - попробуйте прошить приложенный к этому посту hex в свою платку- прога должна в две строки на экране выводить айдишники флешки и еще тот пример, который был выше. Есть подозрение что на нашем образце производители не утруждали себя тестированием NOR вообще
Nick Nickl's
Feb 5 2010, 10:23
Чем залить можно через JLink ваш HEX файл. Segger овский лоадер лицензию вымогает ...
LPC2000 Flash utility тоже с этой платой похоже не дружит.
Цитата(Nick Nickl's @ Feb 5 2010, 13:23)

Чем залить можно через JLink ваш HEX файл. Segger овский лоадер лицензию вымогает ...
LPC2000 Flash utility тоже с этой платой похоже не дружит.
FlashMagic через виртуальный комп порт, тот что на FT232RL сделан заливается на раз. А так через J-link при помощи JFlash. Если первым вариантом будут какие-то проблемы, то в личку адрес эл.почты пиши.
Кстати попробовал прошить плату через J-link через J-flash, в режиме авто не находит чип внешней памяти. В режиме, когда четко указываешь тип внешней памяти говорит что ID внешней памяти не тот что нужно, и что вместо 0x20225F имеет ID 0xFFFFFF.
Ну что я могу сказать..... прое... шись два дня над запуском флешки на это "сочной" отладочной плате... уже практически отчаявшись решил отпаять флешку и посмотреть что происходит под ней, отпаял, поглядел и припаял на место... и о чудо... заработала прога, которую написали для теста и тут же начало всё отлично шиться через J-link.
Итого - не жалейте денег, не покупайте это Г... но отечественного производства!!! Время- дороже!
Цитата
Не секрет. Сгенерил двоичный файл на SD/MMC и от туда переписываю в NOR. Пришлось еще прикуртить библиотеку с FAT32 и работу с MCI.
Скиньте проектик, пожалуйста, желательно и ранний вариант без С++
Nick Nickl's
Feb 7 2010, 10:17
Nick Nickl's
Feb 7 2010, 10:17
Для отладки интерфейса можно использовать вот это:
http://79.143.76.226/files/GFX_device_test.zip
Спасибо, попробую
Terraelectronica
Mar 22 2010, 10:02
Модулей TE-LPC2478LCD5.6 произведено немало, опытные заказчики закупают партии. Мы проверяем продукцию, но иногда дефект проявляется после проверки, это гарантийный случай.
Если у вас по каким-то причинам не заработала та или иная периферия, звоните, пишите в техническую поддержку support@terraelectronica.ru. На данный момент "детские болезни" схемы и топологии выявлены при эксплуатации и устранены.
Сейчас производятся платы серии v102. Если вам не понятен код программы, мы его прокомментируем. Если у вас проблемы с быстрым запуском, приезжайте к нам, мы вам запустим и обсудим проблемы или затруднения. Если вы находитесь далеко – звоните/пишите и мы Вам перезвоним!
Об отечественных средствах: технически сложные изделия и у ведущих мировых производителей вначале сопровождаются документами типа Errata. Наш модуль имеет оптимальное соотношение себестоимости и функционала по сравнению с зарубежными аналогами. Отличительная особенность – наличие основных интерфейсов коммутации (SDCARD, CAN, UART, USBdevice, USBHost, Ethernet), доступность всех выводов микроконтроллера, наличие 5.6 LCD 15бит (обновление экрана 15Гц), память SDRAM 32MB и NORFLASH 4MB. Микроконтроллер LPC2478 является уникальным среди семейства ARM7 в виду развитой периферии и LCD-контроллера, EMC-контроллера внешней памяти.
Romanello
Mar 24 2010, 18:21
Здравтсуйте.
А можно ли куда нибудь скинуть схему от этого чуда?
VVS_2009
Mar 30 2010, 05:30
VVS_2009
Apr 15 2010, 10:41
На сайте Терраэлектроника стал доступен для скачивания проект показывающий работу стека протоколов TCP/IP и проверку работы порта Ethernet на плате TE-LPC2478LCD56.
Проект работает под FreeRTOS.
Ссылки доступны на странице описания платы TE-LPC2478LCD56.
Nick Nickl's , спасибо за архив TE-LPC2478LCD56.zip, очень помогает. У меня в наличии модуль TE-LPC2478LCD3.5. немного переделал Init_LCD_controller по примеру терроэлектроники, экран заработал. Теперь не получается сенсорный экран. Понимаю, что подключен он к другим пинам, а именно P0_24 стал P2_30, P3_29 стал P0_12, P0_26 стал P4_23, P3_28 стал P1_31, при соответствующей замене кода реагирует только на нажатие, т.е. acZp=1, либо 0 когда нажат экран, с координатами беда. Если не трудно, объясните как переписать строку FIO3DIR=(FIO3DIR&~((1<<29)|(1<<28)))|(1<<28);
Цитата(Pniiis @ Jul 5 2010, 15:03)

Если не трудно, объясните как переписать строку FIO3DIR=(FIO3DIR&~((1<<29)|(1<<28)))|(1<<28);
хоть я и не в теме, но предположу, что таким образом (FIO3DIR=(FIO3DIR&~((1<<29)|(1<<28)))|(1<<28)

сбрасываются в ноль пины №29, №28 и опять №28 (это в приведенной Вами строке, может быть там 26-й должен быть) порта FIO3DIR. Вам надо сделать по аналогии.
diglook
Jul 5 2010, 14:44
Цитата
У меня в наличии модуль TE-LPC2478LCD3.5. немного переделал Init_LCD_controller по примеру терроэлектроники, экран заработал. Теперь не получается сенсорный экран. Понимаю, что подключен он к другим пинам, а именно P0_24 стал P2_30, P3_29 стал P0_12, P0_26 стал P4_23, P3_28 стал P1_31,
Нет под руками схемы TE-LPC2478LCD3.5, но что-то с вашей схемой не так! на этих портах ТАЧ работать небудет(ИМХО) посмотрите внимательней!
А вообще я переделал тач по схеме IAR_LPC2478_STK. Тогда все ИАРовские и некотороые другие примеры работают(только рихтануть)
Схемы подключения согласно документации
1 TE-LPC2478LCD56

2 TE-LPC2478LCD35

Цитата
А вообще я переделал тач по схеме IAR_LPC2478_STK
diqlook, это с используя drv_touch_scr.c ?
diglook
Jul 6 2010, 09:03
QUOTE
diqlook, это с используя drv_touch_scr.c ?
Я не понял о чем Вы, вот фрагмент схемы по которой я переподключил(проводочкамии еще одним разьемом)
при таком подключении PowerPakовские приеры должны запустится без переделок(графика и тач),
тоже самое порт от uCOS Micrum.по вашей схеме придется перелопатить код
Dvoe4Nik
Dec 15 2011, 20:48
Может у кого-то получилось прошить внешнюю флэш M29DW323DB через JTAG? Пробовал J-Link-ом через программу J-Flash - не опознается флэшка, и все тут.
Да, сама флэш исправна, через последовательный порт шьется нормально, но очень медленно. Хотелось бы побыстрее
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.