MPLAB в вопросах и ответах

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: MPLAB в вопросах и ответах

Сообщение alex_ »

Аlex писал(а):PS: Имя не устанавливается, к сожалению
Ну хотя бы так, Спасибо :)
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25123
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB в вопросах и ответах

Сообщение КРАМ »

[uquote="alex_",url="/forum/viewtopic.php?p=3417048#p3417048"]но никак не могу отмониторить переменные.
Переменные заданы таким образом:

Код: Выделить всё

cblock 0x20 
   CURR_ACP      
   CURR_IZM      
   CURR_ZAD      
   CURR         
         endc
   

При этом в окне Watch кнопка Add Symbol и выпадающий список не активны[/uquote]
Меняете способ объявления переменных на:

Код: Выделить всё

      udata 0x20 
CURR_ACP   res 1
CURR_IZM   res 1   
CURR_ZAD   res 1      
....................

И включаете режим перемещаемого кода.
По результату генерации хекса ничего не изменится, но все переменные станут видны в Watch
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: MPLAB в вопросах и ответах

Сообщение alex_ »

КРАМ писал(а):И включаете режим перемещаемого кода.
Не подскажете в каком месте галочку поставить :roll:
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25123
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB в вопросах и ответах

Сообщение КРАМ »

Project - Build Options - Project - MPASM C17/C18 Suite -> Generate Relocatable Code - ставим галку
Ну либо на Ask me и тогда каждый раз перед билдом будет возникать окно с предложением выбора Absolute/Relocatable
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: MPLAB в вопросах и ответах

Сообщение alex_ »

[uquote="КРАМ",url="/forum/viewtopic.php?p=3417379#p3417379"]Project - Build Options - Project - MPASM C17/C18 Suite -> Generate Relocatable Code - ставим галку[/uquote]Слона то я и не заметил :oops:
Спасибо, теперь стало всё гораздо лучше, в udata 0x20 пришлось удалить число, а то с ним ну никак не хотело компилироваться :))
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25123
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB в вопросах и ответах

Сообщение КРАМ »

Дело тут не в числе, а в областях ОЗУ.
Скорее всего, данная область (0х20) относится с типу udata_acs. Почитайте даташит и мануал на ассемблер.
Память с доступом через ACCSESS должна резервироваться как udata_acs
Для иной области может быть указан абсолютный адрес начала блока.
Как Вы уже догадались, теперь не требуется выделять отдельный байты для длинных переменных.
Достаточно указать их длину в байтах после res. Обращение к ним будет соответственно <имя>, <имя+1>, <имя+2> и т.д.
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: MPLAB в вопросах и ответах

Сообщение alex_ »

Про число я условно сказал, понимая при этом что компилятор уже не может там жёстко разместить переменные поскольку возможно данная область памяти была занята или зарезервирована под свои нужды. Про длину в байтах это конечно плюс. Повторюсь, программу мне подсунули для модификации, но похоже она была написана крайним консерватором в виде жёсткой привязки переменных и не только, притом в программе используются переменные размерностью 4 байта и объявлены как 4 отдельные переменные хотя и стоят друг за другом :facepalm:
нет чтоб действительно написать res 4. Мне если честно Си больше по душе, и когда разберусь в данной программе полностью её портирую на Си. :))
spongebob
Грызет канифоль
Сообщения: 289
Зарегистрирован: Пт мар 20, 2009 12:25:47
Откуда: Ivanovo
Контактная информация:

Re: MPLAB в вопросах и ответах

Сообщение spongebob »

вопросы у меня тут по mplab c18
1) оно не умеет оператор "?" ? (например "(a==b) ? c=d : e=f;") или я туплю, пишет syntax error
2) подключаю инклюды - тоже пишет syntax error, а там вообще пусто (или там что-то в конце нужно написать?)
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: MPLAB в вопросах и ответах

Сообщение Аlex »

Умеет. Просто у Вас синтаксическая ошибка. Конкретно - отсутствие "точки с запятой".
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: MPLAB в вопросах и ответах

Сообщение БАТАРЕЙКУС »

Добрый день, помогите кто может, понадобилось мне в MPLAB X и c18, создать массив 512 байт, но он выдаёт ошибку, помница, там надо в линке объединить банки и в файле проекта какую то ерунду ещё прописать и тогда ошибка исчезнет, вот кто подскажет, что надо сделать ?
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: MPLAB в вопросах и ответах

Сообщение Аlex »

БАТАРЕЙКУС писал(а):что надо сделать ?
Попробовать погуглить, для начала.
Первая попавшаяся ссылка - http://www.microchip.su/showthread.php?t=14356
DarkWolf
Встал на лапы
Сообщения: 117
Зарегистрирован: Ср ноя 05, 2014 19:04:31

Re: MPLAB в вопросах и ответах

Сообщение DarkWolf »

Всем, доброго времени суток! Подскажите в таком вопросе. Необходимо сделать ремап UART на PIC18 в микропаскаль. Могу ли я сделать ремап только Tx или только Rx? Или все же необходимо ремапить две ножки, что бы использовать функцию UART_Remappable_Init?
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: MPLAB в вопросах и ответах

Сообщение Аlex »

1. Камень какой ?
2. Причём тут эта тема ? Тут обсуждается MPLAB.
DarkWolf
Встал на лапы
Сообщения: 117
Зарегистрирован: Ср ноя 05, 2014 19:04:31

Re: MPLAB в вопросах и ответах

Сообщение DarkWolf »

