Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Keil: SEGMENT DATA OVERLAYABLE
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
777777
Нужно в разных модулях создать два сегмента данных, расположенных по одинаковым адресам. Потому что функции, работающие с этими данными, не будут работать одновременно. В описании A51 написано что сегмент должен быть с типом OVERLAYABLE. А также: Refer to the C Compiler User’s Guide for more information. Но там никаких подробностей я не нашел. А простое добавление слова OVERLAYABLE ничего не дает. Кто-нибуть знает что делать?
oran-be
Идея этого OVERLAYABLE состоит в том, что если имя сегмента, объявленного с этим спецификатором, совпадает, то линкер объединяет их в один. То есть в разных модулях необходимо объявить два сегмента с одним именем. Тогда они наложатся друг на друга.
777777
Цитата(oran-be @ Jul 25 2007, 23:39) *
Идея этого OVERLAYABLE состоит в том, что если имя сегмента, объявленного с этим спецификатором, совпадает, то линкер объединяет их в один. То есть в разных модулях необходимо объявить два сегмента с одним именем. Тогда они наложатся друг на друга.


Не получается. В разных модулях объявляю два сегмента с одним именем и модификатором OVERLAYABLE. В каждом объявляю по два байта. В карте загрузки этот сегмент имеет длину 4 байта.
oran-be
Я точно не помню, надо будет посмотреть, но возможно имена переменных тоже если сопадают, то он их объединяет, если нет, то дополняет. Давно пользовался, еще Кейлом 7.0. Работало.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.