Решено Как создать *.hex из ассеблерового файла в MPLAB (для PIC) ?

  • Halka
1
H
Halka
  • 5 Июн 2008
1
Ребята, ламерский вопрос. Только начал разбираться с PIC контроллерами. Есть файл ассемблеровский, обыкновенный текстовый формат (прикреплен, Stepper - только в ZIP, напрямую не хочет). Его надо перебросить в *.hex чтобы контроллер его понимал. Для этого использую MPLAB. Правда признаюсь честно - сильно не разбирался в MPLAB. Так так вот - в MPLAB захожу в Configure -> Select device -> PIC16F627A.
Выбрали девайс. Далее создаю новый файл. Туда закидываю текстовый файл с прогой (кодами ассемблеровскими, смотри "Stepper"), сохраняю. Потом File -> Export - экспортирую его в Spetter.hex (прикреплен). Но я так понимаю он не экспортируется как надо. Когда я его программатором открываю (использую RCD prog  ссылка скрыта от публикации ), то вижу пустую таблицу (прикреплен "Table"). Почему ? Что я делаю неправильно ?

Files.zip
 
2
P
poruchik
  • 5 Июн 2008
2
Halka, из ASMа hex делает MPASM, должен вроде входить в MPLAB,
сам я с ним не работаю, но если надо могу скомпилировать :)
 

