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

 
 
> Резервирование области памяти праграмм
Airy
сообщение Apr 24 2009, 19:56
Сообщение #1





Группа: Новичок
Сообщений: 12
Регистрация: 24-04-09
Из: UA,Харьков
Пользователь №: 48 229



Каким образом можно зарезервировать участок памяти в области памяти программ, это нужно не для хранения констант, а область к которой будет производится как чтение так и зпись. Хочу организовать большой массив изменяемых данных для ATTiny2313. Поиск решения проблеммы ведет к секциям WinAVR, но что то не совсем понятно каким образом организовать и каким образом, производить доступ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Leen
сообщение Apr 24 2009, 22:05
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Для этого нужно переписать скрипт линкера. О том, как это делается, рассказано здесь. Если, конечно, используемый Вами пакет соответствует ветке smile.gif. Если лень читать первоисточник, то можно пройтись поиском по веткам, посвященным авр и гну утилам - тема весьма старая, поднималась не раз. Успехов.
Go to the top of the page
 
+Quote Post
Airy
сообщение Apr 25 2009, 20:03
Сообщение #3





Группа: Новичок
Сообщений: 12
Регистрация: 24-04-09
Из: UA,Харьков
Пользователь №: 48 229



Цитата(Leen @ Apr 25 2009, 01:05) *
Для этого нужно переписать скрипт линкера. О том, как это делается, рассказано здесь. Если, конечно, используемый Вами пакет соответствует ветке smile.gif. Если лень читать первоисточник, то можно пройтись поиском по веткам, посвященным авр и гну утилам - тема весьма старая, поднималась не раз. Успехов.


И все таки, как я понял в скрипте нужно создать собственную секцию, или ограничить область используемой памяти (MEMORY), если не трудно разъясните пожалуйста
Go to the top of the page
 
+Quote Post
KRS
сообщение Apr 25 2009, 21:20
Сообщение #4


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Airy @ Apr 26 2009, 00:03) *
И все таки, как я понял в скрипте нужно создать собственную секцию, или ограничить область используемой памяти (MEMORY), если не трудно разъясните пожалуйста

Можно и то и то, зависит от того как вы хотите ( как удобнее) использовать эту область!
Если там буду хранится например, структуры с параметрами - лучше вынести в секцию.
Если просто массив данных и нужен только адрес - то можно и ограничить линкеру эту область.

А где вы хотите орагнизовать БОЛЬШОЙ массив данных? в 2313 же 2 кб флеша всего.
Go to the top of the page
 
+Quote Post
Airy
сообщение Apr 26 2009, 14:29
Сообщение #5





Группа: Новичок
Сообщений: 12
Регистрация: 24-04-09
Из: UA,Харьков
Пользователь №: 48 229



Цитата(KRS @ Apr 26 2009, 00:20) *
Можно и то и то, зависит от того как вы хотите ( как удобнее) использовать эту область!
Если там буду хранится например, структуры с параметрами - лучше вынести в секцию.
Если просто массив данных и нужен только адрес - то можно и ограничить линкеру эту область.

А где вы хотите орагнизовать БОЛЬШОЙ массив данных? в 2313 же 2 кб флеша всего.


C ограничением области ясно, а вот с секцией не совсем, какое удобство мне принесет секция? В принципе мне то достаточно хранить массив (большой в смысле большой для 2312), в этот массив программа из UART будет записывать данные, а потом при необходимости считывать, это все городится что бы не использовать внешнюю ЕПРОМ, массив будет где то 256 - 512 байт. Подскажите какое удобство даст описание своей секции во флеше?


Цитата(_Pasha @ Apr 26 2009, 08:34) *
Опишите структуру
Код
typedef struct
{
*** Здесь все содержимое блока ***
} reserved_block_t;
extern PROGMEM reserved_block_t reserved_block;

После чего Вам не надо ни секций ни каких-либо усложнений по адресной математике.

А каким же образом в эту структуру запись производить???
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Airy   Резервирование области памяти праграмм   Apr 24 2009, 19:56
- - _Pasha   Цитата(Airy @ Apr 24 2009, 22:56) что то ...   Apr 26 2009, 05:34
- - Deka   Почитайте про самопрограммирование или бутлоадеры....   Apr 26 2009, 15:14
|- - Airy   Цитата(Deka @ Apr 26 2009, 18:14) Почитай...   Apr 26 2009, 17:47
|- - amw   Цитата(Airy @ Apr 26 2009, 20:47) Нужен к...   Apr 27 2009, 06:42
|- - _Pasha   Цитата(amw @ Apr 27 2009, 09:42) Конкретн...   Apr 27 2009, 07:13
- - Airy   Спасибо за ответы , по немногу все проясняется, бу...   Apr 27 2009, 08:47
|- - Сергей Борщ   Цитата(Airy @ Apr 27 2009, 11:47) Попутны...   Apr 27 2009, 10:05
|- - Airy   Цитата(Сергей Борщ @ Apr 27 2009, 13:05) ...   Apr 27 2009, 11:21
|- - Сергей Борщ   Цитата(Airy @ Apr 27 2009, 14:21) WinAvr...   Apr 27 2009, 11:37
|- - Airy   Цитата(Сергей Борщ @ Apr 27 2009, 14:37) ...   Apr 27 2009, 11:58
- - Airy   Блин!!! Удаляю папку, переименовываю, ...   Apr 27 2009, 14:14
- - mdmitry   Попробуйте собрать не из студии, а с помощью make ...   Apr 27 2009, 14:31
- - Airy   Цитата(mdmitry @ Apr 27 2009, 17:31) Попр...   Apr 27 2009, 15:42
- - alx2   Цитата(Airy @ Apr 27 2009, 20:42) ...пере...   Apr 28 2009, 11:40
- - Airy   Цитата(alx2 @ Apr 28 2009, 14:40) Позволь...   Apr 28 2009, 16:55
- - alx2   Цитата(Airy @ Apr 28 2009, 21:55) По моем...   Apr 29 2009, 09:32
- - SysRq   Цитата(alx2 @ Apr 29 2009, 13:32) А зачем...   Apr 29 2009, 09:55
- - amw   Цитата(SysRq @ Apr 29 2009, 12:55) Чтобы ...   Apr 29 2009, 14:31
- - alx2   Цитата(SysRq @ Apr 29 2009, 14:55) Чтобы ...   Apr 30 2009, 10:44


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

 


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


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