![]() |
|
|
Продукция MICROCHIP Технические вопросы по всей продукции Microchip |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 |
Member
Регистрация: 28.10.2014
Адрес: Lithuania / Литва, Vilnius / Вильнюс
Возраст: 35
Сообщений: 80
Вес репутации: 100/24 ![]() ![]() |
![]()
Ест такой рапорт:
MPASM is a 32-bit Windows application and will not run on 64-bit operating systems. A 64-bit PIC Assembler will be available with the MPLAB XC8 toolchain but will require migration. Добрый день. Как правильно перейти програмировать с асемблерам на XC8? Я програмировал с асемблерам на XC16, там было два файла Projects -> Название проекта -> Source Files: один с кодам асемблера (расширение .s) и один с конфигурацией (расширение .c). Первая строка кода была к примеру .include "p33CK256MP505.inc". Тепер я проходился по директориям инстала XC8, нету чего «инклудить». Поможете сделать новый шаблон для XC8?
__________________
Кто, если не мы, когда, если не сейчас? |
![]() |
![]() |
![]() |
#2 |
Senior Member
|
![]()
Просто используйте File -> New Project и по подсказкам идите до конца. Когда создадите проект создайте новый файл main.c. Файл подключите в дерево проекта к Source File при помощи Add Existing Item...
В main.c минимально должно быть : Код:
// CONFIG1 #pragma config FEXTOSC = ECH // External Oscillator Selection (EC (external clock) above 8 MHz) #pragma config RSTOSC = EXTOSC // Reset Oscillator Selection (EXTOSC operating per FEXTOSC bits (device manufacturing default)) #include <xc.h> void main{ } На этом все. Проект должен собраться под Ваш МК и дальше пишете Ваш код.
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3) |
![]() |
![]() |
![]() |
#3 |
Senior Member
Регистрация: 09.01.2012
Возраст: 37
Сообщений: 587
Вес репутации: 373/42 ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
а что нибудь в инете поискать "MPLab первый проект" ?
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
SergP01
а что нибудь в инете поискать "MPLab первый проект"? - и получить на выходе поисковика порцию бреда новаторства. |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
втыкаю потихоньку во все нюансы... интересная штука оказывается... для простых задач и МК не нужен нах ![]() там даже готовые куски (модули) есть (PLL,UART, эзернет, память....) только мозг надо включить как их прицепить к проекту ![]() похоже, что так МК и проектируют.... тут у одного производителя даже модуль Cortex M3 есть ![]() |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,618
Вес репутации: 4306/129 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
#pragma config удобно добавить прямо из окна Window-Target Memory Views-Configuration bits (в окне есть иконка генерации кода), предварительно выбрав необходимые биты конфига в выпадающих меню. Вместе с прагмами при генерации будет вставлен инклюд самого компилятора xc.h. |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,618
Вес репутации: 4306/129 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Можно так же добавить в проект стартап файл (.as) на ассемблере (он тоже может быть сгенерирован визардом подключаемых файлов). Это позволяет сделать первичное ветвление между основным проектом и бутлоадером, написанным в отдельном проекте и подключенным к основному через ветку проекта Loadables. Причем подключить можно как проект, так и уже скомпилированный хекс.
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
![]() я вот лично- нифига не понял.... вы породили ещё кучу вопросов ![]() имхо, статей для начинающих на тему С и премудростей работы в мплаб- туева хуча.... с пояснениями и скриншотам- куда жмакать.... ![]() |
|
![]() |
![]() |
![]() |
#10 |
Member
Регистрация: 28.10.2014
Адрес: Lithuania / Литва, Vilnius / Вильнюс
Возраст: 35
Сообщений: 80
Вес репутации: 100/24 ![]() ![]() |
![]()
Уточняю - программирую исключительно на ассемблере и всегда на ассемблере, это одно из моих хобби после работы. Теперь когда то заметил этот warnings в программе MPLAB X для 8-битного семейство и незнаю, хорошо ли компилируется мои коды компилятором MPASM. Лаптоп - 64 бит процессор и 64 бит WINDOWS10.
__________________
Кто, если не мы, когда, если не сейчас? |
![]() |
![]() |
![]() |
#11 |
Senior Member
Регистрация: 09.01.2012
Возраст: 37
Сообщений: 587
Вес репутации: 373/42 ![]() ![]() ![]() ![]() |
![]()
Да да я лох увидел сссс извиняюсь не в тему вникся
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
сам код тут ни причём... |
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
|
![]() Цитата:
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3) |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,618
Вес репутации: 4306/129 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Если вы не планируете использовать что нибудь самое последнее из 8-битных семейств Микрочипа, то никаких неудобств у вас не возникнет. |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
"разрядность" компилятора вообще не влияет на результат... можно любой подцепить... главное, чтобы запускался в винде 64бита... хотя- странно это- компилятор ASM , оптимизированный для вин64 ... типа - для скорости ? ![]() это какой проект для 8-и битника должен быть, чтобы тормозило ? ![]() |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
LKIJ/ЛДКО
Для актуальных версий MPLABX есть gpasm из gputils, хотя очень давно не пользовался и вполне могут быть особенности. Там идет какое-то развитие, но нужно читать. gpasm совместим по синтаксису с mpasm. |
![]() |
![]() |
![]() |
#17 |
Senior Member
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
SergP01
странно это- компилятор ASM , оптимизированный для вин64 - имеется в виду amd64 версию windows. чтобы без новых проблем запускалось. Насколько я помню, код на asm собирается быстро и не тормозит даже на самых казалось бы безнадежных рабочих станциях. |
![]() |
![]() |
![]() |
#18 | |
Senior Member
Регистрация: 11.10.2011
Возраст: 25
Сообщений: 319
Вес репутации: 978/46 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
У меня (думаю, не только) сложилась картина о Вас, как о человеке, который приходит сюда просто почесать языком. Вы в каждой теме даёте о себе знать. Через сообщение - Ваше (а то и не одно подряд). И полезность Ваших постов - практически нулевая. PS: Извините за флуд... |
|
![]() |
![]() |
![]() |
#19 |
Junior Member
Регистрация: 04.07.2012
Сообщений: 25
Вес репутации: 139/33 ![]() ![]() |
![]()
Поставил MPLABX 5.45 , а там mpasm пропал - вернулся на 5.25
Последнее время пользовался mpasm в PROTEUS в Proteus 8.10 - mpasm ver 5.76 в MPLABX 5.25 - mpasm ver 5.84 gputils - только 2016 года |
![]() |
![]() |
![]() |
#20 |
Senior Member
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,618
Вес репутации: 4306/129 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#21 |
Senior Member
Регистрация: 28.07.2015
Адрес: NA
Возраст: 56
Сообщений: 321
Вес репутации: 1495/38 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Для работы с голым ассемблером вполне подходит последняя адекватно поддерживающая свежие контроллеры
(в т.ч. PIC18F27Q43) работающая автономно версия MPASMX v5.87 (из среды MPLABX v5.35). Только при обычном запуске выскакивает окно с ошибкой (но на код это никак не влияет). Проблема решается до неприличия просто - делаем такой батник в котором прописываем путь к MPASM v5.87: ================================================== "C:\Program Files (x86)\Microchip\MPLABX\v5.35\mpasmx\mpasmx.exe" /S %1 ================================================== Ассоциируем файлы *.ASM или *.AS с этим батником и работаем. Если нужно чтобы при ассоциации была иконка от MPASM, заворачиваем этот батник "Advanced BAT to EXE Converter"-ом в который вставляем иконку и ассоциируем файлы *.ASM или *.AS с получившимся ЕХЕ-шником. Скорость ассемблирования - пара секунд на любом компьютере. |
![]() |
![]() |
![]() |
#22 | |
Senior Member
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#23 |
Senior Member
Регистрация: 28.07.2015
Адрес: NA
Возраст: 56
Сообщений: 321
Вес репутации: 1495/38 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Я знаю что можно прикрутить, он прикручен (точнее уже изначально интегрирован) и работает нормально.
Но мне, если исходник абсолютный, удобнее и быстрее так чем через IDE. Тем более, что редактор среды мне не очень нравится, предпочитаю Emeditor. У каждого свои предпочтения, поделился своим вариантом, может кому и будет польза, кто юзает ASM. |
![]() |
![]() |
![]() |
#24 |
Member
Регистрация: 28.10.2014
Адрес: Lithuania / Литва, Vilnius / Вильнюс
Возраст: 35
Сообщений: 80
Вес репутации: 100/24 ![]() ![]() |
![]()
Нехочу создавать новую тему с громким названием, спрошу здесь, ест возможность програмировать PIC32MK1024MCM100 асемблером? Если да, какие файлы надо включить в проект и какой шаблон программы? Шаблон – это, если взять аналогию с восмибитными пиками:
Include PIC_NAME.INC ;********************************** Установка конфигурасии железа ;********************************** Описание перемен ;********************************** org 0x00 … ;********************************** org 0x04 … retfie ;********************************** Сам код … ;********************************** END Masterok999, ваш метод попробовал, работает, спасибо.
__________________
Кто, если не мы, когда, если не сейчас? |
![]() |
![]() |
![]() |
#25 |
Senior Member
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
LKIJ/ЛДКО
есть возможность програмировать PIC32MK1024MCM100 асемблером? - есть. и какой шаблон программы? - обычно на asm пишут то, что сложно написать на СИ. В pic32m самый обычный ассемблер. Пример для pic32mx - для mz будет выглядеть схоже. Код:
/** * reset, power on reset, NMI interrupt */ .section .reset,code, keep .set noreorder .set nomips16 .align 4 .globl _reset .ent _reset _reset: /* init core status - preserve SR, NMI */ mfc0 t0, _CP0_STATUS and t0, t0, 0x00180000 mtc0 t0, _CP0_STATUS ehb /* clean NMI flag * todo: add NMI handling */ mfc0 a0, _CP0_STATUS ext s0, a0, 19, 1 ins a0, zero, 19, 1 mtc0 a0, _CP0_STATUS ehb /* call core * core also should load it's stack and global pointer * also NMI should be handled by core */ move a0, s0 la t0, core jr t0 ssnop .align 4 .end _reset .size _reset, .-_reset еще пример Код:
/** * gen exception handler * size 0x20 */ .section .gen_handler, code .set mips32r2 .set nomips16 .set noreorder .align 4 .globl _gen_exception .ent _gen_exception _gen_exception: mfc0 k0, _CP0_CAUSE andi k0, k0, _CP0_CAUSE_EXCCODE_MASK lui k1, %hi(exception_list) addu k1, k0, k1 lw k0, %lo(exception_list)(k1) jr k0 ssnop .end _gen_exception .size _gen_exception, . - _gen_exception |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
XC8 размер кода на разных контроллерах. | ivan_fd | Продукция MICROCHIP | 40 | 26.03.2019 16:32 |
Чем/как отлаживать код написаный на Си в WinAVR | Yokel | Микроконтроллеры других производителей | 49 | 30.09.2014 09:48 |
Присоветуйте тип и способ управления MOSFETом "верхнего" плеча | dr_Sash | Источники питания и силовая электроника | 37 | 08.09.2012 18:50 |
в симуляторе выходов на обработку прерываний на 1 больше, чем принято байт по УСАРТу | X_Max | Продукция MICROCHIP | 11 | 07.06.2012 11:18 |
Счётчик на PIC16а84 HELP с программой... | ChiperKO | Вопросы начинающих | 66 | 05.10.2009 18:41 |