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

porty

Свой
  • Постов

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

  • Посещение

Весь контент porty


  1. Маркетолухи и старпёры из STMicroelectronics успешно провели значительное ухудшение сайта www.st.com текст стал серым, блеклым, диаграммы и рисунки совсем плохие ... да ладно. Вопрос Куда подевали аппноты, например протокол загрузчика по уарту, режимы загрузки и тд? Speex кодек куда дели? рекомендации к разводке и тд? Как искать старые документы? Как включить старый сайт?
  2. ELITAN.RU

    Добрый день. Почему раньше было меньше бумаги вместе с посылкой: две счёт фактуры и счёт? Сейчас же один из заказов разделили на несколько, добавили упаковочные листы, ещё какие то документы и по несколько копий счёт фактур и счетов вложили. Причём ряд документов можно было бы распечатать вместе, например упаковочные листы занимают 1/4 от высоты листа. Т.е. стала сейчас приходить весьма увесистая пачка бумаги листов на 10-20, особенно забавно когда надо для разработки помелочи дозаказать то что кончилось: резисторов 0603 пару сотен и BAT54A десяток, т.е. посылка весом пару грамм.
  3. ELITAN.RU

    а не бывало так что объеденяли с производственным заказом и получаешь ещё в довесок с пару десятков тыщь разъёмов например? А потом производство мозги кочкает сильно: "ааа план, где разъёмы!! всё пропало! - это он виноват, ничего делать не будем!" мне поэтому и не понравился такой способ. Проще попросить чтоб явно промаркировали пакет и договорится с курьером что из офиса Элитана забирает, он у нас пока что вминяемый и доп. заезд в офис дополнительно оплачивается. И поэтому я считаю что источник проблем - Элитан, а не производство например. Да и вообще если даже в производство придет пакет или посылка подписанная "Для разработчиков, группа №12345" то они явно её просто отложат, а не на склад отдадут. Что для любого предприятия я считаю будет в большой плюс если такое будет налажено со стороны Элитана.
  4. ELITAN.RU

    В нашей организации три подразделения которые заказывают у Вас компоненты: производство и две группы разработчиков. Но все компоненты часто приходят в куче от разных счетов и для разных подразделений, это неудобно особенно когда идёт мелочёвка например резисторы или конденсаторы и начинаем разбираться: из пары сотен позиций кому что должно было прийти, ещё осложняется это тем что резисторы заказываются кратно 1000 например, и у многих подразделений совпадают и номиналы и кол-ва т.к. они друг о друге при заказе не знают. В итоге пол часа времени как минимум тратится на разбор того, что прислано. Часто производство как выско-приоритетное забирает себе то что у него кончилось, а план делать надо. Мы как разработчики не довольны этим. Ещё минус в том что все компоненты попадают в начале на производство а потом через день или два их привозят конструкторам. А так же производство часто не может отличить схожие микросхемы и их себе оставляет и приходится их искать и ездить туда. Поэтому хотелось бы иметь возможность отметить в форме при онлайн-заказе чтоб все компоненты по данному счёту не посылали вместе с компонентами по другим счетам. А посылали отдельными пакетами. А так же хотелось бы иметь возможность как то обозначить на пакете или посылке в котором посылаются компоненты то какому подразделению они предназначены. Тогда наш курьер сможет сразу передавать пакеты для нас сразу нам не отвозя их все на производство. Т.е. было бы неплохо в форме заказа сделать доп текстовое поле ввода: "Надпись на упаковке:________" и галочка "[X] не объединять, с другими счетами при отправке".
  5. разобрался стираем, прошиваем, проверяем "C:\Program Files (x86)\Atmel\AVR Studio 5.1\avrdbg\atprogram.exe" -v -t avrispmk2 -d AtTiny13A -i ISP program -c --verify -f dspshka_tiny.hex записываем фузы "C:\Program Files (x86)\Atmel\AVR Studio 5.1\avrdbg\atprogram.exe" -v -t avrispmk2 -d AtTiny13A -i ISP write -fs --values FB58 лочим "C:\Program Files (x86)\Atmel\AVR Studio 5.1\avrdbg\atprogram.exe" -v -t avrispmk2 -d AtTiny13A -i ISP write -lb --values FC тоже же для тиньки9 16ричные значения битов для фузов и лок битов можно поглядеть в самом AVR studio, граф среда показывает их при настройке. Спасибо за помощь
  6. Добрый день. Имеется: много мк Attiny13 много мк Attiny9 программатор AVRISPmkII AvrStudio v5.1 Необходимо настроить прошивку из командной строки. Надаело по менюшкам лазять и ждать загрузки этого ГИГАНТА - студия запускается по 5 минут (стыд и позор!!). Основное время уходит на прошивку тинек хотя в проэкте и плис и фтди и цайпрексы и армы и тд. Да и не спортивно - всё остальное настраивается. кастомизируется и прошивается разом скопом из одного bat файла, а тут надо запускать монстра и ковыряться в менюшках, настраивать фузе биты и тд, которые постоянно путаешь и косячит всё. Проблема в том что формат командной строки непонятен и очень мутный, нашол утилиту которая по идее способна из командной строки прошить C:\Program Files (x86)\Atmel\AVR Studio 5.1\avrdbg>atprogram.exe но в ней встроен убогий хелп, нефига непонятно там, офф дока ссылается на встроенный в прогу хелп и толку нуль от него, в общем все мутно Непонятно следующее: 1. частота прошивки не выставляется - прога падает с ошибкой по чтению нулевого указателя 2. Как выставлять фузы 3. Как установить защиту. Кто нибудь настраивал нормальную прошивку тинек через эту штуку? Чем кроме студии можно прошить Tiny9 этим программатором AVRISPmkII? Как сделать стирание, прошивку, верификацию и установку защиты и фузе битов? Да ещё и с низкой частотой иначе аврки не прошиваются если частота выше 1/4 от базовой.
  7. ELITAN.RU

    после смена цветовой темы на сайте, в корзине у каждой второй позиции не видно актуальной цены т.к. она рисуется белым цветом на белом фоне http://i.minus.com/ibkiEHd10xbE5q.GIF
  8. ELITAN.RU

    с удивлением обнаружили что отгрузка со склада в Елитане стала не в течении недели, а в течении суток. Большое спасибо, это действительно классно и действительно существенное улучшение. Но мы заметили что есть такая странность у Вас: Почему то самые популярные детали типа: 1. общих защитных диодов шотки и стабилитронов в сот23, 2. катушки индуктивности которые идут в большинство импульсников простых и дешовых, которые ставятся в большенстве изделий 3. Микро кнопочек 4. микро УСБ гнёзд на плату 5. Даже порой подпружиненных контактов Всего этого списка частенько нет в наличии и приходится ждать порой по 3-4 недели. Неужели никто кроме нас не покупает те же усб разъёмы? Или мб нет норм планирования такого чтоб на самое популярное что постоянно покупают был запас как мы делаем с своей продукцией? Из за этих всех мелочей приходится отдельно закупаться в chip-nn.ru и прочих очень хороших мелкооптовых магазинах. Порой не в одном а в куче разных потому что они не могут сразу очень много отгрузить что очень хлопотно, особенно учитывая что в отличии от Вас они могут сроки не соблюдать и приходится их по телефону прозванивать, а иногда и юридически что то предпринимать.
  9. ELITAN.RU

    с удивлением обнаружили что отгрузка со склада в Елитане стала не в течении недели, а в течении суток. Большое спасибо, это действительно классно и действительно существенное улучшение. Но мы заметили что есть такая странность у Вас: Почему то самые популярные детали типа: 1. общих защитных диодов шотки и стабилитронов в сот23, 2. катушки индуктивности которые идут в большинство импульсников простых и дешовых, которые ставятся в большенстве изделий 3. Микро кнопочек 4. микро УСБ гнёзд на плату 5. Даже порой подпружиненных контактов Всего этого списка частенько нет в наличии и приходится ждать порой по 3-4 недели. Неужели никто кроме нас не покупает те же усб разъёмы? Или мб нет норм планирования такого чтоб на самое популярное что постоянно покупают был запас как мы делаем с своей продукцией? Из за этих всех мелочей приходится отдельно закупаться в chip-nn.ru и прочих очень хороших мелкооптовых магазинах. Порой не в одном а в куче разных потому что они не могут сразу очень много отгрузить что очень хлопотно, особенно учитывая что в отличии от Вас они могут сроки не соблюдать и приходится их по телефону прозванивать, а иногда и юридически что то предпринимать.
  10. Большое спасибо, вы правы, плохо искал. А как запихнуть произвольное содержимое для флешки внутрь JIC файла?
  11. Добрый день. Имеется проект на базе Altera Cyclone 3 & 4 (под разные версии платы), младшие версии в выводных корпусах. Помимо конфигурации плис необходимо сохранить произвольные данные в самой флешке конфигурации EPCS4, располагаю после конф плис. Проект прошивается двумя способами: 1. При производстве через JIC файл - в конф. флешь через jtag мост согласно AN 370: Using the Serial FlashLoader. 2. При обновлении прошивки клиенту высылается файл сырых данных *.RBF. если для второго случая достаточно произвольные данные просто приклеить к концу rbf файла, то как сделать так чтоб в JIC файл при компиляции в sof или при конвертации в jic добавлялись произвольные данные? И как вызвать при каждой компиляции bat скрипт который приклеит к сырому файлу нужные данные? (запуск внешних сриптов до и после компиляции я не нашол). Желательно при каждой компиляции автоматом в самой средой quartus.
  12. я понял как проще сделать - у меня уже есть в плис виртуальные 8 битные каналы - шины, и стробы по ним, как чтения так и записи, я заведу запись через регистр на nCS CLK ASDI а на DATA в чтение, и фактически буду напрямую ножками с компа дрыгать, перепрошивка даже за час лучше чем клиенту ездить к нам за 1000км. И самое главное с такими флешками я работал через фтди в режиме ножкодрыгания. весь сфот в том числе и для клиентов с прогой перезаливки содержимого есть, останется только физ уровень сменить с фтди на усб плисины. EPCS4 оказывается совместим с весьма популярыми флешками... Все тайминги, команды и тд 1 в 1 и нароботки по ним есть, в том числе и тестирование и диагностирование. Да и в ТЗ необходимо сделать диагностирование и контроль со стороны компа во время сборки, чтоб найти непропай (да, джитага они не знают и переделывать всё ради не самой нужной фишки мне времени не выделили). Т.е. требуется чтоб тестовый стенд сообщил точку и координаты непропая, или как минимум вывод у плис. аааа, понял, может можно поставить serial flash loader и поставить галку "Share ASMI interface with your design"? и подключиться к его выводам?
  13. и ещё вопрос - в проекте используются разные корпуса, как сделать так чтоб не нужно было после смены корпуса задавать пину привязку именно на пина конфигурационной флешки? как то же тот же SignalTapII сам подключается к jtag вне зависимости от типа корпуса, как и в данном случае сделать автоматическую привязку к пинам конфигурационной флешки?
  14. Добрый день. Имеется уже готовый и проверенный временем проект для Altera Cyclone3 на 5тысяч ячеек, свободно около 800, конфигурация для него загружается с конф-нной микросхемы EPCS4. Но в нём нет возможности обновления прошивки. Сейчас потребовалось добавить в том числе и опцию обновления прошивки, такую чтоб влезло в 800 оставшихся ячеек. Как это сделать? Ранее делал обновление только из SpocBuilder и NIOS процессора. там всё просто и понятно, но в данный момент нет ни ресурсов плис ни возможности поставить внешную память для NIOSа, внутренняя вся уже используется. Данный проект работает с компьютером через усб. Соответственно было бы неплохо как понимаю сделать физ уровень который бы просто передавал в EPCS4 команды и данные и с компа управлять ими, мультиплексор-хаб для множества разных функций в плис уже реализован. Есть ли такие решения у альтеры чтоб как миниум можно было обмениваться сырыми данными с EPCS4 и на компе реализовать всю высокоуровневую логику стирания, записи и верификации прошивки? Заранее спасибо за помощь.
  15. треск АЦП LPC1768

    используй STM32Fxxx и Coocox как показала практика, на перенос очень больших исходников потребовалось чуть менее месяца при почти полном использовании периферии LPC1768. да и STM32F куда лучше семейство мне показалось тем что можно сменять кристаллы не меняя исходников, всё унифицировано и более - менее работает, хоть и с ограничениями (например ЦАП не на полный размах а -100мВ сверху и снизу). а то так можно и 10 лет прождать у моря погоды ;)
  16. Добрый день. В уже существующий проект на STM32F100R4 надо прикрутить статистику того сколько в % или тактах в секунду спит контроллер либо загружен, т.е. нужна статистика количества тактов в SLEEP режиме. Желательно получить статистику слипов аппаратную, в виде регистра. Самое лучшее что нашол это вот: http://infocenter.arm.com/help/index.jsp?t...g/BABJFFGJ.html но там статистика только 8 битная чего явно мало. Есть ли в Cortex M3 нормальная аппаратная статистика тактов в Sleep режиме? Подскажите пожалуйста. Спасибо.
  17. извиняюсь, забыл сказать что: проблема как раз в том что уже около 60кбайт из 65кб максимума и оно в добавок при мелких правках подпрыгивает до 62 .. 63кб, и один раз просто не влезло в 65кб, вылечил обновлением gcc, но такая повадка осталась.
  18. при -Os всё норм, это только в -О3 постоянно творится и в -О2 нередко помню было, но тогда ещё не предавал значения. Но всё бы ничего, но фильтры не успевают в режиме реального времени на -Оs, на -О2 только если с бубном поплясать а на -О3 вообще всё отлично, можно алгоритмы не подвергать даже рефакторингу по скорости, тем самым сохраняя читаемость и понятность.
  19. нет, это не отладка, я смотрю размер bin файла для прошивки и внутри него нет отладочных таблиц, имён переменных и тд. И судя по мап файлу это не отладочные функции типа printf чере уарт как на кортекс М1 для фпга. Поглядел мап файл - оказалось что почему то на уровне оптимизации -О3 оптимизатор ряд вызовов функций делает как инлайновые особенно когда внутри одной функции вызывается десяток раз другая подфункция, он этот вызов разворачивает как inline и функция уже занимает не 100 инструкций а 2000...3000, внутри того файла в который вношу правки.
  20. Разбухание кода в STM32

    Добрый день. Пишу для STM32F100xxx Использую стандартный GCC, codesourcery gcc arm toolchain И Эклипс в качестве среды. Встретился с непонятный поведением размера кода после компиляции. Если добавить пару строк кода в любое место, например было char *rs_tx_command; char rs_tx_command_crc=0; void rs_tx_command_add(char v) { rs_tx_command[rs_tx_command_count++]=v; rs_tx_command_crc+=v; } стало char *rs_tx_command; char rs_tx_command_crc=0; void rs_tx_command_add(char v) { if (rs_tx_command_count == 2) { rs_tx_command[rs_tx_command_count++] = RS_COMMANDS_EXTENDER; //RS_COMMANDS_EXTENDER = 0xFF rs_tx_command_crc += RS_COMMANDS_EXTENDER; } rs_tx_command[rs_tx_command_count++]=v; rs_tx_command_crc+=v; } то размер кода увеличивается на 2 килобайта, хотя по асм-листингу добавляется 10-20 команд всего. Хотя если вносить изменения в других местах проекта не связанных с кодом а данными добавляемыми в флешь (как константы), например поменять константу с 8 битной на 32 битную или 64 битную то увеличивается размер кода на 4 или 8 байт. Настройки: командная строка компилятора arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Wall -ffunction-sections -O3 -fdata-sections -g линковщика arm-none-eabi-gcc -O3 -nostartfiles -Map=one_chanel.map -mcpu=cortex-m3 -mthumb -L${linkdir} -T${linkdir}\link.ld --gc-sections Куда девается остальное? И почему это происходит? Спасибо.
  21. ELITAN.RU

    Большое спасибо. Так и будем делать. Но возник вопрос: Предположим мы перечислим 100т.р на счёт по данному договору. У нас заказывают несколько разработчиков самостоятельно то, что им необходимо. Они друг с другом не советуются, нередко они заказывают целыми комплектами на 2-3 штуки, на большую сумму, и есть вероятность того, что счёт будет неожиданно исчерпан. Как оперативно (раз в неделю) узнавать остаток данного счёта предоплаты? Или будут ли как нибудь оповещать о том, что осталось мало средств или сообщать баланс?
  22. ELITAN.RU

    Мне нужно делать заказы от лица организации на полной системе налогообложения. Т.е. на Ваш счёт зарание перевести безналичным переводом средства и указывать что "оплата с лицевого счета"?
  23. ELITAN.RU

    К руководству Элитана: Предлагаю сократить сроки отгрузки и отправки компонентов для постоянных клиентов: сделать кнопочку "счёт оплачен" на форме статуса заказа чтоб после её нажатия начал комплектоваться заказ и чтобы не дожидаться когда придёт из банка оповещение и сразу начать комплектовать и готовить к отгрузке заказ. Так например сделано в Чип-НН (http://chip-nn.ru/). Очень удобно. Помогает сократить пару дней если что то срочно нужно, но небольшой партией. Но в Чип-нн практически нет выбора деталей. Можно ограничения ввести, например только для постоянных клиентов (те кто заказали более 5 раз к примеру). Макс сумму, например 10 ... 100т.р. И пока не придет оплата за текущий - не принимать следующий "доверительный" заказ. Большое спасибо за потраченное время.
  24. used не работает что то меня не покидает ощущение что опять где то фразу в офф. документации пропустил и всё можно было бы сделать одной такой строкой как выше ... поэтому и спрашиваю, нормальное ли мое решение в начале темы и кто как делает?
  25. Добрый день. GCC для ARM: Размещение неиспользуемой константы в прошивке, для случая когда нужна оптимизация. Условия: Часто бывает необходимо какую либо служебную информацию включить внутрь прошивки такую какая будет использоваться например нестандартным прошивальшиком, или самим пользователем или ещё как, а не самой программой, т.е. внутри программы на этот блок данных ссылки нет и поэтому компилятор и компоновщик GCC их выкидывают если оптимизация включена например -О3 и включено убирание неиспользуемых данных и кода --gc-sections. Т.е. после сборки такая константа удаляются и их нет в файле прошивки. И желательно, чтоб эта константа включалась в прошивку, всего лишь включением в список компилированных си файлов дополнительного си файла. Т.е. чтобы ничего другого не писать и не дописывать уже имеющиеся исходники Особенности - локальное отключение оптимизации не помогает, куча разных хаков описанных на stackoverfull тоже. volatile тоже не помогает. Всякие разные __attribute__ и их ухищрения тоже. Все способы не работают на АРМ, на других платформах многие работают. А так же нужна оптимизация и сборка мусора и неиспользуемых блоков кода и данных (иначе бинарник не уместится в памяти). Решение Почему удаляется неиспользуемая константа - всему виной --gc-sections - это ключ для компилятора который сборщику LD говорит чтоб не включал в сборку секции на которые нет ссылок из других секций. Под секцией подразумевается либо функции либо данные. Сборщик LD работает через имена секций и скрипт сборки с расширением *.ld. Через данный скрипт можно напрямую задать то как собирать и что сохранить, директива KEEP от оптимизации, т.е. те секции которые указаны в KEEP будут принудительно включены в сборку. Но данные компилятор добавляет все в одну секцию, для констант она именуется как .rodata. Для того чтоб каждая переменная/константа и тд клалась в свою секцию необходимо компилятору добавить ключ -fdata-sections И далее добавить в *.ld файл в раздел секций инструкцию KEEP(*(.rd.const_name)) в блок .text : Т.е. например имея необходимость принудительно невзирая на оптимизацию разместить константу const_name в флеш памяти необходимо сделать следующее: 1. Добавить ключ -fdata-sections на стадию компиляции всего проекта или отдельному си файлу с описанием данной константы. 2. Внести в *.ld файл в раздел секций начинающийся с SECTIONS { в подраздел начинающийся с .text : { . Запись вида: KEEP(*(.rd.const_name)) в конец подсекции .text (ВАЖНО, порядок строк в данном файле задаёт порядок сборки бинарника) 3. Сделать ребилд всего проекта. Готово. Пример: OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") SEARCH_DIR(.) INCLUDE "memory.ld" /* Section Definitions */ SECTIONS { .text : { KEEP(*(.isr_vector .isr_vector.*)) *(.text .text.* .gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) *(.rodata .rodata* .gnu.linkonce.r.*) KEEP(*(.rodata.const_name)) /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ } > rom .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } > rom .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } > rom . = ALIGN(4); _etext = .; _sidata = .; .data : AT (_etext) { _sdata = .; *(.data .data.*) . = ALIGN(4); _edata = . ; } > ram /* .bss section which is used for uninitialized data */ .bss (NOLOAD) : { _sbss = . ; *(.bss .bss.*) *(COMMON) . = ALIGN(4); _ebss = . ; } > ram /* stack section */ .co_stack (NOLOAD): { . = ALIGN(8); *(.co_stack .co_stack.*) } > ram . = ALIGN(4); _end = . ; } Пока хотел спросить и формулировал как спросить понял как найти и нашол в гугле и разобрался, понадобился день. :laughing: Решил уж опубликовать, раз текст почти подготовил Интересно есть ли у данного способа недостатки? Как проще решить данную проблему?
×
×
  • Создать...