Jump to content

    
Sign in to follow this  
tmtlib

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

Recommended Posts

Смотрю 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...

Edited by tmtlib

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites
Смотрю datasheet на adsp2186:

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

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

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

 

Share this post


Link to post
Share on other sites

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

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 спасибо за ответы!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this