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

 
 
> константы в ПЗУ, в очередной раз
vic481
сообщение Oct 18 2008, 15:04
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 19-10-05
Пользователь №: 9 837



Подскажите, пожалуйста, что я делаю не так:
#pragma constseg=MYSEG1
const unsigned char my1[] = {0x11,0x22,0x33};
#pragma constseg=default
В настройках проекта линкер-екстра опшионс-юс комманд лайн опшионс--Z(CONST)MYSEG1=F400-F402

Этого достаточно, чтобы в выходном хекс файле по адресам f400-f402 появились требуемые мне конмтанты? Или я что-то упустил (версия 4.11B)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vic481
сообщение Oct 18 2008, 16:53
Сообщение #2





Группа: Участник
Сообщений: 13
Регистрация: 19-10-05
Пользователь №: 9 837



Цитата(rezident @ Oct 18 2008, 21:34) *
Попробуйте сделать объявление как
Код
volatile const unsigned char my1[] = {0x3d,0x23,0x36};

Error[Be022]: location address not allowed for initialized variables (writable variables without the __no_init attribute) C:\3\main.c 43
Работает Ваш первый вариант, обращение к объявленному массиву, иначе, похоже,действительно компиллер выкидывает эти константы, т.к. к ним нет явного обращения. Огромное спасибо!! Хотя, если у Вас будут еще варианты, чтоб работало через пойтер, буду очень признателен!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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