|
|
  |
LPC23xx. Опубликован новый errata, с багами Flash и MAM |
|
|
|
Feb 22 2008, 18:28
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 26-11-07
Пользователь №: 32 699

|
Цитата(3.14 @ Nov 24 2006, 13:31)  Изучаю доку на LPC23XX. Не понятно с досупом к флешке. Смутило меня следующее :Насколько я понимаю, во избежание циклов ожидания надо иметь один такт доступа до флешки (128 бит) к четырем тактам ядра, тогда зачем усложнять ... мксаимальная частота 72М -> указывать MAMTIM=4 и в путь, и зачем задается по умолчанию MAMTIM=7 ? Чтоб новую тему не заводить, напишу здесь. Недавно столкнулся со "знаменитым" глюком MAM'а на одном из своих LPC2103 (MAM=2, MAMTIM=3, частота 70 MHz (10x7)). При чтении из флеша (простой ldr) прошивка падала, в строго определённые моменты времени (в другие моменты времени читалось оттуда нормально). Причём, при небольшом изменении кода (последовательности выполнения нескольких команд, не влияющей на вычисления) проблема исчезала (естественно, при отключении MAM тоже всё работало), воспроизводимость 100%. Дык вот, вместо того, чтобы традиционно снизить частоту, уменьшить MAM до 1 или вовсе его отключить, я попробовал увеличивать MAMTIM. Сначала до 4-х. Глюк исчез, но, как оказалось, не полностью: он вылез в другом месте кода. И только когда я установил MAMTIM=5, всё заработало как надо! Так что большие значения MAMTIM иногда приносят пользу. Вот такая история...
|
|
|
|
|
Feb 22 2008, 19:30
|
Группа: Новичок
Сообщений: 3
Регистрация: 22-02-08
Пользователь №: 35 298

|
Цитата(ГУ-49А) Недавно столкнулся со "знаменитым" глюком MAM'а на одном из своих LPC2103 (MAM=2, MAMTIM=3, частота 70 MHz (10x7)). А разве так можно? 70 МГц / 3 = 23, о скорость флэша вроде всего 20 МГц.
|
|
|
|
|
Feb 22 2008, 19:57
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 26-11-07
Пользователь №: 32 699

|
Цитата(zltigo @ Feb 22 2008, 21:21)  Остальные настройки, например PLL? Проверить при четных делителях частоты с PLL сможете? А у меня и так чётный: MSEL=6, PSEL=1 (т.е. div=2), кварц 10 МГц. На других значениях, к сожалению, не пробовал (но, кажется, пробовал вообще без PLL - всё работало). Цитата(StupidGuru @ Feb 22 2008, 21:30)  А разве так можно? 70 МГц / 3 = 23, о скорость флэша вроде всего 20 МГц. Цитата из manual для 2103: "while in systems with system clock faster than 40 MHz, 3 CCLKs are proposed.", т.е. если следовать "букве закона", то можно. И, в общем-то, на простых задачах работает, похоже, на пределе. А вот при MAMTIM=5 никаких проблем вообще не замечено. Вообще, есть чувство, что где-то что-то иногда не успевает...
|
|
|
|
|
Feb 22 2008, 20:02
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
сижу,читаю,и вспомнил,что когда-то,года 3 на зад у меня были непонятные prefetch і data abortы в LPC2106... Видимо тоже на это натыкался..не помню конкретно,что делал, помню, только, что были пляски с бубном,типа втыкал куда-то(не помню куда) инструкцции типа, mov r0,r0 Помню точно,что мам был 2 и частота 75мгц(немного оверклокнул)
|
|
|
|
|
Feb 22 2008, 20:09
|
Группа: Новичок
Сообщений: 3
Регистрация: 22-02-08
Пользователь №: 35 298

|
Цитата(ГУ-49А) Цитата из manual для 2103: "while in systems with system clock faster than 40 MHz, 3 CCLKs are proposed.", Ну дык! У них же документация постоянно кривая, а точнее древняя, унаследованная от предшественников типа LPC2104..6 или LPC213x, у которых рабочая частота была официально ограничена 60 МГц. Поэтому там стоит циферка 3. А на самом деле должна быть 4. Так что это не бага. А вот почему на 4-ех тоже глючит, а на 5 уже нет - это вопрос интересный.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|