|
TE-LPC2478LCD, Документация и примеры к плате |
|
|
|
 |
Ответов
|
Feb 5 2010, 07:39
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 5-05-06
Из: Геленджик
Пользователь №: 16 811

|
Да работает. Я туда экранную заставку запихнул. Уже не помню где взял код, кажется из примеров 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, 07:44
|
|
|
|
Сообщений в этой теме
Shread TE-LPC2478LCD Jan 27 2010, 08:06 etoja Есть информация по Embedded Artists LPC2478.
http:... Jan 27 2010, 08:23 Shread Цитата(etoja @ Jan 27 2010, 11:23) Есть и... Jan 27 2010, 12:06 sherr Вот кое-что увы код написан отвратно и крайне ... Jan 27 2010, 19:06 Shread Спасибо!
Ну воопщем получили сегодня эту плат... Feb 2 2010, 13:57 Nick Nickl's Есть диск от нее, ничего там правда хорошего, схем... Feb 2 2010, 20:19 Dr.NoA Цитата(Nick Nickl's @ Feb 2 2010, 23... Feb 3 2010, 09:36 Зайцев Иван заказывал
Тачскрин работает Feb 3 2010, 08:04 VVS_2009 В прикрепленном файле лежит пример работы платы TE... Feb 3 2010, 13:24 Dr.NoA Цитата(VVS_2009 @ Feb 3 2010, 16:24) В пр... Feb 3 2010, 16:16 Nick Nickl's Vref небыл никуда не подключен. Я обсуждал это с н... Feb 3 2010, 19:23 Shread Цитата(VVS_2009 @ Feb 3 2010, 16:24) В пр... Feb 4 2010, 11:06 Shread Воопщем пол дня пытаемся запустить NOR внешнюю- до... Feb 4 2010, 14:56 Shread У кого-то вообще в принципе на этой плате работает... Feb 5 2010, 07:22 Shread Цитата(Nick Nickl's @ Feb 5 2010, 10... Feb 5 2010, 07:44 Terraelectronica Модулей TE-LPC2478LCD5.6 произведено немало, опытн... Mar 22 2010, 10:02 Nick Nickl's Не секрет. Сгенерил двоичный файл на SD/MMC и от т... Feb 5 2010, 07:56 Shread Поправили свою прогу по образу и подобию вашей- чу... Feb 5 2010, 08:13 Nick Nickl's Чем залить можно через JLink ваш HEX файл. Segger ... Feb 5 2010, 10:23 Shread Цитата(Nick Nickl's @ Feb 5 2010, 13... Feb 5 2010, 11:03 Shread Ну что я могу сказать..... прое... шись два дня на... Feb 5 2010, 13:23 sherr ЦитатаНе секрет. Сгенерил двоичный файл на SD/MMC ... Feb 5 2010, 20:02 Nick Nickl's увы раннего нету тока этот: http://79.143.76.226/f... Feb 7 2010, 10:17 Nick Nickl's Для отладки интерфейса можно использовать вот это:... Feb 7 2010, 10:17 sherr Спасибо, попробую Feb 7 2010, 15:34 Romanello Здравтсуйте.
А можно ли куда нибудь скинуть схему... Mar 24 2010, 18:21 VVS_2009 Исходные тексты работы сенсорного экрана и его кал... Mar 30 2010, 05:30 VVS_2009 На сайте Терраэлектроника стал доступен для скачив... Apr 15 2010, 10:41 Pniiis Nick Nickl's , спасибо за архив TE-LPC2478LCD5... Jul 5 2010, 12:03 diglook ЦитатаУ меня в наличии модуль TE-LPC2478LCD3.5. не... Jul 5 2010, 14:44 swisst Цитата(Pniiis @ Jul 5 2010, 15:03) Если н... Jul 5 2010, 14:08 Pniiis Схемы подключения согласно документации
1 TE-LPC24... Jul 6 2010, 06:25 diglook QUOTE diqlook, это с используя drv_touch_scr.c ?
Я... Jul 6 2010, 09:03 Dvoe4Nik Может у кого-то получилось прошить внешнюю флэш M2... Dec 15 2011, 20:48
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|