Перейти к содержанию
    

leen

Свой
  • Постов

    173
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о leen

  • Звание
    Частый гость
    Частый гость
  • День рождения 24.08.1983

Контакты

  • Сайт
    Array

Информация

  • Город
    Array

Посетители профиля

2 062 просмотра профиля
  1. Не знаю, возможно, поздно, но тем не менее: В витисе есть рабочий проект со своими настройками оптимизации, а есть т.н. platform project, включающий в себя board support package, в том числе локальные копии драйверов периферии, имеющейся (включенной) в проекте ПЛИС. Так вот они имеют свои уровни оптимизации - по умолчанию -O2, и из диалога изменения bsp это не правится. Я правлю ручками в мейкфайлах (благо, их немного), если захочется полазить дебагером по драйверам. Но это до первого реимпорта xsa-файла из Vivado, потом все возвращается на круги своя.
  2. В начале освоения ЛУТ тоже печатал в pdf или postscript, затем импортировал в Corel Draw и если в площадках были отверстия, то многие не были видны. При этом часть виа импортировалась нормально, а часть - нет, с падами точно так же. Поспрошал знакомого фотографа, тот сказал, что этот глюк не мой, а адоба - кривая работа со вложенными окружностями. Избавлялся от этого эффекта, делая площадки эллипсоидными или сглаженно-квадратными. Быстро надоело. Освоил CAM350, работа с герберами для меня стала удобнее. При этом, если на печать выводить из CAM350, хоть на принтер, хоть через виртуальный принтер в пдф, этого глюка не замечал. Правда, я перешел на предварительную сверловку, поэтому прозрачных отверстий на сверловке больше не делаю. На выходных если будет время - проверю и отпишусь.
  3. А что из оборудования у Вас есть? JTAG там, плата отладочная, какие версии софта? а то напишет кто-нибудь под CV выпуска так года 2003, а у Вас этот пример не соберется. Да и LCD разные бывают. Upd: вот, наковырял. #include <alcd.h> #include <delay.h> // ******************** ADC ***************************** // инициализация АЦП void adc_init(void){ ADMUX = (0<<REFS1)|(1<<REFS0); // AVCC - 5v ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); // CK/128 //ADCSRB = (1<<ADTS2)|(1<<ADTS1)|(0<<ADTS0); // timer1 overflow } // разовое чтение АЦП поллингом unsigned short int adc_convert(unsigned char channel){ unsigned short int result; ADMUX = (ADMUX & 0xF0)|channel; ADCSRA |= (1<<ADSC); while (!(ADCSRA & (1<<ADSC))); result = ( ((unsigned short int)ADCH << 8) | (unsigned short int)ADCL); return result; } char flash fmt[] = "%d"; void main(void) { char buf[16]; unsigned short int adc_data; lcd_init(16); while(1) { adc_data = adc_convert(0); lcd_clear(); lcd_gotoxy(0,0); sprintf(buf, fmt, adc_data); lcd_puts(buf); вудфн_ьы(100)ж } } Лаба или курсач?
  4. Спасибо, почитал. Действительно, у меня в проекте она существенно ниже ошибки квантования. Учту на будущее.
  5. Странно, у меня все работает. ПЛИС - spartan3e на плате стартеркита, АЦП AD7352 на другой плате через разъем, 12 бит. Интерфейс spi-подобный, ч-та клока 48 МГц, выведен обычным выводом (по неопытности, надо было, наверно, вывод клоковый использовать). На замере рефа дрожало два младших бита. При этом питание цифровой части АЦП идет от ПЛИС, аналоговая - через локальный стабилизатор и маленькую индуктивность - от той же ПЛИС.
  6. Шарю? Хм, спорный вопрос, опустим для ясности:). По-крайней мере, из вариантов - собирать ручками, или собирать скриптами я уже выбрал второй. А первый - и в первый раз через пень-колоду получился, и сейчас не очень-то пошел.
  7. Скажи, а тебе так нуже java-компилер под АРМ? Или таки нет? Если нужен - ну, наверно, надо поставить gcj под i686. Лучше сконфигури кросстулзы сам - меньше мусора будет. И читай мануалы в процессе. Только в конфиге libc укажи addon nptl, компиляторы - по вкусу, я выставил gcc, g++. Джава мне не нужна, ада с фортраном - тоже. Свою реплику про "--with-tls" дезавуирую. Пока собралось не все (за ночь - не так уж быстро), но глицы и компилеры собрались, сейчас собирается нативный gdb. Да, и поотмечай в опциях binutils и gcc сборку библиотек. А будет у тебя нормальный тулчейн - займемся ручным изготовлением инитрамфс, а на его основе уже можно создать и свой постоянный рутовый раздел. Вчера попробовал поставить emdebian - пока собирались тулзы. И надо ж такому случиться - сервер недоступен. Аж обидно. UPD: тулчейн собрался за ночь. Проверил на ядре - собрал с рабочим конфигом новыми тулзами. Ядро нормально запустилось и нормально же запаниковало, не найдя инитрамфс. Вечером продолжу - соберу инитрамфс, вкручу в ядро. Кросстулз мне понравились тем, что правильно настроил, сырцы дал - и ушел. А оно работает:) Ну и аккуратнее получилось, чем у меня пару лет назад, когда я ручками все это собирал.
  8. Ты подожди денек, я сам разберусь с кросстулзами, отпишу че да как. Я первый раз тулзы с месяц собирал - то нормально, то такая злость разбирает, что не собирается нихрена, что к компе не подходил - боялся взять и уе..ть. первая ссылка в гугле по приведенной тобой ошибке, нижний пост libc_cv_forced_unwind=yes ....... ./configure .......
  9. Mops-7.0 beta - слегка причесанная слакварь. Голая консоль, сугубо для сборки проектов. У меня че-то начало получаться с кросстулзами, домой приду - продолжу. Как чего получится, допишу.
  10. Тащемто правильно nptl. Эт раз. По кросстулзам. На сборке глибцов все сломалось. В конфиг добавил ключ --with-tls, в использовании аддонов записал nptl. Для того, чтобы не пересобирать все сначала, включил отладку и запоминание промежуточных шагов. Перезапустил, через час посмотрю.
  11. В перерывах на производственный процесс тестирую crosstools-ng. Приятная вещь, жаль, в прошлый раз не смог ее освоить. Скачал отсюда. Выложил в /home/leen tar xf crosstool-ng-1.9.0.tar.bz2 cd crosstool-ng-1.9.0 ./configure --prefix=~/usr make && make install До этого попытался, как белый человек, поставить тулзу в /usr - не завелась, видать, ей надо w доступ на свои файлы. Создаю папку для сборки, конфигурю из нее (перед этим надо не забыть добавить саму тулзу в путь) mkdir ~/toolchain-build cd ~/toolchain-build export PATH=$PATH:~/usr/bin ct-ng menuconfig На всякий случай, вот мой конфиг arm_linux_eabi.config.txt Его только надо переименовать в .config, а то форумный движок запрещает мне заливать файлы такого типа. Хе-хе. Тут можно поступить двояко - или дать тулзе все необходимое загрузить, или сделать это самому. Я собираю все в виртуалке, путь до шлюза у меня не прописан, поэтому выкачал ручками и слил в ~/src. Если дать скрипту выкачивать все и отметить в конфиге, что сырцы надо сохранить, то сохранит он все как раз в ~/src, если такая папка есть. Если нет - не сохранит. Пакеты архивов: binutils-2.20.tar.bz2 gcc-4.4.5.tar.bz2 gdb-6.8.tar.bz2 glibc-2.9.tar.bz2 glibc-ports-2.9.tar.bz2 gmp-4.3.2.tar.bz2 linux-2.6.36.tar.bz2 mpfr-2.4.2.tar.bz2 ppl-0.10.2.tar.bz2 cloog-ppl-0.15.10.tar.gz expat-2.0.1.tar.gz ncurses-5.7.tar.gz Заметил баг в crosstools - Re: CLOOG/ppl failure in ct-ng 1.9.0. Ничего страшного, фиксим файл ~/usr/lib/ct-ng-1.9.0/scripts/build/companion_libs/cloog.sh, добавив строку, помеченную +++. Исправь до сборки, а то при ошибке сборка начинается с начала, блин. А дотуда - полчаса легко. Пока все.
  12. configure: WARNING: using cross tools not prefixed with host triplet Мне не нравится этот варнинг. Поищи его в config.log и посмотри (а можешь и мне показать), что рядом с ним, строк +/- 50 где-то. Касательно скрипта - сильно уж он старый. Ядро сильно изменилось после 2.6.18. Да и либси на месте не стоит. Можно еще помучаться с crosstools-ng. Я щас попробую его запустить, вечером приду домой - посмотрю, что получилось. версии: binutils 2.19.1 gcc 4.3.1 glibc 2.9 linux-2.6.29.6 с наложенными патчами PREEMT_RT - вытесняющая многозадачность и атмеловский патч, взятый с максим.орг.за. Насчет пива и девок - давай сначала соберем:)
  13. Ладно, начнем по порядку. 1 вся работа идет в шелле. Так удобнее. (Шелл это командная строка). Распаковка файла - tar xf имя_файла. Для автодополнения можно жать на таб, если файлов с введенной частью больше одного - шелл покажет варианты после второго нажатия таба, не обессудь, если их будет много. итак, папка с архивами glibc-2.11.2.tar.bz2, glibc-ports-2.11.tar.bz2. tar xf glibc-2.11.2.tar.bz2 tar xf glibc-ports-2.11.tar.bz2 Если хочешь понаблюдать за процессом - вместо xf пиши xvf. x - распаковка, f - в качестве аргументов будут файлы, v - подробно. Копируем содержимое glibc-ports-2.11 в glibc-2.11.2 cp -R glibc-ports-2.11/* glibc-2.11.2 Ну а дальше твоя строка конфигурации. И, кстати, опция --without-__thread у меня не проканала, а вот --with-__thread - прошла на ура. Все, я спать, вечером приду с работы - попробую пересобрать свежаки между делом.
  14. накатывание патчей patch -p1 -i имя_файла_с_патчем а вообще - man patch. Там довольно подробно объясняется. на opennet.ru есть русские переводы многих манов. Ты команды хоть приводи, непонятно ж ничерта - куда и что ты пишешь. Вот давай начнем с установленного gcc без библиотек, ага? export ARCH=arm CROSS_COMPILE=arm-linux- (ну или как ты там гцц переименовал). Так? Какие патчи накатываешь, какие версии софта используешь? Я не против тебе помочь, но ты уж меня телепатом не считай, ладно?
  15. А что я выше говорил про линукстредс? Пост 6. Кроме того, если брал сырцы у гну, наверно видел файлы glibc-ports-xxx? Так вот сама глибц - под x86, а под арм ее ориентирует (добавляет платформозависимые куски) именно порт. И не факт, что самую свежую версию уже портировали. с ошибкой придется разбираться, но чуть позже, а флаг нужен, иначе при сборке мейк будет по-всякому тестировать собираемое, а как, если оно не запускается? есс-но будет тьма ошибок.
×
×
  • Создать...