Jump to content

    

DmitryR

Свой
  • Content Count

    1544
  • Joined

  • Last visited

Community Reputation

0 Обычный

About DmitryR

  • Rank
    Профессионал
  • Birthday 02/23/1974

Контакты

  • Сайт
    http://
  • ICQ
    254349511

Информация

  • Город
    Siegen

Recent Profile Visitors

3981 profile views
  1. CIA-601 - Это CAN-FD. CANOpen-FD - это CIA 1301. Я бы его тоже с удовольствием повертел в руках.
  2. Для этого есть много вариантов, от битовых полей до C++. Что же касается кэша - добивать нолями каждую структуру до размера его линии не только бессмысленно, но и вредно, и конечно ни один компилятор этого не делает. Да и не может, потому что кэши бывают внезапно разными даже у процессоров с одним и тем же набором инструкций.
  3. Начните осваивать BSP Editor. Там прямо вначале куча настроек, которые сильно влияют на размер.
  4. Я так понимаю, что вы жалуетесь на parser_put(). Я вижу, что функция parser_put принимает отдельные аргументы, а на экране отладчика у вас показаны поля некой структуры rx_packet, которая непонятно какое отношение имеет к этой функции. Во-первых язык программирования Си никак не связан с ОС Линукс, и результаты компиляции не зависят от того, применяется она или нет. Затем, pragma pack - это зло, которое делает программы непереносимыми. А в данном случае оно на структуру, состоящую из одних целых, никакого влияния не окажет.
  5. Power Estimator даёт быстрый и относительно точный ответ. У меня в проектах больше пары PLL никогда не использовались, поэтому на 2,5В хватало крошечного LDO.
  6. Хочу перенести проект с Cyclone IV GX на Cyclone 10 GX. Очевидно, надо заново сгенерировать IP. Однако IP Upgrade Tool пустой, и ни одна мегафункция не открывается - QIP открываются как обычные текстовые файлы, Verilog вообще не открывается O_o Это как-то обходится, или Intel теперь предлагает при переходе на новые чипы всё вручную переделывать?
  7. Хочу смастерить проприетарное решение на основе физического уровня PON. Вроде начиная с Cyclone V это поддерживается. Однако нигде в документах не могу найти subj: как быстро трансивер в OLT сможет переключаться между сигналами ONU. Есть у кого-нибудь идеи, как это можно выяснить, кроме как купив три платы и попробовав?
  8. У вас и устройств ёмкостью 16К нет. Project Template выбирали?
  9. Проверьте, сконфигурирован ли NIOS на скорость (включены ли кэши и прочая аппаратура), и положите исполняемый код в ТСМ.
  10. Драйвер отключается в BSP Edtor убиранием соответствующей галочки в закладке "Drivers".
  11. А это всё, там нет никакой инициализации. Записывается 1 в CSR, и он начинает работать.
  12. const float adc_vref = 3.0f; const volatile int* const adc_sample_array = (int*) ADC_SAMPLE_STORE_CSR_BASE; float adc_voltage; *(unsigned*)ADC_SEQUENCER_CSR_BASE = 1; adc_voltage = adc_vref * adc_sample_array[0] / 4095; Драйвер ADC выкинул, экономия 600 байт.
  13. На странице Linker Script в BSP Editor, в какую область памяти размещён BSS?
  14. Потому что неиспользуемые ресурсы продолжают жрать статику. Надо чип выбрать так, чтобы он был максимально заполнен.
  15. А что у вас конкретно делается на Verilog? Мы тоже традиционно делали ПЛИС+ARM, только ARM всегда стоял отдельно, и я сейчас начинаю понимать, что при современных процессорах ПЛИС в некоторых проектах больше не нужна. Например у TI есть процессоры (AM57xx), имеющие как ядро общего назначения, так и весьма мощный DSP (и плюс ещё несколько маленьких ядер для RTOS до кучи), и я прикинул, что когда не нужна быстрая реакция на события, этот DSP всё решит запросто.