реклама на сайте
подробности

 
 
> LPC23xx. Опубликован новый errata, с багами Flash и MAM
Andy Mozzhevilov
сообщение Jun 26 2007, 10:06
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



а я уже успел пройтись по этим граблям.
Спасибо тебе Филипс за наше счастливое детство :-)


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Цырен
сообщение Jul 10 2007, 08:49
Сообщение #2


Частый гость
**

Группа: Validating
Сообщений: 184
Регистрация: 26-06-07
Из: Санкт-Петербург
Пользователь №: 28 714



Недавно собрали плату на LPC2364 с ревизией Y. Дата выпуска микроконтроллера - 1-я неделя этого года. Сначала не мог всосать почему мой код виснет в стартапе... Потом подробно наблюдал ассемблерный код...виснет в бесконечном цикле в обработчике data abort! Так собственно вопрос: что же мне настройку MAMRC делать еще до инициализации стэков? Ведь проц входит в состояние DataAbort еще до того, как начнется функция настройки системной периферии. 07.gif
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Jul 10 2007, 08:55
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(Цырен @ Jul 10 2007, 14:49) *
Недавно собрали плату на LPC2364 с ревизией Y. Дата выпуска микроконтроллера - 1-я неделя этого года. Сначала не мог всосать почему мой код виснет в стартапе... Потом подробно наблюдал ассемблерный код...виснет в бесконечном цикле в обработчике data abort! Так собственно вопрос: что же мне настройку MAMRC делать еще до инициализации стэков? Ведь проц входит в состояние DataAbort еще до того, как начнется функция настройки системной периферии. 07.gif


Все критические настройки можно сделать в low_level_init
Но по ресету MAM выключается. Вряд ли у вас ситуация, связанная с багом MAM.
Посмотрите, откуда он падает в исключение, дальше дело техники найти причину.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 10 2007, 10:10
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Andy Mozzhevilov @ Jul 10 2007, 11:55) *
Все критические настройки можно сделать в low_level_init

Это уже для вызова стек должен быть.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Jul 10 2007, 10:15
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(zltigo @ Jul 10 2007, 16:10) *
Это уже для вызова стек должен быть.


Да, стек есть, но это ничему не мешает.
Потом стек юзается уже в самой low_level_init() если она так написана.
Если ее написать на асме, то можно обойтись без использования стека, но это, имхо,
не нужно, в контексте MAM.2


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
Цырен
сообщение Jul 10 2007, 10:54
Сообщение #6


Частый гость
**

Группа: Validating
Сообщений: 184
Регистрация: 26-06-07
Из: Санкт-Петербург
Пользователь №: 28 714



Эту проблему я подробно описал здесь http://electronix.ru/forum/index.php?showt...970&hl=2364
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Sep 11 2007, 17:48
Сообщение #7


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Пролистывал LPC23xx/24xx Example Software для Keil, и наткнулся на фразу:
Цитата
(1) Due to the MAM fix and User Manual Update, CCO divider with
the odd number for CCLK is no longer allowed. Update PLL setting
example accordingly.

В errata для LPC2368 такое описание бага MAM.1:
Цитата
MAM.1: Under certain conditions in MAM Mode 2 code execution out of internal Flash can fail.Introduction: The MAM block maximizes the performance of the ARM processor when it is running code in Flash memory. It includes three 128-bit buffers called the Prefetch Buffer, the Branch Trail Buffer and the data buffer. It can operate in 3 modes; Mode 0 (MAM off), Mode 1 (MAM partially enabled) and Mode 2 (MAM fully enabled).Problem:Under certain conditions when the MAM is fully enabled (Mode 2) code execution from internal Flash can fail. The conditions under which the problem can occur is dependent on the code itself along with its positioning within the Flash memory. Workaround: If the above problem is encountered then Mode 2 should not be used. Instead, partially enable the MAM using Mode 1.

Не значит ли это, что проблемы с MAM возникали при установке нечетного CCO divider, и про этот баг можно забыть? У кого-нибудь получалось достоверно воспроизвести этот глюк с выпадением в Data Abort? Может быть, стоит провести эксперимент с MAM=2 и нечетным CCOdiv...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 11 2007, 19:28
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(HARMHARM @ Sep 11 2007, 20:48) *
при установке нечетного CCO divider