Информация Неисправность Прошивки Схемы Справочники Маркировка Корпуса Сокращения и аббревиатуры Частые вопросы Полезные ссылки

  • Справочная информация

    Этот блок для тех, кто впервые попал на страницы нашего сайта. В форуме рассмотрены различные вопросы возникающие при ремонте бытовой и промышленной аппаратуры. Всю предоставленную информацию можно разбить на несколько пунктов:

    • Диагностика
    • Определение неисправности
    • Выбор метода ремонта
    • Поиск запчастей
    • Устранение дефекта
    • Настройка

    Учитывайте, что некоторые неисправности являются не причиной, а следствием другой неисправности, либо не правильной настройки. Подробную информацию Вы найдете в соответствующих разделах.

  • Неисправности

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

    • не включается
    • не корректно работает какой-то узел (блок)
    • периодически (иногда) что-то происходит

    Если у Вас есть свой вопрос по определению дефекта, способу его устранения, либо поиску и замене запчастей, Вы должны создать свою, новую тему в соответствующем разделе.
  • О прошивках

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

    На сайте существуют разделы с прошивками (дампами памяти) для микросхем, либо для обновления ПО через интерфейсы типа USB.


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

    Начинающие ремонтники часто ищут принципиальные схемы, схемы соединений, пользовательские и сервисные инструкции. Это могут быть как отдельные платы (блоки питания, основные платы, панели), так и полные Service Manual-ы. На сайте они размещены в специально отведенных разделах и доступны к скачиванию гостям, либо после создания аккаунта:


    Внимательно читайте описание. Перед запросом схемы или прошивки произведите поиск по форуму, возможно она уже есть в архивах. Поиск доступен после создания аккаунта.
  • Справочники

    На сайте Вы можете скачать справочную литературу по электронным компонентам (справочники, таблицу аналогов, SMD-кодировку элементов, и тд.).


    Информация размещена в каталогах, файловых архивах, и отдельных темах, в зависимости от типов элементов.

  • Marking (маркировка) - обозначение на электронных компонентах

    Современная элементная база стремится к миниатюрным размерам. Места на корпусе для нанесения маркировки не хватает. Поэтому, производители их маркируют СМД-кодами.


  • Package (корпус) - вид корпуса электронного компонента

    При создании запросов в определении точного названия (партномера) компонента, необходимо указывать не только его маркировку, но и тип корпуса. Наиболее распостранены:

    • DIP (Dual In Package) – корпус с двухрядным расположением контактов для монтажа в отверстия
    • SOT-89 - пластковый корпус для поверхностного монтажа
    • SOT-23 - миниатюрный пластиковый корпус для поверхностного монтажа
    • TO-220 - тип корпуса для монтажа (пайки) в отверстия
    • SOP (SOIC, SO) - миниатюрные корпуса для поверхностного монтажа (SMD)
    • TSOP (Thin Small Outline Package) – тонкий корпус с уменьшенным расстоянием между выводами
    • BGA (Ball Grid Array) - корпус для монтажа выводов на шарики из припоя

  • Краткие сокращения

    При подаче информации, на форуме принято использование сокращений и аббревиатур, например:

      Сокращение   Краткое описание
    LEDLight Emitting Diode - Светодиод (Светоизлучающий диод)
    MOSFETMetal Oxide Semiconductor Field Effect Transistor - Полевой транзистор с МОП структурой затвора
    EEPROMElectrically Erasable Programmable Read-Only Memory - Электрически стираемая память
    eMMCembedded Multimedia Memory Card - Встроенная мультимедийная карта памяти
    LCDLiquid Crystal Display - Жидкокристаллический дисплей (экран)
    SCLSerial Clock - Шина интерфейса I2C для передачи тактового сигнала
    SDASerial Data - Шина интерфейса I2C для обмена данными
    ICSPIn-Circuit Serial Programming – Протокол для внутрисхемного последовательного программирования
    IIC, I2CInter-Integrated Circuit - Двухпроводный интерфейс обмена данными между микросхемами
    PCBPrinted Circuit Board - Печатная плата
    PWMPulse Width Modulation - Широтно-импульсная модуляция
    SPISerial Peripheral Interface Protocol - Протокол последовательного периферийного интерфейса
    USBUniversal Serial Bus - Универсальная последовательная шина
    DMADirect Memory Access - Модуль для считывания и записи RAM без задействования процессора
    ACAlternating Current - Переменный ток
    DCDirect Current - Постоянный ток
    FMFrequency Modulation - Частотная модуляция (ЧМ)
    AFCAutomatic Frequency Control - Автоматическое управление частотой

  • Частые вопросы

    Как мне дополнить свой вопрос по теме Как создать *.hex из ассеблерового файла в MPLAB (для PIC) ??

    После регистрации аккаунта на сайте Вы сможете опубликовать свой вопрос или отвечать в существующих темах. Участие абсолютно бесплатное.

    Кто отвечает в форуме на вопросы ?

    Ответ в тему Как создать *.hex из ассеблерового файла в MPLAB (для PIC) ? как и все другие советы публикуются всем сообществом. Большинство участников это профессиональные мастера по ремонту и специалисты в области электроники.

    Как найти нужную информацию по форуму ?

    Возможность поиска по всему сайту и файловому архиву появится после регистрации. В верхнем правом углу будет отображаться форма поиска по сайту.

    По каким еще маркам можно спросить ?

    По любым. Наиболее частые ответы по популярным брэндам - LG, Samsung, Philips, Toshiba, Sony, Panasonic, Xiaomi, Sharp, JVC, DEXP, TCL, Hisense, и многие другие в том числе китайские модели.

    Какие еще файлы я смогу здесь скачать ?

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


  • Здесь просто полезные ссылки для мастеров. Ссылки периодически обновляемые, в зависимости от востребованности тем.



3
V
Vasil_
Забанен
  • 5 Июн 2008
3
На сколько помнится, нужно создать проект, подключить к нему *.asm файл, а затем его нужно компилировать, что нибудь вроде команды make или compile , указав перед этим выходной формат. Но MPLAB_ом пользовался давно, могу и ошибиться, как бы- общая идея.
 
4
H
Halka
  • 5 Июн 2008
4
Спвсибо ребята - первая ошибка налицо - нужно создать проект - не был создан - просто с файлом напряму хотел поиграть. Буду дальше пробовать!
Также с МПАСОМ попробую - уже инсталировал. :)
О результатах доложу!!! :)
 
5
S
Satrap
  • 5 Июн 2008
5
Там есть отдельно компилятор ...\MPASM Suite\MPASMWIN.exe

Можно его пользовать, если есть готовый ассемблерный файл и ничего ваять не нужно.
 
6
H
Halka
  • 5 Июн 2008
