Jump to content

    

_sda

Свой
  • Content Count

    2914
  • Joined

  • Last visited

Community Reputation

0 Обычный

About _sda

  • Rank
    Утомлённый солнцем
  • Birthday 01/07/1947

Контакты

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

Информация

  • Город
    г.Донецк ДНР

Recent Profile Visitors

10658 profile views
  1. В продолжение вчерашнего разговора. sys,data - 32K, rx,tx - 2K
  2. ram_data - память обмена с FPGA. А кусис смогу только завтра, всё же было бы интересно найти откуда ноги растут. Не исключено что именно там может быть косяк.
  3. Полностью снёс проект эклипса, перекомпилил проект в квартусе с увеличенной памятью, создал заново, результат выше привёл. А bsp - так линкер же правильно определил размер...
  4. Ну всё наконец устаканилось. Ключевое слово "В памяти программ ещё 25Кб свободного места". Я сразу говорил что проект не мой, хозяин в отпуске, а я привык верить репортам. При компиляции мне уверенно сообщали что ещё свободно 25Кб системной памяти, я и повёлся. Полез в кусис, а там оперативка всего 16Кб стоит, как при этом может быть 25К свободно х.з. Увеличил до 32К, перекомпилил, дефект пропал, но в репорте всё равно ерунда: Откуда он берёт 48К, если реально стоит 32К.Это при том что линкер показывает ram_sys 32К: Эта загадка пока под вопросом. Но проблема решена, всем спасибо за желание помочь!
  5. Ребята, я же выше всё описал. Это я только подключился дебаггером. Программу не стартую. Смотрю структуру - она уже битая, до старта программы. Здесь как?
  6. Запись выполняется в цикле main, инициализация выполняется перед циклом. В дальнейшем чтобы перезапустить процесс записи я по внешнему интерфейсу просто обнуляю point_time. Сейчас глобальная. Пробовал объявить локально - результат один и тот же. Извиняюсь, но до записи буфера дело не доходит. Просто если в тексте есть строчка с этой записью - ломается структура с данными. Если строчку заремарить - то ничего не ломается. Я выше это описал. И ломается ещё до того как процессор выполнит запись в этот буфер. Если написать buf_time_pps[point_time++] = 0; тоже ломается...
  7. 3). Проблема возникает если запись в буфер выглядит так: alt_u8 point_time; ...... if (sec != reg_sec) { if (point_time < 100) { buf_time_pps[point_time++] = 0x00ffffff & data; } } Если же запись сделать так: if (sec != reg_sec) { if (point_time < 100) { buf_time_pps[50] = 0x00ffffff & data; } } где вместо 50 можно указать любое число 0...99 - то проблемы не возникает. Я в Си любитель, а что скажут профессионалы?
  8. Дополнительная информация по теме. 1). Уменьшение размера нового массива до одного элемента не устраняет проблему. 2). Если заремарить запись в новый массив и увеличивать размер ранее существующего другого массива в пределах свободной области памяти - проблема не возникает. Как объединить эти два факта?
  9. Спасибо за совет. Наконец добрался до этого проекта, извиняюсь. Нет, не помогло, структура портится как и раньше. В чём же может быть дело?
  10. Я в основном хардом занимаюсь, а программист в отпуске. Не подскажете где посмотреть этот стартап? В проекте Эклипс нет файла с таким названием.
  11. Вроде нет. Вот map: А куча у меня дефолтная, где можно посмотреть её размер?
  12. Коллеги, помогите победить bug. Работаю с ниос в Эклипсе. При добавлении нового массива стали портиться дефолтные значения глобальных переменных(IP и MAC адреса). Если законнектиться в отладочном режиме и сразу после коннекта посмотреть переменные при остановленной программе - они уже запорчены, причём всегда портятся одними и теми же значениями. struct Eth_Param { alt_u8 IP[4]; alt_u8 MAC[6]; alt_u8 DEST_IP[4]; alt_u8 DEST_MAC[6]; } Eth_Ctrl= {{10,0,0,9},{0x00,0x1D,0x2D,0x3d,0x4d,0x5d},{10,0,0,12},{0x00,0x01,0x02,0x03,0x04,0x05}}; alt_u32 buf_time[128]; .... if (point_time < 100) { buf_time[point_time++] = 0x00ffffff & data; } .... Причём если заремарить строчку с записью в буфер - ничего не портится! В памяти программ ещё 25Кб свободного места. И в варнингах ничего подозрительного нет. Подскажите,плз,как отремонтировать. Вот запорченный IP сразу после загрузки софта, без старта.
  13. Но вы же не слушаете советы мои и dcs. Функции freqz глубоко до лампочки как была получена подсовываемая ей ИХ (с целыми или дробными коэффициентами) поэтому она ругаться на дробный ресемплер просто не умеет. Ваша ошибка из другой оперы. Вам указали в каком направлении двигаться, а за вас писать скрипты никто не будет. Можно только кинуть что нибудь похожее готовое. У меня,например, дома и матлаба нет, а на работе три проекта в параллель ведутся, много ли свободного времени?
  14. Что то я никак не могу вас понять. В чём ваша проблема? Какая разница целочисленные или дробные значения коэффициентов? Физика процессов от этого не меняется. Ну поставьте вместо моего upsample свой resample и получите своё семейство АЧХ приведенное на максимальную Fs.
  15. Я скриптом считал дециматор. h_maf100_1100=upsample(h100,4);% суммарная ИХ всего фильтра для тактовой 1100 MHz w100maf = 20*log10(abs(freqz(h_maf100_1100,1,N,'whole'))); h100 - ИХ секции на частоте Fs/4 h_maf100_1100 - ИХ этого фильтра на частоте Fs. w100maf - АЧХ каскада для частоты Fs Все ИХ нужно пересчитать на максимальную частоту.