Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2478 + TE28F128J3D
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
SergeyGSM
Вздумалось мне "подцепить" внешнюю flash , чтоб часть кода туды залить.

чтоб все startup (Keil ) находился по адресам 0x0 - 0x80000 (iROM1)
а, собственно , мой код начиная с 0x80000000 (ROM1)


Вот сбодяжил в PCAD такое подключение... что то терзают меня сомнения по-поводу двух сигналов
это A0 и Byte
может и еще где напутал, до сих пор внешней флеши не нужно было, опыта нет


может кто уже такое делал - буду признателен, если поделитесь опытом


; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x00000000 0x00080000 { ; load region size_region
ER_IROM1 0x00000000 0x00080000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
LPC2400.o (+RO)
.ANY (+RO)
}
RW_RAM1 0xA0000000 0x00096000 { ; RW data
.ANY (+RW +ZI)
}
RW_RAM2 0xA1000000 0x00FFFFFF {
main.o (+ZI)
RTX_Conf_LPC23xx.o (+ZI)
.ANY (+RW +ZI)
}
RW_IRAM1 0x40000000 UNINIT 0x00010000 {
LPC2400.o (+ZI)
.ANY (+RW +ZI)
}
RW_IRAM2 0x7FE00000 UNINIT 0x00004000 {
.ANY (+RW +ZI)
}
}

LR_ROM1 0x80000000 0x000FFFFF {
ER_ROM1 0x80000000 0x000FFFFF { ; load address = execution address
main.o (+RO)
RTX_Conf_LPC23xx.o (+RO)
.ANY (+RO)
}
}
Нажмите для просмотра прикрепленного файла
SergeyGSM
прочитал....
http://www.embeddedrelated.com/groups/lpc2000/show/34677.php

судя из этого форума, внешняя Flash "здорово мешает" работе МК с SDRAM, где собственно и храниться
буфер LCD

ВОПРОС тогда переформулирую.....

Встречался ли кто с этой траблой?
Борется ли это?
Смысл тогда в кристалле с LCD? раз уж использовать совместно с External Flash - большая проблема - а внутреннего слишком мало?
aaarrr
Цитата(SergeyGSM @ Dec 26 2008, 16:11) *
Смысл тогда в кристалле с LCD? раз уж использовать совместно с External Flash - большая проблема - а внутреннего слишком мало?

А что Вы хотели от маленького процессора без кэша? Ну, скопируйте все нужные данные из Flash в SDRAM и работайте. Сами NXP позиционируют LCD-контроллер LPC247x как QVGA, так что с них взятки гладки.
SergeyGSM
Цитата(aaarrr @ Dec 26 2008, 17:33) *
А что Вы хотели от маленького процессора без кэша? Ну, скопируйте все нужные данные из Flash в SDRAM и работайте.

Видно так и прийдется сделать.... и не в кеше тут трабл - на сколько я понял - шина виновата!
ну не научили ее толком работать с двумя разными классами памяти одновременно
в смысле , не в один момент, а в "команде"

Цитата(aaarrr @ Dec 26 2008, 17:33) *
Сами NXP позиционируют LCD-контроллер LPC247x как QVGA, так что с них взятки гладки.


А при чем тут QVGA или VGA ? просто картинка пропадет, что там что там когда арбитр переключиться с SDRAM на SRAM (FLASH). и пофиг какой у него LCD на ногах висит! (так буржую написали по той ссылке)
Хотя.... пока сам этого не увижу - не проверю - утверждать на 100% не стану!
aaarrr
Цитата(SergeyGSM @ Dec 26 2008, 17:25) *
и не в кеше тут трабл - на сколько я понял - шина виновата!

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

Цитата(SergeyGSM @ Dec 26 2008, 17:25) *
А при чем тут QVGA или VGA ?

Поток в 4 раза меньше.
SergeyGSM
Цитата(aaarrr @ Dec 26 2008, 18:57) *
Был бы кэш - всем было бы легче. Без него работа с экраном представляется некоторым извращением, ибо тормоза страшные.
Поток в 4 раза меньше.