6
MPASM не всегда хочет работать напрямую - доже если есть готовый ассемблеровский файл.
А вот с помощью MPLAB мне удалось скомпилировать и получить *.hex файл.
Итак - алгоритм шаг за шагом (в случае если есть готовый ассемблеровский файл):
1) Запускаем MPLAB (в этом случае v.8.10) и идем в Configure -> Select device -> выбираем девайс (например PIC16F628).
2) Создаем новый проект: Project -> Project Wizard. Далее визард ведет: выбираем тип контроллера...и т.д. Важный момент тут: для успешного завершения компилирования нужно 2 типа файлов: один ассемблеровский (ну например Proga.asm - текстовый файл с кодами (текстом программы) сохраненный в например Блокноте с расширением asm, File -> Save As - пишем Proga.asm, тип файла берем не txt а All files - cохраняем), другой фай с расширением *.lkr - например если мы хотим программировать PIC16F628, то файл будет называться 16F628.lkr, располагаются эти файлы обычно: C:\Program Files\Microchip\MPASM Suite\LKR\18F8722.lkr - визард заведет. Эти два файла нужно "Add" в прект - и далее визардом Next -до окончания. Для файла lkr путь указан, ну а ассемблеровский файл помещайте где угодно - только укажите визарду путь гда он лежит. Все - теперь проект готов.
Ну а далее самое простое - нажать кнопочку "Build All" или Project ->Build Options - > Project - укажите где сохранять скомпилированый файл (по умалчанию в папке где находится проект) и все - если нет ошибок - файл Ваш! Далее программером загоняем в чип - и дело в шляпе.
У меня получилось успешно. Правдв дебуггер нашел некоторые ошибки - но он указывает в какой строчке - исправляем и дальше компилируем.

Ксати - тут мануал по MPLAB (версия 7 - но с фантазией и для 8.10 подойдет ):  ссылка скрыта от публикации 
Решение проблемы описанной тут начинается на странице 20 файла *.pdf

Всем спасибо и дальнейших успехов!!!
Тему отмечаю как решенную. :)
 
7
V
Vasil_
Забанен
  • 5 Июн 2008
7
Satrap сказал(а):
Там есть отдельно компилятор ...\MPASM Suite\MPASMWIN.exe

Можно его пользовать, если есть готовый ассемблерный файл и ничего ваять не нужно.
Не, ну если есть в руках молоток, а все вокруг кажется гвоздями.. :)
То почему бы и не применить МПЛАБ ?, в будущем, это может и пригодится. Тем более, что МПАСМ вызывается из него нажатием всего одной кнопки ;)
 
8
P
pavel-pervomaysk
Команда форума
  • 5 Июн 2008
8
Halka, вопрос тут не ламерский ! Ламерский вопрос - просьба о шаре или халявной информации :p
Все мы учимся чему то ......
 
9
H
Halka
  • 5 Июн 2008
9
Ну ладно...вопрос не ламерский - пусть будет так. Чайниковский - так наверное будет правильно. :) Просто нужно было по возможности побыстрее скомпилировать файл а программированием я токлм не занимаюсь - скажем так: с ассемблером столкнулся впервые.
Но побыстрее не получилось - пришлось мануал читать и раскумаривать....
Ну ничего - разобрались. Правда иногда некоторые люди любят махать после боя кулаками ;)

А учится это хорошо и интересно - но вот суток не хватает....почему-то только 24 часа... :)
 
10
P
PAYALNIK
  • 27 Июн 2008
10
Можешь в асме так же прописать #include pic16xxx.ink ,чтобы не тыкать в проект каждый раз .ink файлег.МПЛАБ его сам находит и приаттачивает.
 
11
А
Александр 76
  • 23 Июн 2022
11
Приветствую вас господа программисты микросхем!. Я зарегистрировался здесь с целью задать вопрос по программе MPLAB. Я установил на ноутбук с Win8 версию v8.92. По описанию на каком то сайте пробую компилировать в ней простенькую проверенную программу на Ассемблере. Файл компилируется но операционка Win8 его не показывает. Точнее она скрывает все файлы в выходной папке компиляции. Пробую точно также с той же версией делать то же самое на компьютере с win7 и все прекрасно получается. Результат виден и доступен. Я пытался изменить свойства папки что бы система показывала скрытые системные папки это не помогло. Файлы результата в программе видны если нажать кнопку "Открыть Проект" но их оттуда не вытащить. Что с этим можно сделать?
 
12
K
Konstantin_18
  • 23 Июн 2022
12
Александр 76, Для современной ОС поставь современную среду, а не MPLAB.

Например
 ссылка скрыта от публикации