Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 16.11.2020, 16:10   #1
Getavo
Junior Member
 
Регистрация: 25.02.2007
Сообщений: 18
Вес репутации: 100/52
Getavo will become famous soon enoughGetavo will become famous soon enough
По умолчанию PIC16F628 vs PIC16F628A

Вопрос к Знатокам: Почему программа для PIC16F628 не компилируется для PIC16F628A, хотя на PIC16F628 все работает?
Getavo вне форума   Ответить с цитированием
Старый 16.11.2020, 18:04   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,569
Вес репутации: 4677/102
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC16F628 vs PIC16F628A

Getavo
Напишите ошибку, которая возникает при компиляции.

Навскидку - в коде макрос на проверку контроллера, и если контроллер не PIC16F628, то выдать ошибку.
besogon на форуме   Ответить с цитированием
Старый 16.11.2020, 22:27   #3
Getavo
Junior Member
 
Регистрация: 25.02.2007
Сообщений: 18
Вес репутации: 100/52
Getavo will become famous soon enoughGetavo will become famous soon enough
По умолчанию Re: PIC16F628 vs PIC16F628A

Error - section '.org_2' can not fit the absolute section. Section '.org_2' start=0x00000004, length=0x00000ea8
Errors : 1
Link step failed.
-----------
Debug build of project `E:\All_Projects\Projects_III\LCFR_628\LCFR_628.as m.mcp' failed.
Language tool versions: MPASMWIN.exe v5.35, mplink.exe v4.35
Preprocessor symbol `__DEBUG' is defined.
Tue Nov 17 00:17:50 2020
Getavo вне форума   Ответить с цитированием
Старый 17.11.2020, 05:37   #4
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,516
Вес репутации: 4234/126
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: PIC16F628 vs PIC16F628A

Наверное стоит разобраться с ORG 2 почему он не лезет во флеш в абсолютном режиме. Приведите начало кода.
Марк на форуме   Ответить с цитированием
Старый 17.11.2020, 12:22   #5
HJV
Senior Member
 
Регистрация: 25.02.2007
Адрес: Чита
Возраст: 40
Сообщений: 582
Вес репутации: 1418/70
HJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud ofHJV has much to be proud of
Отправить сообщение для HJV с помощью ICQ
По умолчанию Re: PIC16F628 vs PIC16F628A

Портируйте прогу на Си и не парьтесь
HJV на форуме   Ответить с цитированием
Старый 17.11.2020, 14:54   #6
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от Getavo Посмотреть сообщение
Error - section '.org_2' can not fit the absolute section. Section '.org_2' start=0x00000004, length=0x00000ea8
Errors : 1
Link step failed.
-----------
Debug build of project `E:\All_Projects\Projects_III\LCFR_628\LCFR_628.as m.mcp' failed.
Language tool versions: MPASMWIN.exe v5.35, mplink.exe v4.35
Preprocessor symbol `__DEBUG' is defined.
Tue Nov 17 00:17:50 2020
а он точно компилится и без буквы А ?

по даташиту у них память программ начинается с ...0005
если программа не менялась, то по организации памяти они одинаковые..

и обьём 7FF .... "length=0x00000ea8" ... ни как не влезет в любой проц из двух

если там на пределе... попробуйте откомпилить в Релизе...

Последний раз редактировалось SergP01; 17.11.2020 в 15:05.
SergP01 вне форума   Ответить с цитированием
Старый 17.11.2020, 18:04   #7
Getavo
Junior Member
 
Регистрация: 25.02.2007
Сообщений: 18
Вес репутации: 100/52
Getavo will become famous soon enoughGetavo will become famous soon enough
По умолчанию Re: PIC16F628 vs PIC16F628A

На PIC16F628 программа отлично работает.
Getavo вне форума   Ответить с цитированием
Старый 17.11.2020, 18:30   #8
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от Getavo Посмотреть сообщение
На PIC16F628 программа отлично работает.
откомпилите в Релизе....
к вас прога в память не влезает..
SergP01 вне форума   Ответить с цитированием
Старый 18.11.2020, 02:15   #9
DmitrijVDN
Senior Member
 
Регистрация: 09.04.2010
Сообщений: 872
Вес репутации: 1709/64
DmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant future
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от SergP01 Посмотреть сообщение
по даташиту у них память программ начинается с ...0005.
начинается она с 0х0000
DmitrijVDN вне форума   Ответить с цитированием
Старый 18.11.2020, 06:23   #10
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от DmitrijVDN Посмотреть сообщение
начинается она с 0х0000
умный ?