Не совсем однозначно можно понять, что кейловцы называют "CCO Divider", но у меня "делитель" записываемый в PLLCFG '1', что с другой строны соответствует делению на 2. Множитель соответственно '3' = 4. Проблем, как уже писал, не наблюдал и не наблюдаю.
Действительно интересно, какие множитель/делитель у тех у кого они есть.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Sep 12 2007, 03:03
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(zltigo @ Sep 12 2007, 01:28) *
Не совсем однозначно можно понять, что кейловцы называют "CCO Divider", но у меня "делитель" записываемый в PLLCFG '1', что с другой строны соответствует делению на 2. Множитель соответственно '3' = 4. Проблем, как уже писал, не наблюдал и не наблюдаю.
Действительно интересно, какие множитель/делитель у тех у кого они есть.


у меня
Код
        PLLCFG = (72-1) | ((5-1) << 16);   /* FCCO = 288 MHz */


то есть в делитель записано значение 4, что соответствует делению на 5.
сейчас нет под рукой плат тех устройств, скоро должны подойти, обязательно попробую.


Есть более новая errata от 20 июля, там действительно говорится о том, что нельзя использовать четное значение для регистра CCLKSEL.
У меня сделано
Код
        CCLKCFG = (5-1);                  /* Set clock divider */

то есть как раз четное.
но в erreta филипсовцы не связали этот баг с МАМ, а добавили его в баг Flash.1
Но проверить все же стоит


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Sep 12 2007, 09:01
Сообщение #10


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата
У меня сделано
Код
        CCLKCFG = (5-1);                  /* Set clock divider */

А это то значение, при котором возникали проблемы, или новое - найденное путем проб и ошибок?
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Sep 12 2007, 09:57
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(HARMHARM @ Sep 12 2007, 15:01) *
А это то значение, при котором возникали проблемы, или новое - найденное путем проб и ошибок?

это пока то, с которым были проблемы



Цитата(Andy Mozzhevilov @ Sep 12 2007, 15:04) *
это пока то, с которым были проблемы