Я говорю о трабле в кристале, который проявляеться вне зависимости VGA или QVGA LCD к нему подкл.
Я говорю о том, что SDRAM и SRAM (FLASH) устройства одновременно на проце КОРРЕКТНО НЕ РАБОТАЮТ!(опять же - со слов буржуев, но скоро сам проверю - платку отдал в изготовление).
И пофиг какой LCD - при обращениии к адресам НЕ SDRAM гаснет картинка!
aaarrr
Не надо только так нервничать. Тем более что буржуи, похоже, не правы: приоритеты AHB вполне себе нормально конфигурируются, если верить UM.
SergeyGSM
Цитата(aaarrr @ Dec 27 2008, 19:15) *
Не надо только так нервничать. Тем более что буржуи, похоже, не правы: приоритеты AHB вполне себе нормально конфигурируются, если верить UM.

да не нервничаю я, просто из ваших ответов я понял, что мы говорим о разном....


А правы ли буржуи ... скоро проверю
SergeyGSM
Буржуи были правы! Проверено. СИНХРА РВЕТСЯ
SergeyGSM
ТЗ

1: Подключить к LPC2478 TEA28F128J3 в адреса 0x80000000 - 0x80FFFFFF
с возможностью программировать J-Flash ARM
результат :
выполненно. Flash видна из проги самого ARM и программируеться J-Flash ARM
решение проблемы тут http://electronix.ru/forum/index.php?showtopic=57413
2: Заставить Keil заливать код во внешнюю Flash и дебажить его, с целью проверить срыв картинки на LCD при выполнени кода из External Flash
топик http://electronix.ru/forum/index.php?showt...mp;#entry525752
результат : Keil был успешно "заставлен" делать все как я хочу. код который лежал в External Flash успешно срывал картинку на LCD при выполнении

Выводы
1.Не использовать для прямого выполнения кода SRAM области EMC LPC2478 - срывает потоки SDRAM->LCD
если уж очень хочется, туда можно ложить всякие таблицы (шрифты например)
2.для полноценной работы с LCD использовать НЕ LPC2478

В общем, это будет первый и последний мой проект на LPC2478 (надеюсь), по крайней мере с использованием его LCD контроллера .
SergeyGSM
Цитата(aaarrr @ Dec 27 2008, 18:15) *
.... приоритеты AHB вполне себе нормально конфигурируются, если верить UM.

Ткните носом, где это прочитать ? если несложно.... перерыл доку на LPC24XX - не увидел, подскажите, плз
Dog Pawlowa
Цитата(SergeyGSM @ Jan 4 2009, 18:18) *
2.для полноценной работы с LCD использовать НЕ LPC2478

Параметры "полноценной работы" огласите, плз.
Ограничения LPC2478 по быстродействию обсуждались на форуме пару месяцев назад, в мировой паутине год назад, и можно было подготовиться smile.gif
SergeyGSM
Цитата(Dog Pawlowa @ Jan 5 2009, 13:05) *
Параметры "полноценной работы" огласите, плз.

для начала....
выложить код в SDRAM, запустить его оттуда и наблюдать статическую картинку на LCD , а не срыв синхронизации по строкам, что собственно я сегодня и наблюдал.....
может это происходит из-за прерываний, что тоже аллоцированы в адреса SDRAM, проверю, но мне кажеться это не так. LPC2478+ его внутренний LCD + код в SDRAM | Ext.Flash->неработает
ну как неработает... работает, но полностью игнорируюстя ресурсы для LCD контроллера , я имею ввиду время AHB

Цитата(Dog Pawlowa @ Jan 5 2009, 13:05) *
Ограничения LPC2478 по быстродействию обсуждались на форуме пару месяцев назад, в мировой паутине год назад, и можно было подготовиться smile.gif

имеено в этом и проблема, я не видел где и кто писал о этой проблеме (LCD+Ext.Flash)!
а наткнулся - уже поздно....
crying.gif
Dog Pawlowa
Цитата(SergeyGSM @ Jan 5 2009, 15:12) *
для начала....
выложить код в SDRAM, запустить его оттуда и наблюдать статическую картинку на LCD ...
...работает, но полностью игнорируюстя ресурсы для LCD контроллера , я имею ввиду время AHB..