не лезет она туда... скорее всего потому, что в дебаге компилится...
SergP01 вне форума   Ответить с цитированием
Старый 18.11.2020, 14:02   #11
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,516
Вес репутации: 4234/126
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от SergP01 Посмотреть сообщение
умный ?
Что нужно полезного извлечь из приведенной картинки?
Все адреса флеша доступны для кода. Вектор прерывания и ресет вектор никак не мешают линкованию кода, если только в самом коде секции не пересекаются. Но тогда код будет одинаково вызывать ошибку для любого чипа.
ЗЫ. Дебага в этом чипе отродясь не было. Только через спецхедер PIC16F628-ICD
Марк на форуме   Ответить с цитированием
Старый 18.11.2020, 14:06   #12
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от Марк Посмотреть сообщение
.
ЗЫ. Дебага в этом чипе отродясь не было.

подозреваю, что компилятору на это на...

Цитата:
Debug build of project `E:\All_Projects\Projects_III\LCFR_628\LCFR_628.as m.mcp' failed.
Language tool versions: MPASMWIN.exe v5.35, mplink.exe v4.35
Preprocessor symbol `__DEBUG' is defined.
один фиг.... пока топикастер не проверит- не узнаем...
SergP01 вне форума   Ответить с цитированием
Старый 18.11.2020, 14:30   #13
bvg33
Junior Member
 
Регистрация: 27.10.2009
Возраст: 67
Сообщений: 7
Вес репутации: 100/0
bvg33 will become famous soon enoughbvg33 will become famous soon enough
По умолчанию Re: PIC16F628 vs PIC16F628A

Тут
Нажмите на изображение для увеличения
Название: PIC16F62x-PIC16F6xxA.pdf
Просмотров: 13
Размер:	125.6 Кб
ID:	11808
bvg33 вне форума   Ответить с цитированием
Старый 18.11.2020, 14:48   #14
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от bvg33 Посмотреть сообщение
Тут
только там нету- почему линковщик не может впихнуть откомпиленный код размером больше, чем позволяет память
SergP01 вне форума   Ответить с цитированием
Старый 18.11.2020, 18:14   #15
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,569
Вес репутации: 4677/102
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC16F628 vs PIC16F628A

SergP01
только там нету- почему линковщик не может впихнуть откомпиленный код размером больше, чем позволяет память - настроено так скорее всего. Надеюсь что по умолчанию так.

В целом линковщику-то, как Вы ему скрипт сделали, так он память и разобьет.

Хотите чтобы все в нахлест, в смрад - можно и так настроить. Потом программатор зальет, что залилось и будет работать хуже чем надо.
besogon на форуме   Ответить с цитированием
Старый 18.11.2020, 18:25   #16
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от besogon Посмотреть сообщение
SergP01
.

Хотите чтобы все в нахлест, в смрад - можно и так настроить..
есть подозрение, что правильный линковщик- пошлёт на...
SergP01 вне форума   Ответить с цитированием
Старый 18.11.2020, 18:42   #17
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,569
Вес репутации: 4677/102
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC16F628 vs PIC16F628A

SergP01
есть подозрение, что правильный линковщик- пошлёт на - правильный линковщик делает то, что ему сказали.
besogon на форуме   Ответить с цитированием
Старый 18.11.2020, 19:01   #18
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от besogon Посмотреть сообщение
SergP01
есть подозрение, что правильный линковщик- пошлёт на - правильный линковщик делает то, что ему сказали.
не знаю как для PIC ... для ADSP2191 я бил память как хотел.... там нет флеша... там единая память и для программы и для данных...
SergP01 вне форума   Ответить с цитированием
Старый 18.11.2020, 19:21   #19
tsb58
Senior Member
 
Аватар для tsb58
 
Регистрация: 04.11.2008
Адрес: Харьков
Сообщений: 378
Вес репутации: 1099/58
tsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud of
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от SergP01 Посмотреть сообщение
обьём 7FF .... "length=0x00000ea8" ... ни как не влезет в любой проц из двух
Вы не учитываете тот факт, что объем флеши (0x7FF) указан в "словах" (2 кило слова), а длину откомпилированной секции линковщик пишет в байтах. Поэтому 0x00000ea8 для перевода в слова нужно поделить на 2 и получится меньше 2х кило слов. То есть сама эта секция в объем флеши должна влезть... Но, может быть, в программе есть еще один ORG, который создает еще одну секцию и вот вместе они уже "не помещаются".
tsb58 вне форума   Ответить с цитированием
Старый 18.11.2020, 19:33   #20
Getavo
Junior Member
 
Регистрация: 25.02.2007
Сообщений: 18
Вес репутации: 100/52
Getavo will become famous soon enoughGetavo will become famous soon enough
По умолчанию Re: PIC16F628 vs PIC16F628A

