tmtlib 0 5 марта, 2014 Опубликовано 5 марта, 2014 (изменено) · Жалоба Смотрю 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... Изменено 5 марта, 2014 пользователем tmtlib Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 63 5 марта, 2014 Опубликовано 5 марта, 2014 · Жалоба Выглядит примерно так - когда выпускают кристаллы для чипа, на нескольких чипах из партии проверяют блоки памяти на работоспособность и соответственно всю партию маркируют ADSP-2184 или ADSP-2185/-2186/-2187/-2188. Естественнодругие чипы из партии могут работать и с большей памятью, на гарантии никто не даст. Также часто ранжируют по частоте. Типичный пример процессоры Intel. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 5 марта, 2014 Опубликовано 5 марта, 2014 · Жалоба Смотрю datasheet на adsp2186: считывается, т.е. это не пустые адреса. Скорее всего выше 40к - это те же самые физически адреса, что и с 0 адреса. Попробуйте записать во все 80к разные числа, а потом все их прочитать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tmtlib 0 6 марта, 2014 Опубликовано 6 марта, 2014 · Жалоба Ну и дела. Уже который год туда пишу... Линковал вручную. Вот те раз. 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 спасибо за ответы! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться