Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Тема закрыта

Есть вопросы по 8051, подскажите пожалуйста

Пт июн 29, 2012 21:16:46

Здравствуйте! Помогите пожалста студенту. Пишу на СИ под модуль на базе 8051. The RF50/1/2/3/4/5 family utilizes proprietary CIP-51 microcontroller core. The CIP-51 is fully compatible with the MCS-51™ instruction set; standard 803x/805x assemblers and compilers can be used to develop software. The CIP-51 core offers all the peripherals included with a standard 8052.

Вопросы:
1) что происходит на низком уровне, когда я в си объявляю глобальную переменную, куда она сохранится? В RAM?
2) что произойдет с переменной после программного ресета контроллера? в даташите сказано: 'The contents of RAM are unaffected during a reset; any previously stored data is preserved as long as power is not lost' значит - ее значение и адрес не изменятся? я так же смогу к ней обращаться, если не объявлю ее повторно(допустим сделаю проверку флага программного ресета перед объявлением)?

Заранее спасибо!

Re: Есть вопросы по 8051, подскажите пожалуйста

Пт июн 29, 2012 23:11:43

1. Глобальные переменные С размещаются компоновщикиом с области RAM или ХRАМ, если такая есть. В последнем случае нужен специалный синтакс. Присвоение адреса переменной производится один раз на этапе сборки программы. После этого адрес переменной не меняется до следующей перекомпиляции/сборки программы. Однако, возможно размещение данных и в FLASH. Как правило, там размещаются данные, кот. в процессе работы программы не меняются, например таблицы или константы.

2. Вы правильно поняли - при ресете состояние RAM не меняется если не было отключения питания. А про адреса переменных я выше написал.

Re: Есть вопросы по 8051, подскажите пожалуйста

Сб июн 30, 2012 16:49:31

спасибо!
Тема закрыта