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

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

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

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

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

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

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

 
Опции темы
Непрочитано 26.09.2009, 12:27  
ST_Senya
Временная регистрация
 
Регистрация: 17.11.2007
Сообщений: 67
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ST_Senya на пути к лучшему
По умолчанию Изучение HI-TECH C для PIC

Люди очень нужна помощь, возник вот такой вопрос, выбран контроллер PIC16F870, у него 128 байт данных, и 2000 байт программы. Представлю просто тестовый код:

#include ‹htc.h›
void main()
{
unsigned char amplitude[100];
PORTB=amplitude[1];
while(1);
}

Программа компилируется, но потом линковщик типо выдаёт ошибку,

Error[491] : can't find 0x64 words for psect "rbss_0" in segment "BANK0"
BUILD FAILED: Sat Sep 26 12:22:41 2009

кто нибудт сталкивался с такими ошибками??? Как будто ему памяти не хватает, посмотрел в мануале что за ошибка, попробывал разобраться но так и не понял как её исправить. Заменяю контроллер на другой с ещё большей памятью, такая же фигня, как настроить HI-TECH, что бы избежать этой ошибки???
Реклама:
ST_Senya вне форума  
Непрочитано 26.09.2009, 12:44  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Изучение HI-TECH C для PIC

Сообщение от ST_Senya Посмотреть сообщение
Люди очень нужна помощь, возник вот такой вопрос, выбран контроллер PIC16F870, у него 128 байт данных
Error[491] : can't find 0x64 words for psect "rbss_0" in segment "BANK0"
BUILD FAILED: Sat Sep 26 12:22:41 2009
Как будто ему памяти не хватает
Кроме переменных для программы компилятор использует под себя некоторое количество RAM... попробуйте так

unsigned char amplitude[10];
если нужно именно 100, то пользуйте контролер с 2 банками RAM и перенесите в 1 банк

bank1 unsigned char amplitude[100];
picavr вне форума  
Непрочитано 26.09.2009, 12:56  
ST_Senya
Временная регистрация
 
Регистрация: 17.11.2007
Сообщений: 67
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ST_Senya на пути к лучшему
По умолчанию Re: Изучение HI-TECH C для PIC

не понял, можете обьяснить поподробней? Да мне нужно именно 100)
допустим я беру контроллер PIC16F87 у него уже 368 байт данных, потом компилирую и опять такая вот ошибка

Error[491] : can't find 0x64 words for psect "rbss_0" in segment "BANK0"
BUILD FAILED: Sat Sep 26 12:52:11 2009

остаётся 268 байт свободного места) компилятору в таком случае должно этого хватить уж думаю навернека)))). Потом заменил свою строчку

unsigned char amplitude[100]; на строку вида
bank1 unsigned char amplitude[100]; и всё рано компилятор выдал такую же ошибку линковщика , кстати слово bank1 компилятор не выделил цветом, но скомпилировал без ошибок. Можно поподробней. Мне просто очень нужно разобраться в этом деле.
ST_Senya вне форума  
Непрочитано 26.09.2009, 12:57  
atas_stas
Заблокирован
 
Регистрация: 13.10.2006
Сообщений: 189
Сказал спасибо: 12
Сказали Спасибо 44 раз(а) в 33 сообщении(ях)
atas_stas на пути к лучшему
По умолчанию Re: Изучение HI-TECH C для PIC

Сообщение от ST_Senya Посмотреть сообщение
Error[491]кто нибудт сталкивался с такими ошибками??? Как будто ему памяти не хватает, посмотрел в мануале что за ошибка, попробывал разобраться но так и не понял как её исправить. Заменяю контроллер на другой с ещё большей памятью, такая же фигня, как настроить HI-TECH, что бы избежать этой ошибки???
Вот здесь елозили...

Кстати... Версия PRO или STD???

Последний раз редактировалось atas_stas; 26.09.2009 в 13:09.
atas_stas вне форума  
Непрочитано 26.09.2009, 13:26  
ST_Senya
Временная регистрация
 
Регистрация: 17.11.2007
Сообщений: 67
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ST_Senya на пути к лучшему
По умолчанию Re: Изучение HI-TECH C для PIC

Спасибо, буду читать) а вот ещё один вопрос меня интересует, как вот передать в функцию обработки прерываний нужные мне переменные? ну вот допустим функция

void interrupt my_interrupt(int a)
{

}

как мне сделать так чтобы во время возникновения прерывания, в формальную переменную a, функции обработки прерываний void interrupt my_interrupt(int a), передавалось нужное мне значение? так можно сделать?
ST_Senya вне форума  
Непрочитано 26.09.2009, 13:45  
realadmin666
Частый гость
 
Регистрация: 15.04.2009
Сообщений: 27
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
realadmin666 на пути к лучшему
По умолчанию Re: Изучение HI-TECH C для PIC

насколько я помню данная функция не может принимать и передавать значения. А почему не хочешь сделать эту переменную глобальной и использовать её в обработке прерываний?
realadmin666 вне форума  
Непрочитано 26.09.2009, 19:28  
ST_Senya
Временная регистрация
 
Регистрация: 17.11.2007
Сообщений: 67
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ST_Senya на пути к лучшему
По умолчанию Re: Изучение HI-TECH C для PIC

Ну конечно глобальной можно, но просто привык чтобы переменные были локализированны))
ST_Senya вне форума  
Непрочитано 26.09.2009, 20:36  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Изучение HI-TECH C для PIC

Сообщение от ST_Senya Посмотреть сообщение
Ну конечно глобальной можно, но просто привык чтобы переменные были локализированны))
Функция с квалификатором interrupt не вызывается явно. Как ты туда собирался параметры-то передавать?
testerplus вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Использование HI - TECH для PIC контроллеров ST_Senya Микроконтроллеры, АЦП, память и т.д 27 22.10.2010 18:45


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


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