Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAP (LPC17xx)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
jcxz
В UserManual на LPC17xx в параграфе 32.8 IAP commands сказано, что:
IAP commands, which results in a flash write/erase operation, use 32 bytes of space in the top portion of
the on-chip RAM for execution

Интересно - где находятся эти 32 байта?
Стираю/пишу во flash, смотрю в начало и в конец обоих регионов RAM LPC1758
mem:[from 0x10000000 size 0x8000]
mem:[from 0x2007C000 size 0x8000]
и не вижу никаких изменений в этих областях. Странно.... Врёт UM??? smile3009.gif
В то же время вижу, что при вызове IAP, она использует до 96 байт стека.
Может этот пункт в UM более не соответствует действительности и теперь вызовы IAP используют только стек?
Golikov A.
может он сохранил регион в стек, а потом восстановил?
jcxz
Зачем?
Тогда и стек будет использован (<=96байт) и (для ISR-ов активных во время работы IAP) та часть ОЗУ будет использована - два места надо будет резервировать.
Сергей Борщ
Никогда не задавался таким вопросом. Сказано, что использует - выделил и забыл.
QUOTE (jcxz @ May 5 2013, 11:05) *
и не вижу никаких изменений в этих областях.
А вы заполняли эти области каким-то значением вроде 0xAAAA5555, или, возможно, наблюдали там результат предыдущих вызовов идентичный результату текущего?
jcxz
Цитата(Сергей Борщ @ May 5 2013, 15:49) *
Никогда не задавался таким вопросом. Сказано, что использует - выделил и забыл.
Я бы "выделил и забыл" если бы знал, где находится эта top portion of the on-chip RAM.
У LPC1758 два одинаковых региона ОЗУ.
В старших адресах 1-го или 2-го региона? Или в младших адресах 1-го или 2-го региона?
Выделять 32*4 из-за косноязыкой документации кажется как-то глупо...

Цитата(Сергей Борщ @ May 5 2013, 15:49) *
А вы заполняли эти области каким-то значением вроде 0xAAAA5555, или, возможно, наблюдали там результат предыдущих вызовов идентичный результату текущего?
Обижаете... Зачем так плохо думаете? cool.gif
GetSmart
Цитата(jcxz @ May 5 2013, 14:05) *
mem:[from 0x10000000 size 0x8000]

должно быть в конце этой области (основной рамы).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.