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

 
 
 
Reply to this topicStart new topic
> Размещение переменных в памяти программ, На микроконтроллере C8051F317
transformator
сообщение Jun 17 2010, 05:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 13-12-06
Пользователь №: 23 466



Подскажите, пожалуйста, как в KEILе разместить переменные в памяти программ по определенным адресам таким образом, чтобы еще при программировании записать туда начальные значения.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jun 17 2010, 06:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(transformator @ Jun 17 2010, 09:16) *
Подскажите, пожалуйста, как в KEILе разместить переменные в памяти программ по определенным адресам таким образом, чтобы еще при программировании записать туда начальные значения.

C "переменными" в памяти программ - это Вы, наверное, погорячились. Константы - другое дело.
С размещением констант по определенному адресу в памяти программ в Keil есть определённые трудности. Можно поступить так: http://onembedding.bialix.com/tools/keil/a.../explicit_addr/
Если это не устроит - смотрите директиву #pragma userclass и команды линкера LX51 (задаются Options -> LX51 Locate -> User Class)
Go to the top of the page
 
+Quote Post
repairDV
сообщение Jun 17 2010, 14:35
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044



Цитата(transformator @ Jun 17 2010, 16:16) *
Подскажите, пожалуйста, как в KEILе разместить переменные в памяти программ по определенным адресам таким образом, чтобы еще при программировании записать туда начальные значения.

Ну, в принципе, это бессмысленно. А вообще, если известно адресное пространство для переменных, то
DECADA2 data 1;
DECADA3 data 2;
DECADA4 data 3;
DECADA5 data 4
можно приблизительно подсчитать. А с константами - просто:

ORG 2900
TABLE:
DB 0x40 ;0
DB 0x79 ;1
DB 0x24 ;2
DB 0x30 ;3
DB 0x19 ;4
DB 0x12 ;5
DB 0x02 ;6
DB 0x2c ;7
DB 0x00 ;8
DB 0x10 ;9
DB 0x08 ;A
DB 0x03
DB 0x46
DB 0x21
DB 0x06
DB 0x0e

;----------------------------------------
; End of file.

END

в .asm файле


--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
Go to the top of the page
 
+Quote Post

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

 


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


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