LINUX.ORG.RU

История изменений

Исправление Iron_Bug, (текущая версия) :

память/регистр аппаратуры имеют адрес. для них не нужно глобальных переменных. для них обычно пишут просто макрос. просто замечание. и да, как вы собрались размещать в определённой памяти эти глобальные переменные? это нонсенс. не надо натягивать сову на глобус.

я писала для микроконтроллеров много лет. для разных, от пиков и атмелов, до альтеровских FPGA. и я знаю, о чём я говорю.

все перечисленные вами вещи - это адресация. адресация. а никакие не переменные, и уж тем более не глобальные. стандартный подход: для микроконтроллера пишутся макросы с его регистрами и утилитарными функциями по выборке нужных битов. помещаются в отдельный хэдер и потом он успешно используется во всех проектах, где вы используете такой контроллер. это всегда так было и я не понимаю, нафига там какие-то переменные, да ещё и глобальные. как я уже сказала, глобальные переменные, да ещё и на много байт - это точно очень подозрительно. потому что в контроллере ты работаешь в прерываниях и это плохая идея - писать в память 10 килобайт из прерывания. да и не у всякого контроллера вообще столько памяти найдётся.

Исходная версия Iron_Bug, :

память/регистр аппаратуры имеют адрес. для них не нужно глобальных переменных. для них обычно пишут просто макрос. просто замечание. и да, как вы собрались размещать в определённой памяти эти глобальные переменные? это нонсенс. не надо натягивать сову на глобус.

я писала для микроконтроллеров много лет. для разных, от пиков и атмелов, до альтеровских FPGA. и я знаю, о чём я говорю.

все перечисленные вами вещи - это адресация. адресация. а никакие не переменные, и уж тем более не глобальные.