взял устройство на 2368, пока так вот влоб при включении МАМ свалить в аборт его не удалось,
видимо раз на раз не приходится и зависит как там карта в памяти ляжет.
Соответственно нет смысла и пробовать менять делитель тактовой.
Как буду работать в следующий раз с этим устройством, включу МАМ по полной, и как начнет глючить, буду экспериментировать с делителем.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Andy Mozzhevilov   LPC23xx. Опубликован новый errata   Jun 26 2007, 10:06
- - Andy Mozzhevilov   Цитата(Andy Mozzhevilov @ Jun 26 2007, 16...   Jun 27 2007, 05:11
|- - Abo   Цитата(Andy Mozzhevilov @ Jun 27 2007, 09...   Jun 27 2007, 05:25
||- - Andy Mozzhevilov   Цитата(Abo @ Jun 27 2007, 11:25) Столкнул...   Jun 27 2007, 05:45
||- - OVladimir   У меня LPC2364 тоже выпрыгивал в дата аборт (48МГц...   Jun 28 2007, 14:34
|- - zltigo   Цитата(Andy Mozzhevilov @ Jun 27 2007, 08...   Jul 5 2007, 14:10
|- - Andy Mozzhevilov   Цитата(zltigo @ Jul 5 2007, 20:10) Эту пр...   Jul 6 2007, 04:36
|- - zltigo   Цитата(Andy Mozzhevilov @ Jul 6 2007, 07...   Jul 6 2007, 07:22
|- - Andy Mozzhevilov   Цитата(zltigo @ Jul 6 2007, 13:22) Естест...   Jul 6 2007, 07:31
|- - zltigo   Цитата(Andy Mozzhevilov @ Jul 6 2007, 10...   Jul 6 2007, 07:37
|- - Andy Mozzhevilov   Цитата(zltigo @ Jul 6 2007, 13:37) Все до...   Jul 6 2007, 07:59
|- - zltigo   Цитата(Andy Mozzhevilov @ Jul 6 2007, 10...   Jul 7 2007, 07:55
- - sensor_ua   На днях запускал плату на LPC2378 - тоже какие-то ...   Jul 6 2007, 03:27
- - 3.14   Не понял, в еррате от 7 июня нет упоминания о B C ...   Jul 6 2007, 10:23
|- - Andy Mozzhevilov   Цитата(3.14 @ Jul 6 2007, 16:23) Не понял...   Jul 6 2007, 10:36
- - sensor_ua   Просьба ткнуть в расшифровку версионности. А то та...   Jul 6 2007, 10:24
- - 3.14   Смотрите третью страницу ...   Jul 6 2007, 10:32
- - 3.14   Я поумал Вы про LPC23хх ... Зачем что-то делать со...   Jul 6 2007, 10:44
|- - Andy Mozzhevilov   Цитата(3.14 @ Jul 6 2007, 16:44) Я поумал...   Jul 6 2007, 10:56
- - sensor_ua   У меня 2378-е с ревизией Y - надпись не попадает в...   Jul 6 2007, 10:50
|- - zltigo   Цитата(Andy Mozzhevilov @ Sep 12 2007, 06...   Sep 12 2007, 06:20
|- - HARMHARM   Цитата(Andy Mozzhevilov @ Sep 12 2007, 12...   Sep 19 2007, 11:30
||- - zltigo   Цитата(HARMHARM @ Sep 19 2007, 14:30) тес...   Sep 19 2007, 14:47
|- - zltigo   Цитата(Andy Mozzhevilov @ Sep 12 2007, 12...   Oct 26 2007, 07:31
|- - shahr   Цитата(zltigo @ Oct 26 2007, 11:31) Ну та...   Oct 26 2007, 07:54
|- - zltigo   Цитата(shahr @ Oct 26 2007, 10:54) можно ...   Oct 26 2007, 09:36
- - HARMHARM   Похоже я ошибся, файл прибил. Ссылка.   Sep 20 2007, 07:20
- - Velund   А кто нибудь с ревизией А чипов LPC2368 уже имел д...   Sep 23 2007, 13:28
- - Andy Mozzhevilov   На LPC2134 с ревизией С пока проблем не наблюдаем....   Oct 26 2007, 08:42
- - Alechek   Я вот одного не понял, ну Data Abort, ну не получи...   Oct 26 2007, 17:18
|- - zltigo   Цитата(Alechek @ Oct 26 2007, 20:18) Со в...   Oct 26 2007, 17:25
- - Alechek   Да, тут я не прав. Data Abort скорей всего случайн...   Oct 27 2007, 10:02
|- - zltigo   Цитата(Alechek @ Oct 27 2007, 13:02) Прав...   Oct 27 2007, 11:32
- - Alechek   С каких пор этот баг является для 214х свежеприобр...   Oct 29 2007, 06:38
|- - Andy Mozzhevilov   Цитата(Alechek @ Oct 29 2007, 11:38) С ка...   Oct 29 2007, 06:59
|- - zltigo   Цитата(Andy Mozzhevilov @ Oct 29 2007, 09...   Oct 29 2007, 07:05
- - StupidGuru   Цитата(ГУ-49А)Недавно столкнулся со "зна...   Feb 22 2008, 19:30
- - brag   сижу,читаю,и вспомнил,что когда-то,года 3 на зад у...   Feb 22 2008, 20:02
- - StupidGuru   Цитата(ГУ-49А)Цитата из manual для 2103: ...   Feb 22 2008, 20:09
|- - zltigo   Цитата(StupidGuru @ Feb 22 2008, 23:09) Н...   Feb 22 2008, 20:53
|- - meister   Цитата(zltigo @ Feb 22 2008, 23:53) Это е...   Feb 22 2008, 21:24
|- - zltigo   Цитата(meister @ Feb 23 2008, 00:24) Где ...   Feb 22 2008, 22:31
- - brag   ну если учитывать,что все(почти) можно разогнать, ...   Feb 22 2008, 21:02
- - zltigo   Цитата(brag @ Feb 23 2008, 00:02) ну если...   Feb 22 2008, 21:11


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01449 секунд с 7
ELECTRONIX ©2004-2016