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

klen

Свой
  • Постов

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

  • Посещение

Репутация

1 Обычный

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

  • Звание
    бессмертным стать можно тремя способами
    Профессионал
  • День рождения 06.01.1978

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

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

5 752 просмотра профиля
  1. а вот интересно, оно живое спустя только лет? я не сидел сложа лапки 🙂
  2. Рестарт FreeRTOS

    мумукался с этой проблемкой, пришлось еще глубже понять как оно (cortex-m + freertos) рабоиает. вроде разобраля, если нужно распишу суть и код дам. туда сюда не прыгал, но физика одна, поэтому наверно будет работать универсально. есть еше засада, оказалось что и не удивительно. если сброс не использовать - будем считать это костыльным решением, новая жизнь, т.е . прилагуха чувствительна к состоянию озу и переферии, оч. внимательно и ВСЕ нужно инитить после загрузчика. . такам обращом задачу прыжка нужно решать в два этапа а) состояние проца + состояние структур freertos б) решить хвосты по инициализации в прилагухе, .bss .data компиллер Вам поможет привести к исходному состоянию, авот что на стеках будет .... мусор от загрузчика, про переферию тоже понятно -к этому моменту она уже живет какойто прошлой жизнью. тут как обычно нужно правильно писать код..
  3. коллега с сахары обнаружил косяг, просба не качать. поправлю отпишусь.
  4. свежак KGP собрано работв в linux64: http://www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20190519_LUPINE.tar.7z собрано для win64 http://www.klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20190519_LUPINE.7z (к сожалению тестировать неначем, просьба при обнаружении косяков сообщить [email protected] ) имеем binutils 2.32.51.20190518 gcc 10.0.0 20190518 с моими допилами и подкрученным мультилибом в линуксовом дистре также openocd 0.10.0+dev-00867-g2b78f65 (2019-05-18-19:51) dfu-util 0.9 , под linux сборка протестена на рабочих проектах - все жужжит, масдайный неначем тестить. 10 версия компилятора используюет новуй версию LTO формата хранения данных в объектниках. скорее всего скоро можно будет с LTO даже отлаживатся.
  5. спасибо, попробую отпишусь что получится. какой то детский косяк поймать не могу.
  6. Здравсвуйте. в чем может быть косяг? код потока продолжает выполнятся, флаги прерываний периферией выставляются...
  7. коллеги с сахары попросили для cortex-r4 сделать сборку. хост - линукс64 комбинации мультилиба собрано в тестовых целях, только для -mcpu=cortex-r4 1) - / -O2 / -Os / -Ofast 2) - / -mfloat-abi=hard -mfpu=vfpv3-d16 3) - / -flto http://klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi-cortex-r4-20181212_URTICA.tar.7z
  8. да... символ 'nan' линкером не находится.. так и есть. поправил беду.. http://klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20181209_PLANTAGO.7z теперь должно полегчать. еще раз убедился - пока мы(то есть Вы) будем использовать С при кодировании и пресобранные либы (типа libc, libm? libgcc ... итд) хорошего выходного кода мы не получим - и понятно почему. суть трабла на который налетел господин Terminator: 1. сначала собирается комплятор - собираются таргет-либа libgcc.a - в ней всевозможные процедуры работы с стандартными типами С. 2. далее собирается newlib - это реализация стандартных функций libc.a, тут же libm.a что я сделал - я собрал все это барахло с LTO - мои ожидания в том что не только пользовательской код но и ibgcc.a, libc.a, libm.a покроется на круг LTO оптимизатором. не тут то было! при компиляции newlib те функции которые современный GCC 9.0.0 считает встроенными (например в данном случае double __builtin_nan (const char *str) ) он безжалостно выкидывает и наверно думает - "нехрен это складывать в либу - я и так на лету всуну в код нужный код когда С/С++-код пользователя попросит! и линковать ненадо, правдв здорово!". в итоге в libm.a функции log10f есть вызов nan(), а в объектнике который вышел из исходника sf_nan.c - его нет (тупо вырезано). в итоге много неразрешенных ссылок.... пикантность придает то что если системные либы не собирать с lto - все идет как по маслу и ничего не выбрасывается. в итоге мы имеем линковку собранных без lto системных библиотек с lto-"окученных" объектников прилагухи пользователя. кажется что мы что то теряем..... возможно но не факт. буду дополнительно исследовать. я же для себя выбрал иной путь - вся програмка это набор C++ кода, все либы суть есть хидеры в которых inline-имплементация нужyных функций и классов, и как можно шире шаблоны.... так уже реализована часть libc в виде хидеров... в моем наборе тулсов после сборки я я жеско выпиливаю все что связано с newlib., вместо libc libm - это тупо пустые либы затычки - реализации берутся из хидеров. получается вся прога компиляется из исходников... в таком подходе lto не дает сбоев - у него полная и наисвежайшая информация об символаи и коде. ЗЫ. для тех кому интересно сколько встроенных функций есть в gcc https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
  9. ничего страшного. починим. проверю почему так. libm не использую, .. надо будет сделать набор тестов.
  10. Свежак! наконец то починили заливку на сервак! какая всетаки гадость эта ваша рыба за... WebDAV по сравнению с старым добрым FTP..... хост linux64 http://klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_PLANTAGO.7z на этот раз релизный gcc 8.2.0 + мои муки на предмет оптимизации мультилиба и выпиливания исключений из libgcc(как обычно) собрал тулсы без использования avx инструкций хоста - предыдущий билд(собранный с avx) заработал не у всех из-за старых процессоров в компах. таргет - косяков не обнаружил, месяц все рабочие проекты собираются и работают. в ближайщее время планирую всунуть в мультилиб отдельно cortex-m0 с его вариациями (./+/small/fast multiply). предполагается изготовить девайс на stm32l011 - после беглого прочтения программинг маниакала сделал вывод что у этой серии микросхем ядро - cortex-m0+ fast multiply. то есть целочисленный умножитель параллельный 1 такт (НЕ последовательный как в ядрах cortex-m0+ small multiply), правильно? основанием считать я принял https://www.st.com/content/ccc/resource/technical/document/programming_manucoal/18/b4/a2/d9/87/cd/4f/18/DM00104451.pdf/files/DM00104451.pdf/jcr:content/translations/en.DM00104451.pdf PM0223 страница 10/10 ... providing high-end processing hardware including a single-cycle multiplier для масдая собранный из репозитория сегодняшняя ревизия host mingw64 http://klen.org/Files/DevTools/x86_64-kgp-mingw32/arm-kgp-eabi_@_x86_64-kgp-mingw32_20181201_PLANTAGO.7z я его не проверял - нечем. традиционно нет машины с масдаем.
  11. hart вродебы подходит. еще 1-wire ds2480b рассматриваю. как то все равно либо дорого либо сложно либо с костыликами.., коряво. нет изящного красивого решения. нужно попробывать! спасибо.
  12. хотелось бы питание +5...+12 вольт. если датчик имеет потребление порядка 0.1...0.3 мА в пассивном режиме - то можно продумать постоянный подзаряд питающего конденсатора и активная фаза ответа на запрос датчика при его срабатывании, тогда линии по 5вольтам может хватить (я так предполагаю) все таки меня не питание а схема сигнального интерфейса интересует, техасовские документы читал, но там все больше в сторону 220V/50HZ уклон (PoE) еслиьы не 7мм габарит платки датчика - то наверно проблем небыло бы особых - развязывающие трансформаторы....
  13. здравствуйте! необходимо србрать датчики на двухпроводную линию до 500м. особеннось задачи - питать нужно от самой линии и всунуть в узкую 7 мм плату длинной порядкм 70мм. на ум приходять два дросселя и два конденсатора для фильтрации питания и сигнальных токов rs485. но это еще попробуй втиснуть.. может есть уже какие прверенные идеи, можно и не rs485.
  14. по первому вопросу знаю почему так- собрал с поддежкой ivybridge + avx, поэтому и падает на младших процах, соберал для generic x86_64, выложу на днях, правда ровно в два раза медленне компиляция и линковка... ро второму тоже понятно, библиотеки криво разложил... опять же выложу потестите, косяг организационный... UPDATE пересобрал для generic x86_64 и ivybridge+avx...... потестил по отдельности (это как показывает практика - ничего не значит, у автора всегда все работает :)) FTP сдох - починю выложу на тестироване.
  15. stm32h7 + ext ADC + ethernet

    В общем отвечаю на собственный вопрос, возможно кому то пригодится. 1. девайс так делать можно. конвеер вн. ADC->DCMI->DMA->обработка буффера->MACDMA->PHY прекрасно работают. 2. скорость удалось по выходу ETHMAC получить 82MBit/s 3. удалось формировать длинный ( более 1500 байтов MTU ) и передавать буффер одним UDP пакетом ацп не прикручено - едет с маузера, но код думает что ацп висит на входах DCMI - то есть конвеер работает как будто АЦП нули выдает использовал Nucleo144-767zi, немного допилилил FreeRTOS-TCP в режиме с нулевым копированием (есть идеи как его немного поускорить). как докорячу интерфейс ETHMAC - выложу проект чтобы кто еще сеть не подымал - мог бы ее на этой плате хоть увидеть работающуу и потом переделывать под свое - ибо сделать работающий пример из CubaMX не удалось - пришлось чесно ручками много времени потратить.
×
×
  • Создать...