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

 
 
> Keil... Си... Как в памяти программ зарезервировать место и записать значение..., Если кто-то знает не тяните плз...
BFunTic
сообщение Jan 6 2008, 09:50
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 25-11-07
Пользователь №: 32 675



Привет всем! Опять на форум за помощью...

Помогите плз! Необходимо в память программ записать значение в строго определенное место...
Как только репу не ломал - не компилится... Остался один вариант - найти в прошивке нужные байты и написать патч...

unsigned char code Block_Type _at_ 0x0fff;
unsigned int code Block_Number _at_ 0x1000;
unsigned char code Software_Version _at_ 0x1002;

Необходимо в константы Block_Type, Block_Number, Software_Version записать значения... Как?

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

Сообщение отредактировал BFunTic - Jan 6 2008, 10:06
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Jan 6 2008, 10:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Прямо на С с инициализацией не получится. Сделайте так - добавьте в проект файлик lala.a51
в нем такое например
CSEG AT 0x1000
Block_Number:
db 0xAA
end
;--------------------------------
А там, где переменная нужна на С - напишите
extern volatile unsigned char Block_Number;
и работайте с ней как хотите
Go to the top of the page
 
+Quote Post



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

 


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


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