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

 
 
> Считывание с адреса 0x08 для LPC2148, Кто сталкивался ?
Tannen
сообщение Apr 15 2010, 17:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 16-02-08
Пользователь №: 35 104



Возникла простая задача - посчитать CRC по Flash памяти для LPC2148. Начал с 0 адреса - вектора резет , до 0x08 адреса - считывание побайтное идет нормально. с 0x08(SWI) адреса - 4 байта при любом считывании считываются не правильно - хотя в IAR + JTAG в окне памяти написаны правильные значения, которые отладчик и показывает в переменных. Но если ввсести промежуточную переменную ( глобальную или локальную ) то видно, что эти 4 байта считались не правильно. Куда копать ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Apr 16 2010, 11:57
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



с проблемой сталкивался два раза.

Первый раз, на 2134, кусочек кода, который считал контрольную сумму прошивки побайтным сложением, при определённом расположении в памяти выдавал дата аборт. Лечилось "методом научного тыка", изменением уровня оптимизации - код "уходил" из проблемного места.

Второй раз, на 2138, memcpy (buff, адрес вблизи memcpy, N) стабильно вылетала в аборт. Реализация memcpy тупая, просто побайтное копирование. Вылечил изменением memcpy.
Я даже писал об этом с год назад, но понял, в чём проблема, сильно позже.

Мнение NXP на этот счёт:
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.
If the above problem is encountered then Mode 2 should not be used.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Tannen   Считывание с адреса 0x08 для LPC2148   Apr 15 2010, 17:51
- - aaarrr   Цитата(Tannen @ Apr 15 2010, 22:06) Куда ...   Apr 15 2010, 19:03
|- - Tannen   А смысл ? после bootloadera MEMMAP=01 - указывает ...   Apr 16 2010, 03:43
- - esaulenka   Описание проблемы не понял, но... Попробуйте MAM ...   Apr 16 2010, 11:27
|- - GetSmart   Цитата(esaulenka @ Apr 16 2010, 16:42) На...   Apr 16 2010, 11:33
|- - zltigo   Цитата(esaulenka @ Apr 16 2010, 14:42) На...   Apr 16 2010, 11:39
|- - zltigo   Цитата(esaulenka @ Apr 16 2010, 15:12) Мн...   Apr 16 2010, 12:44
- - GetSmart   Странно. У меня всё стабильно работало в процессе ...   Apr 16 2010, 12:24
- - esaulenka   проблема проявлялась, если код обращался к данным ...   Apr 16 2010, 12:45
|- - GetSmart   Цитата(esaulenka @ Apr 16 2010, 18:00) пр...   Apr 16 2010, 14:15
- - esaulenka   ЦитатаА что в этом коде удивительного? Там реально...   Apr 16 2010, 14:34
|- - GetSmart   Цитата(esaulenka @ Apr 16 2010, 19:49) Шт...   Apr 16 2010, 14:49
- - GetSmart   Протестил на проце 2138 с "-" ревизией. ...   Apr 19 2010, 05:56
- - esaulenka   Цитатаэто из области бреда сумасшедшего Вы знаете...   Apr 19 2010, 09:40


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

 


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


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