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

Объём памяти микропроцессора adsp2186 по datasheet меньше реального.

Смотрю datasheet на adsp2186:

40K Bytes of On-Chip RAM, Configured as

8K Words On-Chip Program Memory RAM and

8K Words On-Chip Data Memory RAM

но памяти у него своей на самом деле 16K и 16K слов. Т.е. спокойно можно писать с 0 по 0x3FFF (за исключением регистров около 0x3FFF). То есть 16384 слов туда влазит.

 

Так же смотрим "40K Bytes" ну это понятно. Слова у него 16-битные для данных и 24-битные для программы. Считаем:

8192*2+8192*3 = 40960, т.е. всё сходится.

 

А на самом деле памяти и той и другой у него в два раза больше: 16384*2+16384*3 = 81920. Туда всё прекрасно пишется и считывается, т.е. это не пустые адреса. По идее в документации должно быть написано 80K Bytes of RAM...

Изменено пользователем tmtlib

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выглядит примерно так - когда выпускают кристаллы для чипа, на нескольких чипах из партии проверяют блоки памяти на работоспособность и соответственно всю партию маркируют ADSP-2184 или ADSP-2185/-2186/-2187/-2188. Естественнодругие чипы из партии могут работать и с большей памятью, на гарантии никто не даст.

 

Также часто ранжируют по частоте. Типичный пример процессоры Intel.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотрю datasheet на adsp2186:

считывается, т.е. это не пустые адреса.

Скорее всего выше 40к - это те же самые физически адреса, что и с 0 адреса.

Попробуйте записать во все 80к разные числа, а потом все их прочитать.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну и дела. Уже который год туда пишу... Линковал вручную. Вот те раз.

Since the ADSP-2184 and

ADSP-2186 processors have less than 16 K words of Program Memory

and Data Memory, some of their internal memory locations are reserved

and should not be used in the Linker Description File (LDF) or accessed

at runtime in the executable program.

и табличка http://www.analog.com/en/processors-dsp/ad...ucts/index.html

Недавно решил сравнить этот DSP с новыми от STM, скачал даташитов - и на тебе, выясняется такой нехилый нюанс, что у 2186 нельзя(!!!) писать в 0x0000-0x1FFF. А там у меня всё забито под завязку, и ведь работает. Помню изучать начал эти микропроцессоры как раз с записи DM(0x0000)=AX0...

 

Народ, что делать в таком случае?

Вроде всё работает уже несколько лет, глюков не наблюдалось. Были необъяснимые "помехи" всего 2 раза, думал что это внешний АЦП глючит. А я как раз с него пишу сигнал в 0x0000-0x1FFF, сейчас вижу этот глюк в новом свете. Частота кварца далека от максимальной 37.50 MHz (adsp2186m), может поэтому и работает.

 

HardEgor и DpInRock спасибо за ответы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...