Я спрашивал параметры видеоэкрана и ширину шины при обращении к SDRAM. Гугл такого индикатора не находит, поэтому не очень понятно, с чем Вы работаете. Частоту кадров уменьшить пробовали?

И со словами "полностью" поосторожнее, поскольку на LPC2478 uLinux крутится. smile.gif
SergeyGSM
Цитата(Dog Pawlowa @ Jan 5 2009, 14:28) *
Я спрашивал параметры видеоэкрана и ширину шины при обращении к SDRAM. Гугл такого индикатора не находит, поэтому не очень понятно, с чем Вы работаете. Частоту кадров уменьшить пробовали?


LCD - родной от EB Olimex LPC2478-STK 320х240 24 bpp
шина SDRAM 32 bits

Цитата
И со словами "полностью" поосторожнее, поскольку на LPC2478 uLinux крутится. smile.gif

как раз об этом и подумал, надо будет глянуть как там с lcd сделали , но пока , что что я вижу
(вроде не вчера сел код писать) - игнор "потребностей" LCD контроллера со стороны AHB и всецелая поддержка ЯДРА.
Хотя, вы правы, нужно просмотреть все "нюансы", но на данном этапе кроме uLinux даже идей нету.... help.gif
Dog Pawlowa
Цитата(SergeyGSM @ Jan 5 2009, 16:29) *
игнор "потребностей" LCD контроллера со стороны AHB и всецелая поддержка ЯДРА.

Насколько я понимаю, контроллер должен получить команду независимо ни от чего, и ожидание ядра не предусматривается.
Я в тестовых примерах код в SDRAM не загружал, но подбором кадровой частоты/ bpp удавалось добиваться пограничной ситуации, когда синхронизация сбивалась только при обновлении экрана. При отсутствии обращения к SDRAM картинка стояла твердо. Но у меня это происходило при работе с другим индикатором (800х480), поэтому все выглядит немного странно.
Может, скорость обращения к SDRAM в инициализации зарублена?
SergeyGSM
Цитата(Dog Pawlowa @ Jan 5 2009, 14:28) *
Я спрашивал параметры видеоэкрана и ширину шины при обращении к SDRAM. Гугл такого индикатора не находит, поэтому не очень понятно, с чем Вы работаете. Частоту кадров уменьшить пробовали?

И со словами "полностью" поосторожнее, поскольку на LPC2478 uLinux крутится. smile.gif

снизил рефреш до 30 гц как линуксах - из сдрам работает без срывов

Цитата(Dog Pawlowa @ Jan 5 2009, 15:44) *
Может, скорость обращения к SDRAM в инициализации зарублена?

из DS на память настраивал , потом сравнил с патчнутыми настройками в примере от Olimex-все совпадает

затея то Ext.Flash запустить в паре с LCD....
SergeyGSM
никак код не хочет работать из Ext.Flash без срыва LCD.
все я сдался.... полезет проект в SDRAM
aaarrr
Цитата(SergeyGSM @ Jan 4 2009, 22:47) *
Ткните носом, где это прочитать ? если несложно.... перерыл доку на LPC24XX - не увидел, подскажите, плз

Скачайте UM10237 от 19 декабря, собственно в ней регистры конфигурации AHB и добавили.
SergeyGSM
Цитата(aaarrr @ Jan 9 2009, 00:38) *
Скачайте UM10237 от 19 декабря, собственно в ней регистры конфигурации AHB и добавили.

Вот вот .... именно, только там я и нашел описание конфиг регистра по приоритетам шины AHB1
и... о чудо.... все получилось....
теперь прога живет в Ext.Flash , а LCD чувствует себя прекрасно...
спасибо всем.....
PS: подключене Flash неверно(то что в начале ветки)
правильное тут (по аналогии)
http://www.olimex.com/dev/images/ARM/CIRRU...2-REV-B-sch.gif
признаю, что был неправ в некоторых высказываниях ("полносью игнорируеться"), но это от недостатка инфы+ эмоции...
SergeyGSM
Для программирования ExtFlash утилитой JFlash от SEGGER нужно создать проект, в котором нужно прописать инициализацию EMC LPC2478


для прошивки и дебага в кейл - файл инициализации Flash.ini
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.