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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> запись значений в память по определенному адресу, как?
DpInRock
сообщение May 9 2009, 20:46
Сообщение #16


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



А когда регистры пишешь руками, то не грех и в SDRAM-SRAM по-быстрому что-то записать. К примеру, массив чего-нибудь ненужного.
К примеру, никаких отладочных средств нет. Пишешь отладку в память по абсолютному адресу, чтобы знать потом откуда ея прочитать. Внешней программой. Не смотреть же мап каждый раз и не расписывать линкеру на каждый чих указания?
Всего-то 8 цифирок - и все дела.
Главное в деле - понимать, что делаешь. И цель компилятора - помочь программисту написать машинный код. А не наоборот.

--
Кслову . На Юго-Западе Москвы какой-то обалденный пожар. В районе гостиницы Турист на Ленинском. Освещает все в радиусе минимум 2 км.

Сообщение отредактировал DpInRock - May 9 2009, 20:47


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 9 2009, 20:49
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DpInRock @ May 9 2009, 23:46) *
Главное в деле - понимать, что делаешь.

Когда я вижу обращения по фиксированным адресам я с помянутой выше вероятностью знаю, что написавший такое НЕ ПОНИМАЕТ, что творит sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DpInRock
сообщение May 9 2009, 21:04
Сообщение #18


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



"Главное - результат".
(Copyright House M.D.)


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
legioner1
сообщение May 20 2009, 03:06
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 20-11-08
Пользователь №: 41 795



Цитата(Genadi Zawidowski @ May 8 2009, 08:53) *
Код
* ((unsigned long *) 0x80000100) = value;

Не забывать о выравнивании.

Или описать структуру со множеством нужных полей и обращаться к ней

Код
struct confdata {
unsigned long expirationdate;
unsigned char color;
};

((struct confdata *) 0x80000100)->color = value;


Спасибо, исчерпывающий ответ. ваш совет мне помог )

Цитата(sergeeff @ May 9 2009, 21:07) *
Увы, автор не поделился своими сокровенными мыслями, зачем ему эту нужно.


Нужно для того чтобы сохранять различные параметры конфигуриции (скорость, бит четности, длина паузы) во внешней энергонезамисимой памяти, чтобы в любой момент их можно было считать или перезаписать. ещё для сохранения суточной истории по приходящим каждую секунду данным.
Почему именно по конкретным адресам? самое простое решение, которое пришло в голову.
Для таких целей более правильным считается динамическое выделение памяти? с помощью malloc? хорошо, попробую

Сообщение отредактировал legioner1 - May 20 2009, 03:13
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 20 2009, 03:09
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(legioner1 @ May 20 2009, 07:06) *
Почему именно по конкретным адресам? самое простое решение, которое пришло в голову.
Для таких целей более правильным считается динамическое выделение памяти? с помощью malloc? хорошо, попробую

Malloc-то тут каким боком? Правильное решение уже давали.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 21:58
Рейтинг@Mail.ru


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