Оружие будущего
http://future-weapons.ru/forum/

Компиляция прошивки на asm в MPLAB IDE 8.86
http://future-weapons.ru/forum/viewtopic.php?f=36&t=2348
Страница 1 из 2

Автор:  virus33 [ Пт июл 13, 2012 10:16 pm ]
Заголовок сообщения:  Компиляция прошивки на asm в MPLAB IDE 8.86

долго бился головой об стенку со своим жки, потом поняв что на форумах НИКТО НИЧЕГО ДАЖЕ НЕ ОТВЕТИТ начал пытаться сам изучать его и писать прошивку на старом добром ассемблере.
МК- PIC16f628A
состряпал я значит код в MPLAB IDE 8.86 (содрано с picbasic)
Код:
   list p=16F628
   #include <P16F628A.INC>
   __CONFIG _LVP_OFF & _MCLRE_OFF & _XT_OSC & _BODEN_OFF & _CP_OFF & _WDT_OFF & _PWRTE_ON
#DEFINE OSC 4                     ;Используеться кварц 4 мегагерц
#DEFINE LCD_DREG PORTB
#DEFINE LCD_DBIT 4
#DEFINE LCD_RSREG PORTB
#DEFINE LCD_RSBIT 3
#DEFINE LCD_EREG PORTB
#DEFINE LCD_EBIT 0
#DEFINE LCD_BITS 4
#DEFINE LCD_LINES 2
#DEFINE LCD_COMMANDUS 2000       ;Инициализация дисплея
#DEFINE LCD_DATAUS 50            ;Инициализация дисплея

main:

   LCD_OUT $FE,1,"hello"
   pause 1000
   LCDO_UT $FE,1,"world"
   pause 500
   goto main
END


и в ответ получаю следующее:

Код:
----------------------------------------------------------------------
Release build of project `D:\TEST\TEST1.disposable_mcp' started.
Language tool versions: MPASMWIN.exe v5.46, mplink.exe v4.44, mplib.exe v4.44
Fri Jul 13 22:07:04 2012
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F628A "TEST1.asm" /l"TEST1.lst" /e"TEST1.err"
Warning[207] D:\TEST\TEST1.ASM 18 : Found label after column 1. (LCD_OUT)
Error[108]   D:\TEST\TEST1.ASM 18 : Illegal character ($)
Warning[207] D:\TEST\TEST1.ASM 19 : Found label after column 1. (pause)
Error[108]   D:\TEST\TEST1.ASM 19 : Illegal character (1)
Warning[207] D:\TEST\TEST1.ASM 20 : Found label after column 1. (LCDO_UT)
Error[108]   D:\TEST\TEST1.ASM 20 : Illegal character ($)
Warning[207] D:\TEST\TEST1.ASM 21 : Found label after column 1. (pause)
Error[108]   D:\TEST\TEST1.ASM 21 : Illegal character (5)
Warning[205] D:\TEST\TEST1.ASM 23 : Found directive in column 1. (END)
Halting build on first failure as requested.
----------------------------------------------------------------------
Release build of project `D:\TEST\TEST1.disposable_mcp' failed.
Language tool versions: MPASMWIN.exe v5.46, mplink.exe v4.44, mplib.exe v4.44
Fri Jul 13 22:07:09 2012
----------------------------------------------------------------------
BUILD FAILED


Т.Е. компилятор распознал даже указание паузы как обыкновенную метку.
Подумав на собственную криворукость попробовал скомпилить уже готовую прошивку, валявшуюся на компе(тоже для пика, от терморегулятора). Там вообще на строчку по 100500 ошибок писалось(не буду их приводить т.к. смысла нет)
Кхм, и как тогда надо компилить код на ассемблере в MPLAB IDE?
В настройках среды ничего не менял, указал только свой тип мк.