[uquote="Аlex",url="/forum/viewtopic.php?p=3513523#p3513523"]1. Камень какой ?
2. Причём тут эта тема ? Тут обсуждается MPLAB.[/uquote]
Прошу прощения! Не посмотрел нормально в какой теме спрашиваю.

Камень PIC18F47j53
Аватара пользователя
Linuxoid91
Грызет канифоль
Сообщения: 295
Зарегистрирован: Вс дек 18, 2011 14:41:24
Откуда: Ангарск

Re: MPLAB в вопросах и ответах

Сообщение Linuxoid91 »

Добрый день. Что означает "Pass Count: 59" при программировании через MPLAB IPE?
Более подробно

Код: Выделить всё

Target removed
Target voltage detected
Target device PIC12F675 found.
Device ID Revision = b
2018-12-29 14:04:58 +0800 - Programming...

Device Erased...

Programming...

The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x3fe
configuration memory
program memory
Address: 0 Expected Value: 2bf3 Received Value: 0
Failed to program device
2018-12-29 14:05:07 +0800 - Programming failed
Pass Count: 59


Микроконтроллер PIC12F675.
Программатор ICD-3.
Питание 3,7 Вольт.
Кусок схемы во вложении.
Во время прошивки выпаяно R21, R14, R24, R11.
Вложения
Снимок.jpg
(63.41 КБ) 510 скачиваний
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: MPLAB в вопросах и ответах

Сообщение otest »

Почему 3.7в ?
Не прошился он
Pass Count: 59 Количество проходов: 59
Аватара пользователя
Linuxoid91
Грызет канифоль
Сообщения: 295
Зарегистрирован: Вс дек 18, 2011 14:41:24
Откуда: Ангарск

Re: MPLAB в вопросах и ответах

Сообщение Linuxoid91 »

[uquote="otest",url="/forum/viewtopic.php?p=3537406#p3537406"]Почему 3.7в[/uquote]
В даташите указано, что он питается от 2 до 5.5 Вольт.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25123
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB в вопросах и ответах

Сообщение КРАМ »

[uquote="Linuxoid91",url="/forum/viewtopic.php?p=3537605#p3537605"]В даташите указано[/uquote]
В даташите указана ЗАВИСИМОСТЬ диапазона напряжений питания от ЧАСТОТЫ работы контроллера.
Из каких соображений Вы решили, что при программировании от ICD3 тактирование МК ниже 10 МГц?
Аватара пользователя
Linuxoid91
Грызет канифоль
Сообщения: 295
Зарегистрирован: Вс дек 18, 2011 14:41:24
Откуда: Ангарск

Re: MPLAB в вопросах и ответах

Сообщение Linuxoid91 »

Доброго времени суток. Как исправить error 1347?

Микроконтроллер PIC16F676. Во время компилляции выдает ошибки.
Спойлерmake -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'D:/Cloud/Microchip/P16 PWM SIN 50 Hz/50 Hz_PWM.X'
make -f nbproject/Makefile-default.mk dist/default/production/50_Hz_PWM.X.production.hex
make[2]: Entering directory 'D:/Cloud/Microchip/P16 PWM SIN 50 Hz/50 Hz_PWM.X'
"C:\Program Files (x86)\Microchip\xc8\v1.45\bin\xc8.exe" --pass1 --chip=16F676 -Q -G --double=24 --float=24 --opt=+asm,+asmfile,-speed,+space,-debug,-local --addrqual=ignore --mode=free -P -N255 --warn=-3 --asmlist -DXPRJ_default=default --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" -obuild/default/production/newmain.p1 newmain.c
newmain.c:35: warning: (371) missing basic type; int assumed
newmain.c:51: warning: (371) missing basic type; int assumed
newmain.c:56: warning: (371) missing basic type; int assumed
newmain.c:61: warning: (371) missing basic type; int assumed
"C:\Program Files (x86)\Microchip\xc8\v1.45\bin\xc8.exe" --chip=16F676 -G -mdist/default/production/50_Hz_PWM.X.production.map --double=24 --float=24 --opt=+asm,+asmfile,-speed,+space,-debug,-local --addrqual=ignore --mode=free -P -N255 --warn=-3 --asmlist -DXPRJ_default=default --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s" --memorysummary dist/default/production/memoryfile.xml -odist/default/production/50_Hz_PWM.X.production.elf build/default/production/newmain.p1
Microchip MPLAB XC8 C Compiler (Free Mode) V1.45
Build date: Nov 15 2017
Part Support Version: 1.45
Copyright (C) 2017 Microchip Technology Inc.
License type: Node Configuration

:: warning: (1273) Omniscient Code Generation not available in Free mode
make[2]: *** [dist/default/production/50_Hz_PWM.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
:0: error: (1347) can't find 0xB7E words (0xb7e withtotal) for psect "text1" in class "CODE" (largest unused contiguous range 0x3F9)
(908) exit status = 1
nbproject/Makefile-default.mk:131: recipe for target 'dist/default/production/50_Hz_PWM.X.production.hex' failed
make[2]: Leaving directory 'D:/Cloud/Microchip/P16 PWM SIN 50 Hz/50 Hz_PWM.X'
nbproject/Makefile-default.mk:90: recipe for target '.build-conf' failed
make[1]: Leaving directory 'D:/Cloud/Microchip/P16 PWM SIN 50 Hz/50 Hz_PWM.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed

BUILD FAILED (exit value 2, total time: 7s)
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: MPLAB в вопросах и ответах

Сообщение uldemir »

У вас какой-то массив слишком большой и не лезет в память. т.е. ему нужен непрерывный кусок озу, который компилятор в кристалле найти не может. вернее не компилятор, а линковщик.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Ответить

Вернуться в «PIC»