Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
21.09.2009, 00:09
|
#1
|
Временная регистрация
Регистрация: 17.11.2007
Сообщений: 67
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Использование HI - TECH для PIC контроллеров
Люди возник такой вопрос. Использую HI-TECH_PICC18_950PL3 под микроконтроллер PIC18А4585. Данный контролер будет мною использоваться для работой с FAT системой на SD карточке, которая и будет с ним общаться с контроллером. Так вот компилю исходники(из среды MPLAB с подключённым к нему HI-TECH ком) и получаю такую ошибку :
Advisory[1207] : some of the command line options you are using are now obsolete
Advisory[1208] : use --help option or refer to the user manual for option details
Error[491] : can't find 0x2AA words for psect "param" in segment "RAM"
BUILD FAILED: Mon Sep 21 00:07:02 2009
чё ему паммити чтоль не хватает? у меня вообще проект чистый, только пару переменный обьявил, для работы с фат системой, и функцию вызвал (это всё уже было в готов модуле). Помогите разобраться, может уже кто то через это проходил?
|
|
|
|
21.09.2009, 07:35
|
#2
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Использование HI - TECH для PIC контроллеров
Вы закоменьте последовательно строки кода и посмотрите что в вашем коде вызывает эту ошибку.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
21.09.2009, 12:12
|
#3
|
Временная регистрация
Регистрация: 17.11.2007
Сообщений: 67
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Использование HI - TECH для PIC контроллеров
Да я бы и рад это сделать))) Но дело в том, что мой код пустой вообще, вызывает всего лишь 1 функцию открытия файла. А так там кода полно, сам разбираться с фат системой я не готов) столько времени убить впустую. поэтому взял готовые исходники.
|
|
|
|
21.09.2009, 12:55
|
#4
|
Прописка
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
|
Re: Использование HI - TECH для PIC контроллеров
А откуда взяты исходники?
|
|
|
|
21.09.2009, 13:24
|
#5
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Re: Использование HI - TECH для PIC контроллеров
С подобным когда -то возился. Да, памяти не хватает. Идея в чем - все переменные хайтек складывает только в 0 банк. Ручками пропиши адрес в переменных - 1 банк, второй... - в исходнике, откомпили снова.
|
|
|
|
21.09.2009, 13:53
|
#6
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Использование HI - TECH для PIC контроллеров
если нужно положить в какой-то конкретный банк попробуй так:
static bank1 int b;
Из manual.pdf от picc 9.60 PL2 STD
3.4.9.2 Bank1, Bank2 and Bank3 Type Qualifiers
The bank1, bank2 and bank3 type qualifiers are used to place static variables in RAM bank 1,
RAM bank2 and RAM bank 3 respectively. Note that there is no bank0 qualifier. Objects default to
being in bank0 if no other bank qualifier is used. All auto objects are positioned into bank0, along
with function parameters.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
21.09.2009, 17:31
|
#7
|
Прописка
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
|
Re: Использование HI - TECH для PIC контроллеров
Сообщение от avr123-nm-ru
|
если нужно положить в какой-то конкретный банк попробуй так:
static bank1 int b;
|
bankx - это только для 16-х. А для 18-х есть только два квалификатора: near - (нижняя половина access-банка) и bdata - все остальное, не включая SFR. Объявляется так:
Код:
|
bdata char MyData[100]; |
|
|
|
|
21.09.2009, 18:26
|
#8
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Использование HI - TECH для PIC контроллеров
А как действовать если размер под переменную превышает размер банка? В реализациях FAT практически всегда требуется буфер в 512 байт с линейной адресацией через указатель. В семействах с непрерывным адресным пространством это не вызывает никаких проблем. А вот в странно организованной памяти PIC18 это не так просто. Т.е. получается что массив будет расположен в 2-х или трех банках частями. Как это реализуют компиляторы под микрочиповские камни?
|
|
|
|
21.09.2009, 19:12
|
#9
|
Вид на жительство
Регистрация: 06.10.2006
Сообщений: 329
Сказал спасибо: 4
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Re: Использование HI - TECH для PIC контроллеров
Сообщение от kison
|
А как действовать если размер под переменную превышает размер банка? В реализациях FAT практически всегда требуется буфер в 512 байт с линейной адресацией через указатель.
|
Та нет никаких проблем, объявите переменную в отдельном файле хоть 2к. В этом файле переменная должна быть одна.
|
|
|
|
21.09.2009, 19:17
|
#10
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Использование HI - TECH для PIC контроллеров
Сообщение от DL36
|
Та нет никаких проблем, объявите переменную в отдельном файле хоть 2к. В этом файле переменная должна быть одна.
|
А какая разница - одна она или нет? Что меняется с точки зрения компилятора?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:46.
|
|