Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 21.09.2009, 19:43   #11
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Использование HI - TECH для PIC контроллеров

Сообщение от kison Посмотреть сообщение
А какая разница - одна она или нет? Что меняется с точки зрения компилятора?
А ежели обьявить масивы в разных банках а потом их обьединить союзом? или так не покатит?
Реклама:
picavr вне форума  
Непрочитано 21.09.2009, 20:01   #12
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Использование HI - TECH для PIC контроллеров

Проблема видимо вообще не в объявлении. Можно не объявлять массив совсем, а просто подразумевать его наличие в двух последовательно расположенных банках. Вопрос скорее в том, как эффективно организовать доступ через указатель к такому массиву. Я тут посмотрел instruction set по диагонали и не понял как реализовать косвенную адресацию в этом случае. По абсолютному адресу доступна вся память, но это не годится в данном случае. Или старший байт указателя это всегда BSR? Как тогда быть если нужно два указателя? Это наиболее часто встречающийся случай, например при копировании массивов.
kison вне форума  
Непрочитано 21.09.2009, 20:02   #13
DL36
Вид на жительство
 
Регистрация: 06.10.2006
Сообщений: 329
Сказал спасибо: 4
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
DL36 на пути к лучшему
По умолчанию Re: Использование HI - TECH для PIC контроллеров

Сообщение от kison Посмотреть сообщение
А какая разница - одна она или нет? Что меняется с точки зрения компилятора?
Почитать описание компилятора полезно.

По умолчанию размер сегмента 0xFF, вот он и говорит что данные не помещаются в сегмент, измените пожалуйста. Но если читать лень то можно объявить переменную в отдельном файле таким образом сегмент данных связанный с этой переменной/файлом увеличиться автоматически.
DL36 вне форума  
Непрочитано 21.09.2009, 20:12   #14
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Использование HI - TECH для PIC контроллеров

Сообщение от kison Посмотреть сообщение
А как действовать если размер под переменную превышает размер банка? В реализациях FAT практически всегда требуется буфер в 512 байт с линейной адресацией через указатель.
А если обьявить несколько масивов в разных банках, а потом их обьединить союзом? такое получится?
picavr вне форума  
Непрочитано 21.09.2009, 20:35   #15
DL36
Вид на жительство
 
Регистрация: 06.10.2006
Сообщений: 329
Сказал спасибо: 4
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
DL36 на пути к лучшему
По умолчанию Re: Использование HI - TECH для PIC контроллеров

Сообщение от picavr Посмотреть сообщение
А если обьявить несколько масивов в разных банках, а потом их объединить союзом? такое получится?
Весь союз можно и нужно объявить в одном файле, поскольку это неделимая единица и все переменные входящие в союз отображаются на один массив памяти.
DL36 вне форума  
Сказали "Спасибо" DL36
urry (21.09.2009)
Непрочитано 21.09.2009, 21:31   #16
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию Re: Использование HI - TECH для PIC контроллеров

Ну никогда не пробовал... Нужно в форумах все-таки сидеть, интересные мысли звучат...объединить банки в линкере - это пошло и просто, конечно...
urry вне форума  
Непрочитано 21.09.2009, 23:32   #17
DL36
Вид на жительство
 
Регистрация: 06.10.2006
Сообщений: 329
Сказал спасибо: 4
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
DL36 на пути к лучшему
Смех Re: Использование HI - TECH для PIC контроллеров

Сообщение от urry Посмотреть сообщение
Ну никогда не пробовал... Нужно в форумах все-таки сидеть, интересные мысли звучат...объединить банки в линкере - это пошло и просто, конечно...
Для этого надо доку читать, но тогда вопроса не было бы.
DL36 вне форума  
Непрочитано 22.09.2009, 19:33   #18
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Использование HI - TECH для PIC контроллеров

Сообщение от urry Посмотреть сообщение
объединить банки в линкере - это пошло и просто, конечно...
А ПЛИЗ... поподробнее... моно? .... может пригодится...
picavr вне форума  
Непрочитано 22.09.2009, 20:06   #19
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию Re: Использование HI - TECH для PIC контроллеров

Я как бы спутал с МСС - для меня раз пик18 - так сразу микрочиповский компилятор.
Пример - объединение банков - было
Код:
DATABANK   NAME=gpr0       START=0x80              END=0xFF
DATABANK   NAME=gpr1       START=0x100             END=0x1FF
Стало
Код:
DATABANK   NAME=gpr       START=0x80             END=0x1FF
SECTION	   NAME=VARS	RAM=gpr
и в программе
Код:
#pragma udata VARS
char array[0x100];
Можно также не только объединять, но и разбивать код по нужным областям памяти.
Здесь было http://www.microchip.su/showthread.p...ED%EA%E5%F0%E0

Последний раз редактировалось urry; 22.09.2009 в 20:17.
urry вне форума  
Сказали "Спасибо" urry
picavr (22.09.2009)
Непрочитано 22.09.2009, 20:24   #20
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Использование HI - TECH для PIC контроллеров

Сообщение от urry Посмотреть сообщение
Я как бы спутал с МСС - для меня раз пик18 - так сразу микрочиповский компилятор.

просто я пока только начал ваять на Си... в этой кухне ещё не варился..

а для асемблера 10-16 правил файлы линкера ... та всё достаточно просто...

а для hitech picc16 ... аналогично?
picavr вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45


Часовой пояс GMT +4, время: 22:49.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot