Например TDA7294

Форум РадиоКот • Просмотр темы - PIC18F252 Объем Flash ошибка при компиляции
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб фев 21, 2026 04:03:17

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 19 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Вт мар 11, 2014 18:16:33 
Родился

Зарегистрирован: Вт дек 31, 2013 16:55:37
Сообщений: 9
Рейтинг сообщения: 0
Всем доброго дня.

По даташиту в PIC18F252 32кБайт флеш. В MPLAB X так и отображается Flash = 32768
Пишу прошивку на Си в частности для паяльной станции.
Столкнулся с проблемой когда размер прошивки переваливает за 50%, она перестает работать.
В протеусе вываливает ошибку: [PIC18 EXEC] PC=0x000A. Attempt to execute illegal opcode (loaded from PC=0008). Instruction executes as a NOP.
Уменьшаю прошивку меньше 50% все работает без проблем.
При чем это не глюк протеуса, на реальном дивайсе аналогично не работает.

По сути то все идеи реализованы по паяльной и все влезло в 16кБайт, но все же интересно что за прикол с флеш.

Кто то с подобным сталкивался?

_________________
РадиоКОТ - Grammar nazi!
Подробнее тут: http://lurkmore.to/Grammar_nazi


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Вт мар 11, 2014 21:03:45 
Нашел транзистор. Понюхал.

Зарегистрирован: Ср фев 16, 2011 22:58:23
Сообщений: 193
Рейтинг сообщения: 0
Флеш то у него 32 К, но команды то у него по 16 бит. То есть 16384 строчек. Может что то не так считаете?
Ещё может такое быть, когда стек у вас переполнен. Переполнение стека ведёт к ресету PC=0008.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Вт мар 11, 2014 21:16:56 
Родился

Зарегистрирован: Вт дек 31, 2013 16:55:37
Сообщений: 9
Рейтинг сообщения: 0
Может и стек. Попробую как то проверить. Спасибо.
На счет 16 бит и 16384 строк согласен. Но сбивает с толку MPLAB X который оптимистично пишет что еще половина памяти свободно.
Или я чего то не понимаю?

_________________
РадиоКОТ - Grammar nazi!
Подробнее тут: http://lurkmore.to/Grammar_nazi


Последний раз редактировалось AlekseyEnergo Пн апр 07, 2014 00:50:17, всего редактировалось 1 раз.
Нарушение пункта 2.7 правил форума. Подредактировал. Предупредил!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Ср мар 12, 2014 08:57:22 
Грызет канифоль

Зарегистрирован: Вт окт 08, 2013 07:38:59
Сообщений: 256
Откуда: СПб
Рейтинг сообщения: 0
0x898a152b писал(а):
Attempt to execute illegal opcode (loaded from PC=0008). Instruction executes as a NOP.
Вообще-то, тут пишут, что по адресу 0008 грузится неправильная инструкция.
А если посмотреть в даташит, то видно что по адресу 0008 находится вектор прерывания верхнего уровня.
И что значит "уменьшаю прошивку меньше 50%"?


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Ср мар 12, 2014 11:56:00 
Сверлит текстолит когтями
Аватар пользователя

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
Интуиция мне подсказывает - поработаю кашпировским - :) - включаю экстрасенсорику - здесь проблема со страницами - или одна большая функция вылезла за пределы страницы и линковщик код неправильно собрал или таблица куда-то зашкалила, что-то в этом роде.
Методы лечения -
1 - переписать файл линкера, внутри него объединив страницы
2 - разбить большую функцию на несколько мелких, это касается и таблиц.
3 - переползти на 24 серию.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Сб мар 15, 2014 10:43:41 
Родился

Зарегистрирован: Вт дек 31, 2013 16:55:37
Сообщений: 9
Рейтинг сообщения: 0
urry писал(а):
Интуиция мне подсказывает - поработаю кашпировским - :) - включаю экстрасенсорику - здесь проблема со страницами - или одна большая функция вылезла за пределы страницы и линковщик код неправильно собрал или таблица куда-то зашкалила, что-то в этом роде.
Методы лечения -
1 - переписать файл линкера, внутри него объединив страницы
2 - разбить большую функцию на несколько мелких, это касается и таблиц.


Зря вы про экстрасенсорику.
Я описал проблему как знал. Сам не давно стал писать вообще для контроллеров потому такие возможно тупые вопросы.
Уменьшаю прошивку значит просто часть убираю в исходнике дабы после компиляции ее размер не превышал 16кБ.
Можно поподробней про ссылку про страницы.

Большая функция? В принципе любая прошивка это большая функция void main (void) {} Или?
Писалось на PIC18 ибо было 2 шт под рукой.

_________________
РадиоКОТ - Grammar nazi!
Подробнее тут: http://lurkmore.to/Grammar_nazi


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Сб мар 15, 2014 11:07:28 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Там страниц нет вроде. Один сплошной кусок памяти от 0 до 7FFFh.

P.S. Интересно просто, что такого есть в паяльной станции, что программа управления заняла аж 16 кило :)

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Сб мар 15, 2014 11:45:30 
Родился

Зарегистрирован: Вт дек 31, 2013 16:55:37
Сообщений: 9
Рейтинг сообщения: 0
Zhuk72 писал(а):
P.S. Интересно просто, что такого есть в паяльной станции, что программа управления заняла аж 16 кило :)


По 9 ячеек памяти для паяльника + фена
Меню настроек типа:
1. Паяльник сон через (при условии что датчик движения в спокойном состоянии) ВЫКЛ-999 мин.
2. Фен сон через (при условии что фен на подставке) ВЫКЛ-999 мин.
3. Софт Старт Паяльника Вкл Выкл
4. Софт Старт Фена Вкл Выкл
5. Коэффициент на умножение для паяльника 0-999
6. Коэффициент на плюс для паяльника 0-999
7. Коэффициент на умножение для фена 0-999
8. Коэффициент на плюс для фена 0-999
9. Звук кнопок ВКЛ-ВЫКЛ
10. Паяльник автовкл. ВКЛ-ВЫКЛ
11. Вентилятор фена min (показания ацп для минимума)
12. Вентилятор фена max (показания ацп для максимума)
13. Номер ячейки памяти для начального значения при включении

Обработка кнопок.
Обработка таймеров.
Обработка софтового ШИМ.
Обработка режима охлаждения при выключении фена, охлаждение до 50С.
Задание начальных установок в EEPROM, при первом запуске. Конечно это глупость ибо можно просто задать при прошивке необходимые значения. Но пока так и оставил.

Много ушло на понятное отображение на дисплей.
Типа:
Мигание значениями переменных
Отображение спящих режимов.
Режима охлаждения
Отладочный режим. Когда при зажатии указанной кнопки отображается текущие значения мощности на ШИМ и показания датчиков.
Прочие мелочи.

Обработка кнопок в плане возможности быстрого сохранения например текущего значения температуры в указанную потом ячейку и аналогичная загрузка из памяти желаемой ячейки.

Конечно учитывая что это по сути мой первый проект наверняка можно все написать более хитро и компактно. Не буду спорить.
На чисто asm наверняка еще компактнее получится. Но тратить время на asm не было желания.


Только что добавил:
void interrupt high_priority interrupt_high() {
}
В отладке циклится после low прерывания переходит в high и обратно. Ну и по WDT все ресетится ибо while (1) { CLRWDT(); .... } только в main.

_________________
РадиоКОТ - Grammar nazi!
Подробнее тут: http://lurkmore.to/Grammar_nazi


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Сб мар 15, 2014 12:34:51 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 10
Рейтинг сообщений: 163
Зарегистрирован: Вс янв 09, 2011 16:51:39
Сообщений: 2348
Откуда: Санкт-Ленинград
Рейтинг сообщения: 0
0x898a152b писал(а):
Уменьшаю прошивку значит просто часть убираю в исходнике
Так вот и смотрите, что за код Вы удаляете.


Zhuk72 писал(а):
Там страниц нет вроде
Страниц программы нет.
Но есть страницы ОЗУ (хотя, конечно, правильнее их называть банками).

_________________
ICQ нет, и, в ближайшее время, не будет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Сб мар 15, 2014 12:44:24 
Родился

Зарегистрирован: Вт дек 31, 2013 16:55:37
Сообщений: 9
Рейтинг сообщения: 0
Dmitry Dubrovenko писал(а):
Так вот и смотрите, что за код Вы удаляете.

Нет. Дело не в том что именно я удаляю или добавляю. Это не ошибка кода, тут именно проблема в размере.
Все что я хотел уже влазит в 16кБ размер специально растягиваю например дописывая что то типа:
ClearLCD();
StringLCD("ПАЯЛЬНАЯ СТАНЦИЯ");
CursorLCD(1, 0); StringLCD(" WEBART4.ME");
ClearLCD();
StringLCD("ПАЯЛЬНАЯ СТАНЦИЯ");
CursorLCD(1, 0); StringLCD(" WEBART4.ME");
ClearLCD();
StringLCD("ПАЯЛЬНАЯ СТАНЦИЯ");
CursorLCD(1, 0); StringLCD(" WEBART4.ME");

Много раз. Просто для веса.

От чего может быть в принципе переход на high прерывание и тут же возврат обратно к low и по кругу?????

_________________
РадиоКОТ - Grammar nazi!
Подробнее тут: http://lurkmore.to/Grammar_nazi


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Сб мар 15, 2014 21:33:48 
Сверлит текстолит когтями
Аватар пользователя

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
Цитата:
От чего может быть
Сам не давно стал писать вообще для контроллеров


Слово недавно пишется вместе, отчего -тоже
для уменьшения экстрасенсорики выложите весь код


Последний раз редактировалось urry Вс мар 16, 2014 09:54:49, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Сб мар 15, 2014 23:27:31 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
urry, своя рубашка ближе к телу и привычка - вторая натура. Хотя у меня опыт кодинга на ПИКи небольшой, но, просто веря в предполагаемое преимущество других платформ перед ПИКами, считаю, что новичку кидаться к другой системе, столкнувшись с ограничениями или заморочкой 8-битных ПИКов, не стоит. Для вас они может уже пройденный этап, стесняют своими ограничениями, потому вы и перешли на STM. А вот меня даже 24-я серия ужаснула после беглого просмотра даташита :)

И, кстати, в данном контексте, "от чего" было написано правильно 8)

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Вс мар 16, 2014 00:08:20 
Сверлит текстолит когтями
Аватар пользователя

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
начнем с главного -
http://orf.textologia.ru/definit/otchego/?q=532&n=89635
здесь выражение отчего идет в как синоним почему
От чего может быть в принципе переход на high прерывание и тут же возврат обратно к low и по кругу?????

Почему может быть переход на прерывание

----------
Пишется слитно

Ну с чего может быть переход на прерывание, если оно замаскировано и не разрешено?
Ясен перец, что нужно смотреть код.
----------
по поводу страниц -
да, объединять нечего, файл линкера




// File: 18f252.lkr
// Sample linker script for the PIC18F252 processor

LIBPATH .

FILES c018i.o
FILES clib.lib
FILES p18f252.lib

CODEPAGE NAME=page START=0x0 END=0x7FFF
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED

ACCESSBANK NAME=accessram START=0x0 END=0x7F
DATABANK NAME=gpr0 START=0x80 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=gpr4 START=0x400 END=0x4FF
DATABANK NAME=gpr5 START=0x500 END=0x5FF
ACCESSBANK NAME=accesssfr START=0xF80 END=0xFFF PROTECTED

SECTION NAME=CONFIG ROM=config

STACK SIZE=0x100 RAM=gpr5










Цитата:
Для вас они может уже пройденный этап, стесняют своими ограничениями, потому вы и перешли на STM.

должно быть абсолютно по фигу , на чем писАть.
За что платят деньги, на том и пишете.
Вы там немного выбираете, если оказывается, что 1000 плат уже пришли с завода и вас уже не спрашивают, что вы там себе нафантазировали.
Оно должно работать через 3 дня.Ну, условно...
Ревльно выбиваешь себе неделю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Вс мар 16, 2014 03:50:14 
Открыл глаза
Аватар пользователя

Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Пт июл 19, 2013 15:08:01
Сообщений: 44
Откуда: Дальний Восток
Рейтинг сообщения: 0
Возможно, необходимо сбросить флаг прерывания.. Или на Си это автоматом?

urry, если для Вас правописание - это главное, то вот:
Цитата:
должно быть абсолютно по фигу , на чем писАть.

"пофигу" пишется слитно. 8)

По-моему, главное здесь - это нахождение причины неполадки, а не исправление орфографических ошибок.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Вс мар 16, 2014 09:45:16 
Сверлит текстолит когтями
Аватар пользователя

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
Спасибо за исправление, запомню.
Относительно флагов прерывания - автоматом на си не сбрасывается, компилятор самостоятельно делает только сохранение - восстановление контекста прерывания.

ТС, код в студию.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Вс мар 16, 2014 12:29:34 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
urry писал(а):
За что платят деньги, на том и пишете.


Логично. Для вас это работа, а для меня - тренировка для мозгов, чтоб не заржавели на старости лет от однообразности будней. Потому и выбираю что душе ближе.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Ср мар 19, 2014 11:20:39 
Родился

Зарегистрирован: Вт дек 31, 2013 16:55:37
Сообщений: 9
Рейтинг сообщения: 0
Да, понятно.
Куда там на Си писать, даже на русском не умею. Пойду учить русский.

Всего доброго.

_________________
РадиоКОТ - Grammar nazi!
Подробнее тут: http://lurkmore.to/Grammar_nazi


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Пт мар 21, 2014 13:28:40 
Открыл глаза
Аватар пользователя

Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Пт июл 19, 2013 15:08:01
Сообщений: 44
Откуда: Дальний Восток
Рейтинг сообщения: 0
0x898a152b писал(а):
Пойду учить русский.

Всего доброго.


Ну вот, человека обидели.. :(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC18F252 Объем Flash ошибка при компиляции
СообщениеДобавлено: Пн апр 07, 2014 01:10:58 
Родился

Зарегистрирован: Вт дек 31, 2013 16:55:37
Сообщений: 9
Рейтинг сообщения: 0
0x898a152b писал(а):
Zhuk72 писал(а):
P.S. Интересно просто, что такого есть в паяльной станции, что программа управления заняла аж 16 кило :)


По 9 ячеек памяти для паяльника + фена
Меню настроек типа:
1. Паяльник сон через (при условии что датчик движения в спокойном состоянии) ВЫКЛ-999 мин.
2. Фен сон через (при условии что фен на подставке) ВЫКЛ-999 мин.
3. Софт Старт Паяльника Вкл Выкл
4. Софт Старт Фена Вкл Выкл
5. Коэффициент на умножение для паяльника 0-999
6. Коэффициент на плюс для паяльника 0-999
7. Коэффициент на умножение для фена 0-999
8. Коэффициент на плюс для фена 0-999
9. Звук кнопок ВКЛ-ВЫКЛ
10. Паяльник автовкл. ВКЛ-ВЫКЛ
11. Вентилятор фена min (показания ацп для минимума)
12. Вентилятор фена max (показания ацп для максимума)
13. Номер ячейки памяти для начального значения при включении

Обработка кнопок.
Обработка таймеров.
Обработка софтового ШИМ.
Обработка режима охлаждения при выключении фена, охлаждение до 50С.
Задание начальных установок в EEPROM, при первом запуске. Конечно это глупость ибо можно просто задать при прошивке необходимые значения. Но пока так и оставил.

Много ушло на понятное отображение на дисплей.
Типа:
Мигание значениями переменных
Отображение спящих режимов.
Режима охлаждения
Отладочный режим. Когда при зажатии указанной кнопки отображается текущие значения мощности на ШИМ и показания датчиков.
Прочие мелочи.

Обработка кнопок в плане возможности быстрого сохранения например текущего значения температуры в указанную потом ячейку и аналогичная загрузка из памяти желаемой ячейки.

Конечно учитывая что это по сути мой первый проект наверняка можно все написать более хитро и компактно. Не буду спорить.
На чисто asm наверняка еще компактнее получится. Но тратить время на asm не было желания.


Только что добавил:
void interrupt high_priority interrupt_high() {
}
В отладке циклится после low прерывания переходит в high и обратно. Ну и по WDT все ресетится ибо while (1) { CLRWDT(); .... } только в main.



Не будет ли любееееееееееееезен многоуважаемый AlekseyEnergo отредактировать и это сообщение? ))))))))))

Кстати, а как на этом быдлофоруме удаляется учетка? Или еще недоросли?

_________________
РадиоКОТ - Grammar nazi!
Подробнее тут: http://lurkmore.to/Grammar_nazi


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 19 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y