Автор:  Axon [ Пт июл 13, 2012 10:22 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

:lol: сделал мой день

Автор:  virus33 [ Пт июл 13, 2012 10:34 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

вы прискорбны ребята :facepalm:

Конечно было бы круто если б кто то помог научится мне программить для мк(не за бесплатно канешн), но учитывая нынешнюю отзывчивость народа - особенно сдесь - это что то из грани фантастики....

Автор:  Axon [ Пт июл 13, 2012 10:35 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

Ты сам хотя бы вникни что ты пытаешься сделать.

Автор:  ПУЛЕМЕТ [ Пт июл 13, 2012 10:50 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

Цитата:
вы прискорбны ребята

Конечно было бы круто если б кто то помог научится мне программить для мк(не за бесплатно канешн), но учитывая нынешнюю отзывчивость народа - особенно сдесь - это что то из грани фантастики....

родной кто тя учить будет? сам ищи и учись.

Автор:  virus33 [ Пт июл 13, 2012 10:56 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

вот это и пытаюсь сделать.
Я долго курил литературу по mpasm, MPLAB IDE, ассемблеру, курил дш по моему мк и дисплею, смотрел примеры. Но! в примерах часто употребляются для вывода такие комманды LCD_OUT LCD_SND_CHR CHR_SND и тому подобные, когда в тоже время в остальной литературе этих комманд не находил вообще, а внятного описания откуда они беруться и подавно.

покажешь где мои ошибки и как надо правильно писать будет круто

Автор:  ПУЛЕМЕТ [ Пт июл 13, 2012 10:58 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

лол я и сам начинающий же. пока готовлюсь программатор пилить

Автор:  Axon [ Пт июл 13, 2012 11:41 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

Цитата:
когда в тоже время в остальной литературе этих комманд не находил вообще

Вот тебе подсказка. Ты думаешь в ассемблере есть отдельные команды для вывода в дисплей?

Автор:  virus33 [ Сб июл 14, 2012 12:04 am ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

ПУЛЕМЕТ писал(а):
лол я и сам начинающий же. пока готовлюсь программатор пилить


могу кинуть рабочую схемку программатора для пиков, шьет 100%

Axon писал(а):
Цитата:
когда в тоже время в остальной литературе этих комманд не находил вообще

Вот тебе подсказка. Ты думаешь в ассемблере есть отдельные команды для вывода в дисплей?


нет канешн, доп команды задаються в библиотеке к тому или иному девайсу, которые затем нужно инклудить в программу

ладно, тот код я не понимаю, но вот этот(мигалка светодиодом) он не компилит. Расписал коменнтариями(могу и по подробнее)

Код:
;--- Шапка программы ---
   list p=16f628a
#include <PIC16F628A.INC>
   __CONFIG _LVP_OFF & _MCLRE_OFF & _XT_OSC & _BODEN_OFF & _CP_OFF & _WDT_OFF & _PWRTE_ON
#define PORTB, 0
CBLOCK 0x20
ENDC
   Const1 equ .1
   Const2 equ .5
   TRISB  equ 06h              ;(1-й банк)
   PORTB  equ 06h              ;(0-й банк)
   Status equ 03h
   Z      equ 02h      

;--- Тело программы ---
   org 0h
                                ; можно выполнить 3 команды
                                ; основной программы
goto  start
   org 4h
                                ; подпрограмма обработки прерываний
start                           ; продолж. основной программы
   bcf PORTB, 0    ; устанавливаем начальное состояние
                    ; (уровень, который установится на RB0
                    ; после переключения направления работы
                    ; на выход, 0 - низкий уровень, 1 - высокий
   bsf Status, RB0 ; переходим в первый банк (нужный
                    ; нам регистр TRISB находится там), для чего
                    ; устанавливаем в 1 бит RB0 регистра Status
   bcf TRISB, 0    ; устанавливаем в 0 нулевой бит регистра TRISB
                    ; (устанавливаем направление работы RB0 - на выход)
   bcf Status, RB0 ; возвращаемся в нулевой банк
   end


в ответе видим:
Код:
Error[113]   D:\TEST\TEST.ASM 27 : Symbol not previously defined (RB0)
Error[113]   D:\TEST\TEST.ASM 32 : Symbol not previously defined (RB0)
когда в начале программы указана строка #define PORTB, 0 а так же подключена библиотека.
На асфальте лыжи не едут...

Автор:  Axon [ Сб июл 14, 2012 12:45 am ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

Цитата:
ладно, тот код я не понимаю

Хули ты тогда хочешь, если ты даже СИ НЕ РАЗЛИЧАЕШЬ С АССЕМБЛЕРОМ?
Цитата:
Symbol not previously defined (RB0)

Константа не была определена. Что ты под этим RB0 имел ввиду?

Автор:  virus33 [ Сб июл 14, 2012 1:15 am ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

да убете меня
rb0 -выход 6й ноги на порту B.
Добавил
чет меня смущает мой компилятор... Открыл опять код, ничего не меня нажал f10(компил), дабы снова глянуть лог. BUILD SUCCESS. Эммм... Накурка?

Автор:  bomber-2 [ Сб июл 14, 2012 5:30 am ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

А собственно дался вам этот ассемблер? Пили на си в кодвижн самый смак, у мня мега 48, дык в нее даже v usb почти запихнул. Основную на си, участки критичные к производительности на asm думаю так и больше никак, ибо асм перепиливать надо больше времени

Автор:  virus33 [ Вс июл 15, 2012 6:07 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

я дятелко :facepalm: пихать бейсик в ассемблер :shock: :shock: :shock:

Но компилятор продолжает радовать. с самой среды MPLAB компил практически не работает, зачастую залипает наглухо и непонятно что он сделал. Если пускать батником через cmd то тогда результат гарантирован(ессно если код без ошибок).
Вот че терь с этим делать №и%!я не понятно. При открытии проэкта в MPLAB не появляется ни одного окошка, компилятор со среды не пашет, компилит криво... С каким бубном плясать, не подскажете?

Кодвижн вроде для AVR'ок, насколько я понимаю...

Автор:  Arkanolog [ Вс июл 15, 2012 6:51 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

У мну пока наиболее стабильная связка получилась в виде CodeVision + avrstudio5 + VS2010 + программатор AVR910 :mrgreen: как мну хотеть ленепопячиватель...
ЗЫ: это не бейсик, это риальне Си! писали же)

Автор:  virus33 [ Вс июл 15, 2012 7:02 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

KILL ME PLEASE!!!!!!!!

Хе, мну круче)))
лень было плату разводить так программатор (jdm) на проводках собрал, вот как!

Автор:  Arkanolog [ Вс июл 15, 2012 9:30 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

Цитата:
KILL ME PLEASE!!!!!!!!

Да пожалуйста: проводковый jdm это какбэ не для avr, для avr его аналогом будут "пять проводков".
Хотя ты ни разу не назвал МК, так что может быть и правильно.

Автор:  virus33 [ Пн июл 16, 2012 12:13 am ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

Че эт ниразу
Цитата:
МК- PIC16f628A

это из первого поста=)))

Автор:  Arkanolog [ Пн июл 16, 2012 12:24 am ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

А, ну да, для пиков норм должен быть

Автор:  Llevellyn [ Пн июл 16, 2012 10:24 am ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

virus33, открываешь даташит на мк и смотришь, какие команды ассемблера он вообще понимает! И из этих команд составляешь прогу! Никаких команд типа pause или инициализации дисплея там нет и не может быть! Никакие подключаемые библиотеки на компе не расширят список команд для ассемблера на мк!

Автор:  virus33 [ Пн июл 16, 2012 1:07 pm ]
Заголовок сообщения:  Re: Компиляция прошивки на asm в MPLAB IDE 8.86

Понимаю. Просто по незнанию жестко тупим :D
кхм, вопрос не в тему - а что делает комманда goto $+1 ? Пример
Код:
PULSE_E:
      BSF E
      GOTO $ + 1
      GOTO $ + 1
      GOTO $ + 1
      BCF E
      LOADF MS_TIME, .1
      CALL MS_DELAY
      RETURN

PULSE_E - метка
BSF E, BCF E - установка значения на порту Е
CALL MS_DELAY - перейти к метке MS_DELAY
LOADF MS_TIME, .1 - загрузить MS_TIME, .1
RETURN - возврат, повторение etc.
а зачем 3 раза вызывается GOTO $ + 1?

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/