В PIC16F628 программа занимает адреса с 0х00 по 0х0758 из 0х07FF.
В PIC16F628A программа при компиляции в абсолютных или перемещаемых кодах - не помещается.
В документе PIC16F62x-PIC16F6xxA.pdf ничего подозрительного не нашёл.
Для PIC16F648A программа компилируется и занимает адреса с 0х00 по 0х0758 из 0х0FFF.
Getavo вне форума   Ответить с цитированием
Старый 18.11.2020, 19:38   #21
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от tsb58 Посмотреть сообщение
Вы не учитываете тот факт, что объем флеши (0x7FF) указан в "словах" (2 кило слова), а длину откомпилированной секции линковщик пишет в байтах. Поэтому 0x00000ea8 для перевода в слова нужно поделить на 2 и получится меньше 2х кило слов. То есть сама эта секция в объем флеши должна влезть... Но, может быть, в программе есть еще один ORG, который создает еще одну секцию и вот вместе они уже "не помещаются".
это точно ?

слишком мудрёно получается....

обычно пишут в единицах измерения....

а так получается- мне нужно 256 ячеек памяти выделить вордовой... а в файле линковшика мне надо писать- 512 байт ?
SergP01 вне форума   Ответить с цитированием
Старый 18.11.2020, 19:40   #22
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от Getavo Посмотреть сообщение
В PIC16F628 программа занимает адреса с 0х00 по 0х0758 из 0х07FF.
В PIC16F628A программа при компиляции в абсолютных или перемещаемых кодах - не помещается.
В документе PIC16F62x-PIC16F6xxA.pdf ничего подозрительного не нашёл.
Для PIC16F648A программа компилируется и занимает адреса с 0х00 по 0х0758 из 0х0FFF.
дык.... в MPLAB поставьте Release и попробуйте откомпилить...
SergP01 вне форума   Ответить с цитированием
Старый 18.11.2020, 21:30   #23
tsb58
Senior Member
 
Аватар для tsb58
 
Регистрация: 04.11.2008
Адрес: Харьков
Сообщений: 378
Вес репутации: 1099/58
tsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud oftsb58 has much to be proud of
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от SergP01 Посмотреть сообщение
получается- мне нужно 256 ячеек памяти выделить вордовой... а в файле линковшика мне надо писать- 512 байт ?
В файле линковщика (например, в "16f628a_g.lkr") не указывается длина секций. Указывается "начало" и "конец" в размерности адресов контроллера. Например:
Код:
  CODEPAGE   NAME=page       START=0x0               END=0x7FF
Но, из личного опыта, в сообщении об ощибке, аналогичной описанной, указывается "длина" секции в байтах.
Ну, а по поводу обсуждаемой ситуации, напрашивается вывод, что может быть какая-то ошибка в самом файле линкера для 16F628A. Нужно его сравнить с файлами для 628 и 648A.
tsb58 вне форума   Ответить с цитированием
Старый 18.11.2020, 21:36   #24
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,191
Вес репутации: 909/60
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: PIC16F628 vs PIC16F628A

Цитата:
Сообщение от tsb58 Посмотреть сообщение
В файле линковщика (например, в "16f628a_g.lkr") не указывается длина секций. Указывается "начало" и "конец" в размерности адресов контроллера. Например:
Код:
  CODEPAGE   NAME=page       START=0x0               END=0x7FF
Но, из личного опыта, в сообщении об ощибке, аналогичной описанной, указывается "длина" секции в байтах.
Ну, а по поводу обсуждаемой ситуации, напрашивается вывод, что может быть какая-то ошибка в самом файле линкера для 16F628A. Нужно его сравнить с файлами для 628 и 648A.
в данной ситуации...имхо... компилится для дебага... а компилятор в таком случае кучу своего Г. пихает...

топикастер так и не пишет- попробовал он в Релизе скомпилить или нет...

пишет, что код- впритык...
SergP01 вне форума   Ответить с цитированием
Старый 19.11.2020, 00:08   #25
Getavo
Junior Member
 
Регистрация: 25.02.2007
Сообщений: 18
Вес репутации: 100/52
Getavo will become famous soon enoughGetavo will become famous soon enough
По умолчанию Re: PIC16F628 vs PIC16F628A

Всё заработало: сменил устаревший MPLAB v8.50 на MPLAB v8.92.
Всем спасибо!
Getavo вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC16F628 и PIC16F628A различия в прошивке G_h_o_s_t Вопросы начинающих 9 07.08.2010 17:03
Нужна помощь-переход pic16f628 на pic16f628a vihtor Продукция MICROCHIP 5 17.01.2010 06:36
USART в pic16f628a dimkus Вопросы начинающих 10 28.04.2009 16:18
переход с PIC16F628 на pic16F628A jkobi Продукция MICROCHIP 11 22.07.2007 16:07
Странность с PIC16F628A kos311 Продукция MICROCHIP 11 15.03.2007 11:12


Часовой пояс GMT +3, время: 08:41.


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