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

becopt

Участник
  • Постов

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

  • Посещение

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


  1. Если проблемы с памятью, то должен вызываться соответсвующий hook фриртоски. Начните проверку с этого.
  2. MIPS - замечательная вещь. Микроконтроллеры PIC32 хороши в серии МХ, а вот MZ уже несколько лет как вышли и все равно сырые. Множество зарубежных ВУЗов ведет курсы именно по MIPS (часто встречаю фрилансовые задачки сделать лаборатоку-дз на MIPS ассемблере). Я учился на 8-битных AVRках, которые стали совершенно не нужны в прикладных задачах на работе сразу как я закончил ВУЗ. И это никак не помешало разобраться, что в кортексах, что в новых пиках. TLDR: Важно, чтобы курс был хороший. Больше знаний - лучше. А уж с чем придется работать - с тем и будете.
  3. Так неправильно делать. И на сайте нет ничего про Краснодар: http://www.waves.com/contact-us :(
  4. Начните с того, что поиграйтесь с дизасмом и посмотрите где и как компилятор размещает глобальные/локальные переменные, аргументы функций и прочее. Очень интересно и по-новому позволяет смотреть на свой код :) А по велосипедству: сначала очень полезно почитать классику (Танненбаум)) и полистать чужие реализации (замечательная статья про TNeo).
  5. Что-то когда я работаю с прерываниями в pic32 у меня обработчики прерываний размещены во флеш-памяти и PC в прыгает по адресам rom. Если нужно подменить вектора - переинициализирую ebase и он начинает прыгать по другой таблице прерываний. И все во флеш. ЧЯДНТ?
  6. Да можно и во флеш. Еще раз: посмотрите как в скрипте компоновщика описывается таблица прерываний. Опишите вторую, а потом разместите в ней вектора. Да, у них будут другие индексы, ну сделайте список define'ов под них.
  7. Так вы почитайте как у вас прерывания работают. Там есть режимы одного и множества векторов, есть между векторами оффсет, что позволяет сильно уменьшить выделяемое место под вектора. Адрес обработчика прерывания рассчитывается через адрес в регистре сопроцессора (ebase). Где и какие вектора размещать - определяется компоновщиком (линкером). Инициализация всего добра в ассемблерном стартапе (crt0.S).
  8. Keil cast to struct

    А вы разве не приводите указатель к структуре, вместо указателя на структуру? Можно еще -Wextra -Wall какие-нибудь попробовать :)
  9. Люто ратую за разделение фронтэнда и бекэнда при разработке веб-серверов на МК. Или повышайте зп за 2в1. А у вас тут 3в1 (шарпист еще же).
  10. MIPS ядро замечательное и используется в микрочиповских 32-битках. Проблема у них не в ядре, а в периферии. Но они активно спешат успевать сейчас. Выпускают либы, сделали онлайн-IDE, может и нагонят.
  11. В C2000-Ethernet есть прозрачный режим работы, т.е. UDP <-> RS232/485. RS конфигурируется по скорости и стоп-битам. Подробнее можно посмотреть в разделе характеристики. Если характеристики удовлетворяют задаче, то это хороший и дешевый вариант. В плане эксплуатации куча форумов и приличная тех.поддержка. Если требуется широкий диапазон конфигурации (большое число сетевых клиентов, супер-выскоая скорость и пр.), то стоит смотреть в сторону моксы. Главное разобраться к требованиям. ИМХО, не стоит переплачивать за сложное решение, если задача решается просто и не имеет потенциала к сильному усложнению.
  12. С2000-Ethernet в прозрачном режиме. По цене точно выигрывает у моксы.
  13. Пока ОКР GPL, пройдет тестирование - купим. Они достаточно оперативно отвечают. Мне вот такое присылали по ценам:
  14. Пользуюсь в 32-битных pic'ах. Мне очень нравится. Документацию выдают после покупки, однако код написан очень органично и читаемо, разобраться просто. Без проблем подставил свои драйвера для phy и mac. Требования по памяти зависят конфигурацией: максимальное число сокетов, глубина буфера под соединения (считай кратно MTU), использование web-сервера и пр. В целом для 32биток выходит сносно, имхо. Проблемы по пямяти начинаются только когда приходит использование шифрования (TLS), там асимметричные алгоритмы отжирают очень прилично.
  15. Работаю в Королёве. Было бы интересно быть в курсе о возможностях рядом, но объявления без вилки ЗП - это неуважение к соискателям, имхо.
  16. Город заманчивый. Вакансия стандартная. Вот действительно про ЗП бы услышать вилку.
  17. Смотря что Вы подразумеваете под Ethernet. Если UDP, то вот вариант.
  18. Chibios+CycloneTcp

    Там же есть os_port_chibios. Включаете их в свой проект, а код инициализации берете из примера. Купить продукт.
  19. Ну не совсем ведь та самая. А из одного элемента. И используется лишь как разграничитель доступа, а не как хранилище, ведь за одно взятие мютекса можно записать сразу несколько байт в свой буфер.
  20. А еще лучше вернитесь к своим кольцевым буферам и добавьте к ним потокобезопасность (критические секции/мьютекс). Очереди FreeRTOS очень медленные, даже в официальной документации где-то упоминалось, что это просто пример реализации и лучше стараться так не делать.
  21. Я бы вам посоветовал скомпилировать const char *str = "абв"; и руками посмотреть результат, что будет размещено в памяти контроллера. У меня в MPLAB X независимо от кодировки проекта xc32 всю кириллицу держит в памяти как юникод. А еще лучше все-таки использовать wchar для такого дела.
  22. Сейчас в моде акселерометры на квадрокоптерах, по этой теме множество информации.
  23. Вообще долгая работа с данными в прерывании плохо. В прерывании будим поток (для однопоточки меняем состояние машины состояний), выходим из прерывания и выполняем всю работу сразу. Если же работы с данными мало и это не раздувает прерывание, то использование критических секций не должно создавать каких-либо проблем.
  24. Идея в том, что атомарный флаг делается тоже через критические секции, другое дело, что к нему обращается программа куда реже, чем к индексам буфера, за счет чего снижается количество критических секций.
×
×
  • Создать...