Jump to content

    

Shedon

Свой
  • Content Count

    110
  • Joined

  • Last visited

Everything posted by Shedon


  1. IchtiAndr, спасибо, будем смотреть...
  2. Есть сабжевый контроллер, есть прога на си, код хранится во внешней флэш, на 64кб, есть графический дисплей с контроллером SED1335, стал замечать следующею зависимость: чем больше программа по объёму тем больше становится глюков, сейчас прога весит без оптимизации 56889bytes of code. глюки заключаются в следующем перестаёт выводить графику на экран()рисует какие-то линии от болды), и зависает на этом, причём скол-во глюков зависит неким образом от оптимизации. Больше всех глючат функции обращения к контроллеру дисплея, обработка прерывания от таймера и функции си типа sprintf, vsprintf . Вот ниже привожу пример как у меня построена работа с дисплеем, эта функция рисует точку в один пихел. Код#define BASE_ADDR 0x5000 #define DISP_W_D ((char volatile*) 0x018000) #define DISP_W_C ((char volatile*) 0x018001) #define DISP_R_D ((char volatile*) 0x018001) #define DISP_R_C ((char volatile*) 0x018000) __data unsigned char n_bit,n_bat,d_byt; __data unsigned int adress; //... //... void put_pixel(int tx, int ty) { n_bat = tx/8; n_bit = tx-n_bat*8; adress = BASE_ADDR+(ty*40+n_bat); *DISP_W_C=0x46; *DISP_W_D=adress; *DISP_W_D=adress>>8; *DISP_W_C=0x43; d_byt=*DISP_R_D; d_byt |= (0x80>>n_bit); *DISP_W_C=0x46; *DISP_W_D=adress; *DISP_W_D=adress>>8; *DISP_W_C=0x42; *DISP_W_D=d_byt; } Контроллер дисплея подключён как внешняя память, т.е. здаётся мне глюки происходят при обращение к внешней памяти. Как мне кажется я где-то ошибаюсь с настройками компилятора, да забыл написать, компилятор IAR8051 v6.11, эмулятор PICE51, ниже привожу коммандные файлы с настройками проекта может кто что подскажет, заранее спасибо. Все файлы проекта компилируются со след. параметрами: Код--no_wrap_diagnostics --only_stdout --core=pl --code_model=n --data_model=l --nr_virtual_regs=8 --calling_convention=pr --place_constants=data --require_prototypes --migration_preprocessor_extensions -e --enable_multibytes -r -lCN indic --no_cse --no_inline --no_code_motion --no_unroll -IC:\PROGRA~1\IARSYS~1\EMBEDD~1.2EV\8051\inc\FileName.c Илинкуются след. образом: Код-IC:\PROGRA~1\IARSYS~1\EMBEDD~1.2EV\8051\config -D_EXTENDED_STACK_START=2000 -D_EXTENDED_STACK_END=23FF -D_EXTENDED_STACK_SIZE=3FF -D?DPS=86 -D_NR_OF_VIRTUAL_REGISTERS=8 -D?DPMASK=1 -D?CBANK=90 -D_CODEBANK_START=8000 -D_CODEBANK_END=10000 -D_IDATA_STACK_SIZE=0x90 -D_PDATA_STACK_SIZE=0x90 -D_XDATA_STACK_SIZE=0xFFF -e_medium_read=_formatted_read -l "KALIBR.MAP" -xsm -p80 -IC:\PROGRA~1\IARSYS~1\EMBEDD~1.2EV\8051\lib\clib\ -f "lnk51ew.xcl" -FINTEL-EXTENDED graf_r.R51 indic.R51 obr_klav.R51 pribor.R51 proverka.R51 sint_nch.R51 svitok.R51 upr_pkan.R51 ZNGENM10.R51 gui.R51 AT24C32.R51 ExchangePC.R51 C:\PROGRA~1\IARSYS~1\EMBEDD~1.2EV\8051\lib\clib\cl-pli-nlpd-1e.r51 -o KALIBR.hex В итоге программа получается след. размеров: 55 565 bytes of CODE memory 70 bytes of DATA memory( + 11 absolute ) 10 262 bytes of XDATA 149 bytes of IDATA 8 bits of BIT memory
  3. Цитата(bialix @ Feb 9 2005, 12:40)не знаю, я с яром для 51х не работал Да, похоже точно переполнение стека, сейчас просто перезапускается в опаределённый момент, первый раз с этим столкнулся, пока не вижу другого способа кромек как увеличить размер стека...
  4. Может просто размер стека увеличить ??? ------------------------------------------- PS Открыл окно "Распределение памяти"", во вкладке CODE есть две странные строчки: КодАдрес                Размер              Имя                                           Значение ------------------------------------------------------------                  --------------- //... //... C:FFFF                [1]                   _XDATA_END                                      [typless] C:10000             [16711679]       _FAR__DATA_START, _CODE_BANK     *Address out of range* C:FFFFFF            [4278255617]    _FAR_DATA_END, _CODE_END, _FAR_CODE_END                                                                                *Address out of range* C:FFFF                                        ***End of adress space *** Что такое находится по адресам C:10000 и C:FFFFFF
  5. Цитата(bialix @ Feb 8 2005, 17:52)я бы сказал, что у вас глючит или компилятор или переполняется стек объем программы растет потому что добавляются функции? если да - то проверяйте стек Да программа растёт из-за функций
  6. Может AT91RM9200
  7. [khach], естественно из прикладной программы с портами ни кто работать не собирается, всё делается через WriteFile/ReadFile
  8. Здесь есть класс для работы с ком портом, у меня через него всё работает.
  9. Подключение Epson S1D13705 к LPC2214

    Пробывать можно всё, что угодно, но, просто , не хочется переделывать если один из вариантов не заработает...
  10. Подключение Epson S1D13705 к LPC2214

    Дык они обе Generic #1. Просто разница в том что в первой схеме видеоконтроллер подключен как 16 битная память, с OE и WE, без BLS[1:0]. А во второй как 8 битная, с OE и BLS[1:0], но без WE.
  11. Подключение Epson S1D13705 к LPC2214

    Прикинули два варианта подключения контроллера индикатора к процессору, не подскажите какая из них более правильная. ЗЫ Схемы в аттаче.
  12. Лицензия IAR 4.xx

    Цитата(one_man_show @ Jan 29 2005, 21:34)Информация по софту для АРМ Цитата-The IAR Embedded Workbench Professional Edition (EWARM-PRO) Price: 42 000 SEK (or 52 000 SEK for a Network license) -The IAR Embedded Workbench (EWARM) Price: 39 500 SEK (or 49 500 SEK for a Network license) -The IAR Embedded Workbench Limited Edition (EWARM-LE) Price: 26 500 SEK (or 32 500 SEK for a Network license) (1 SEK is about 0,11 EUR) А что это за Limited Edition такой, чем он отличается от обычного ?
  13. ARM7 может есть в какой дешёвой железке?

    Цитата(Пришелец @ Jan 28 2005, 22:08)Спасибо. Не подскажете ещё доступ к FTP предоставляется когда пользователь оставит 10 сообщений и всё? И как быстро он предоставляется? http://forum.electronix.ru/index.php?showtopic=302
  14. etoja, Спасибо, а то я себе уже голову сломал, разбирая эту схему.
  15. У меня возникло несколько вопросов по обвязке процессора ADSP2191 в схеме которая приводится, в Evaluation System Manual на ADSP-2191 EZ-KIT Lite®, для чего стоит логика с тригером CE у флэша, и тоже самое у ОЗУ на линии A16 ? К этому ОЗУ также подключён PSEN, но от куда он там взялся, его больше ни где нет ? Вобще какая-то мутная у них схема, в перечне не нашёл кварц Y1... Evaluation System Manua прикреплён к этому сообщению
  16. Sharp LH7A404

    Цитатано по-моему BGA шагом 0.8 отпугнет очень многих. БГА, не есть гуд с любым шагом...
  17. Подключение Epson S1D13705 к LPC2214

    Цитата(lvitaly @ Jan 20 2005, 05:05)Хотя Windows-like (WM и Widgets) часть в uC/GUI при этом глючная  и убогая, в отличии от очень хорошо написанной core (2D, шрифты и т.п.) А можно тут по-подробнее, я предрологаю использовать в новом проекте как раз uC с гуи, что вы имеете ввиду на счёт его убогости, и второй вопрос, что за core, где её можно достать, идёт ли на с исходниками...
  18. JTAG Разъем

    С каким шагом должна быть колонка, или скажите какую конкретно колодку контактов надо поставить...
  19. JTAG Разъем

    ЦитатаМогут быть трех типов: 10, 14 и 20 выводов, шаг 2.54мм. Если делаете свой вариант, то всё на ваше усмотрение и шаг и распиновка, но минимум 4 информационных (см. выше) + землю конечно нужно реализовать. Мы делаем вариант для J-Link адаптера у него 20пиновый разъём, меня интересовал, шаг между пинами в колодке, что бы выбрать нужную вилку.
  20. ЦитатаГде взять для них среду разработки? Да вроде как на сайте analog.com, можно было скачать 90дневную тест-драйв, версию, VisualDSP для BF, а на счёт ломать ищите flex.dll.
  21. Подключение Epson S1D13705 к LPC2214

    Остаётся вопрос с линией Wait, вроде как она должна читаться контроллером после установки, адреса, перед установкой данных, как это реализовать ???
  22. JTAG Разъем

    ЦитатаУ меня, например, это шесть контактов Да вроде как он должен быть 20 пиновым. Имеется ввиду для адаптера J-Link.
  23. ARM with External Memory Interface

    У атмела есть в 100пиновом корпусе AT91M4080X...
  24. Подключение Epson S1D13705 к LPC2214

    Интересует, как организовать шину. S1D13705 вешается на внешнюю шину данных LPC2214. По примеру других процессоров чегото не получается. Непонятно следующее: 1. Как подключать адреса, A:1 к A:0 или A:0 к A:0? 2. Куда подключать BS# RD/WR# и др. подобные ноги S1D13705? 3. Как подключать BCLK, к задающему генратору или куда то к LPC2214? 4. Какой host bus interface установить ногами CNF? SH-4 interface Big Endian SH-4 interface Little Endian SH-3 interface Big Endian SH-3 interface Little Endian MC68K #1, 16-bit Big Endian MC68K #2, 16-bit Big Endian Generic #1, 16-bit Big Endian Generic #1, 16-bit Little Endian Generic #2, 16-bit Little Endian