Flowcode не смог ассемблировать файл asm из за следующих ошибок s
GBAinline.h: 139: ошибка: невозможное ограничение регистра в asm (строка ifdef - 138)
И вот как я пытался это сделать:
Тем не менее, это не сработает. Это эмулятор gba, о котором никто не спрашивает, VBA, и это часть GBAinline.h. Этот ассемблер уже сводит меня с ума.
Редактировать: Вышеупомянутая проблема была решена нормально, я просто не обращал внимания на то, какой компилятор я использовал. Но теперь я получаю эту ошибку в этом фрагменте кода из файла заголовка, я поместил его в pastebin, чтобы здесь было немного аккуратнее . (Извините, если это не так, я могу изменить это позже)
Это дает такую ошибку:
И так далее для остальных строк.
Исходный код мне кажется нормальным. На каком копилере и платформе вы работаете, например что выводит gcc -v ? Вам необходимо иметь дело со сборкой x86 и встроенными ограничениями сборки gcc, чтобы полностью понять это. код.
Спасибо за ответ, Маки, мой gcc - это arm-linux, может в этом и проблема, этот код разработан для x86, а я этого не заметил. Также спасибо за ссылку, я ее хорошенько посмотрю.
Итак, я использовал компилятор x86, и он отлично сработал! Спасибо, Маки, я не обратил на это внимания.
1 ответ
Эта встроенная сборка содержит ошибки:
- Он использует многострочные строки, которые эффективно объединяются. Без \n все отображается в одной строке. принимает операторы, разделенные точками с запятой, имеет здесь все значение . некоторые могут нет.
- Он указывает ту же переменную, что и ограничение ввода / вывода, вместо использования "+r"(value) , как обычно предлагается для этой ситуации.
Не видя остальной части кода, не совсем понятно, почему оператор встроенного ассемблера выглядит именно так; Лично я предлагаю написать это так:
Потому что нет необходимости делать сам расчет в сборке. Приведение uintptr_t (от ) также делает этот 32/64-битный агностик.
Изменить:
Если вам нужен другой процессор, но x86 / x64, тогда он, очевидно, должен быть другим . Для ARM ( не Thumb2) это будет:
Так как там ведет себя инструкция поворота.
Изменить (добавить ссылку):
Что касается встроенного x86
Следовательно, эта встроенная сборка не нужна.
@Luis: sw $3,0(r3) выглядит как инструкция MIPS, а не x86 или ARM. Вам необходимо правильно настроить среду .
Если Ваша блок-схема содержит код C, пожалуйста проверьте это тщательно. Если Ваша блок-схема не содержит C-кода, или Вы полностью проверили код, войдите в контакт с Технической поддержкой
Закорючки переводятся как;
"C:\PROGRA~2\Flowcode" не является внутренней или внешней командой, исполняемой программой или пакетным файлом
Была такая же проблема. Решил ее так. Скопировал папку Tools из C:\Program Files (x86)\Flowcode(AVR)\v5\Tools в корень диска С . И в опциях компилятора Flowcode Build-Compiler Options соответственно изменил путь для запуска командных файлов . На вкладке Compiler поставил C:\Tools\MX_bats\avra.bat , а на вкладке Linker/Assembler -C:\Tools\MX_bats\avrb.bat . Параметры не менял
Справочники
На сайте Вы можете скачать справочную литературу по электронным компонентам (справочники, таблицу аналогов, SMD-кодировку элементов, и тд.).
Package (корпус) - вид корпуса электронного компонента
При создании запросов в определении точного названия (партномера) компонента, необходимо указывать не только его маркировку, но и тип корпуса. Наиболее распостранены:
- DIP (Dual In Package) – корпус с двухрядным расположением контактов для монтажа в отверстия
- SOT-89 - пластковый корпус для поверхностного монтажа
- SOT-23 - миниатюрный пластиковый корпус для поверхностного монтажа
- TO-220 - тип корпуса для монтажа (пайки) в отверстия
- SOP (SOIC, SO) - миниатюрные корпуса для поверхностного монтажа (SMD)
- TSOP (Thin Small Outline Package) – тонкий корпус с уменьшенным расстоянием между выводами
- BGA (Ball Grid Array) - корпус для монтажа выводов на шарики из припоя
О прошивках
Большинство современной аппаратуры представляет из себя подобие программно-аппаратного комплекса. То есть, основной процессор управляет другими устройствами по программе, которая может находиться как в самом чипе процессора, так и в отдельных микросхемах памяти.
На сайте существуют разделы с прошивками (дампами памяти) для микросхем, либо для обновления ПО через интерфейсы типа USB.
Package (корпус) - вид корпуса электронного компонента
При создании запросов в определении точного названия (партномера) компонента, необходимо указывать не только его маркировку, но и тип корпуса. Наиболее распостранены:
- DIP (Dual In Package) – корпус с двухрядным расположением контактов для монтажа в отверстия
- SOT-89 - пластковый корпус для поверхностного монтажа
- SOT-23 - миниатюрный пластиковый корпус для поверхностного монтажа
- TO-220 - тип корпуса для монтажа (пайки) в отверстия
- SOP (SOIC, SO) - миниатюрные корпуса для поверхностного монтажа (SMD)
- TSOP (Thin Small Outline Package) – тонкий корпус с уменьшенным расстоянием между выводами
- BGA (Ball Grid Array) - корпус для монтажа выводов на шарики из припоя
Справочники
На сайте Вы можете скачать справочную литературу по электронным компонентам (справочники, таблицу аналогов, SMD-кодировку элементов, и тд.).
Схемы аппаратуры
Начинающие ремонтники часто ищут принципиальные схемы, схемы соединений, пользовательские и сервисные инструкции. Это могут быть как отдельные платы (блоки питания, основные платы, панели), так и полные Service Manual-ы. На сайте они размещены в специально отведенных разделах и доступны к скачиванию гостям, либо после создания аккаунта:
Информация Неисправность Прошивки Схемы Справочники Маркировка Корпуса Сокращения и аббревиатуры Частые вопросы Полезные ссылки
Краткие сокращения
При подаче информации, на форуме принято использование сокращений и аббревиатур, например:
Сокращение | Краткое описание |
---|---|
LED | Light Emitting Diode - Светодиод (Светоизлучающий диод) |
MOSFET | Metal Oxide Semiconductor Field Effect Transistor - Полевой транзистор с МОП структурой затвора |
EEPROM | Electrically Erasable Programmable Read-Only Memory - Электрически стираемая память |
eMMC | embedded Multimedia Memory Card - Встроенная мультимедийная карта памяти |
LCD | Liquid Crystal Display - Жидкокристаллический дисплей (экран) |
SCL | Serial Clock - Шина интерфейса I2C для передачи тактового сигнала |
SDA | Serial Data - Шина интерфейса I2C для обмена данными |
ICSP | In-Circuit Serial Programming – Протокол для внутрисхемного последовательного программирования |
IIC, I2C | Inter-Integrated Circuit - Двухпроводный интерфейс обмена данными между микросхемами |
PCB | Printed Circuit Board - Печатная плата |
PWM | Pulse Width Modulation - Широтно-импульсная модуляция |
SPI | Serial Peripheral Interface Protocol - Протокол последовательного периферийного интерфейса |
USB | Universal Serial Bus - Универсальная последовательная шина |
DMA | Direct Memory Access - Модуль для считывания и записи RAM без задействования процессора |
AC | Alternating Current - Переменный ток |
DC | Direct Current - Постоянный ток |
FM | Frequency Modulation - Частотная модуляция (ЧМ) |
AFC | Automatic Frequency Control - Автоматическое управление частотой |
Marking (маркировка) - обозначение на электронных компонентах
Современная элементная база стремится к миниатюрным размерам. Места на корпусе для нанесения маркировки не хватает. Поэтому, производители их маркируют СМД-кодами.
Схемы аппаратуры
Начинающие ремонтники часто ищут принципиальные схемы, схемы соединений, пользовательские и сервисные инструкции. Это могут быть как отдельные платы (блоки питания, основные платы, панели), так и полные Service Manual-ы. На сайте они размещены в специально отведенных разделах и доступны к скачиванию гостям, либо после создания аккаунта:
Неисправности
Все неисправности по их проявлению можно разделить на два вида - стабильные и периодические. Наиболее часто рассматриваются следующие:
- не включается
- не корректно работает какой-то узел (блок)
- периодически (иногда) что-то происходит
О прошивках
Большинство современной аппаратуры представляет из себя подобие программно-аппаратного комплекса. То есть, основной процессор управляет другими устройствами по программе, которая может находиться как в самом чипе процессора, так и в отдельных микросхемах памяти.
На сайте существуют разделы с прошивками (дампами памяти) для микросхем, либо для обновления ПО через интерфейсы типа USB.
Справочная информация
Этот блок для тех, кто впервые попал на страницы нашего сайта. В форуме рассмотрены различные вопросы возникающие при ремонте бытовой и промышленной аппаратуры. Всю предоставленную информацию можно разбить на несколько пунктов:
- Диагностика
- Определение неисправности
- Выбор метода ремонта
- Поиск запчастей
- Устранение дефекта
- Настройка
Справочная информация
Этот блок для тех, кто впервые попал на страницы нашего сайта. В форуме рассмотрены различные вопросы возникающие при ремонте бытовой и промышленной аппаратуры. Всю предоставленную информацию можно разбить на несколько пунктов:
- Диагностика
- Определение неисправности
- Выбор метода ремонта
- Поиск запчастей
- Устранение дефекта
- Настройка
Частые вопросы
После регистрации аккаунта на сайте Вы сможете опубликовать свой вопрос или отвечать в существующих темах. Участие абсолютно бесплатное.
Кто отвечает в форуме на вопросы ?
Ответ в тему Открыл для себя Flowcode. как и все другие советы публикуются всем сообществом. Большинство участников это профессиональные мастера по ремонту и специалисты в области электроники.
Как найти нужную информацию по форуму ?
Возможность поиска по всему сайту и файловому архиву появится после регистрации. В верхнем правом углу будет отображаться форма поиска по сайту.
По каким еще маркам можно спросить ?
По любым. Наиболее частые ответы по популярным брэндам - LG, Samsung, Philips, Toshiba, Sony, Panasonic, Xiaomi, Sharp, JVC, DEXP, TCL, Hisense, и многие другие в том числе китайские модели.
Какие еще файлы я смогу здесь скачать ?
При активном участии в форуме Вам будут доступны дополнительные файлы и разделы, которые не отображаются гостям - схемы, прошивки, справочники, методы и секреты ремонта, типовые неисправности, сервисная информация.
Информация Неисправность Прошивки Схемы Справочники Маркировка Корпуса Сокращения и аббревиатуры Частые вопросы Полезные ссылки
Полезные ссылки
Здесь просто полезные ссылки для мастеров. Ссылки периодически обновляемые, в зависимости от востребованности тем.
Я знаком с Flowcodе, знаю как плюсы так и минусы этой программы для начинающих. Вообщем пока С не знаешь это вариант, а когда понимаешь что код кривой генерит программа и к примеру были задумки которые на Фловкоде не реализуемы оказались. Вот так я ушел на CCS C.
З/Ы: А эти простые примеры выложенные выше, на С не сложнее сделать.
Скачал, попробовал, вроде занятно. Вылеченный Flowcodе апгрейдится с оф. сайта. Но, как говорится, дорога ложка к обеду. С МикроСи Про уже не пересядешь.
Я начал изучение с Arduino так как разбирался в программировании. Сейчас Arduino стал очень популярным - есть библиотеки для различных устройств, доступ к ресурсам микроконтроллера унифицирован(программа может работать на любом мк семейства AVR). Слышал что даже для PIC появилась среда программирования подобная Arduino и способная загружать проекты Arduino.
На предмет Флоокоде тусуюсь на русскоязычном форуме, что выше ссылку давал. Вот, путем проб и ошибок, вроде работает.
Блок индикации для БП, отображает 0-30В с шагом в 60мВ и 0-10А с шагом в 20мА (0-5В по входу АЦП )
В скором времени добавлю еще отображение предустановки по ограничению тока.
Сам никогда не занимался програмированием, хотя повторял готовые конструкции или заказывал программы для ПИКов и АТМЕЛов.
Пару недель назад, случайно натолкнулся на видео, где мужик толково рассказывал, как помигать светодиодами с используя Flowcode.
Скачал прогу, начал разбираться. Как оказалось, с практически нулевыми знаниями Си и Асемблера можно писать достаточно сложные проги.
Если никогда не занимался програмvированием и имеешь практически нулевые знания в Си и Асемблере, но имеешь понятие о том, что такое алгоритм, лучше начинать не с Фловкода, а с Arduino ( ссылка скрыта от публикации / )!
Фловкод оперирует на уровне функциональных модулей, и поэтому хорош для оперативной оценки концепции программы, то есть оценки выполнения ее алгоритма.
Arduino же оперирует на уровне операторов упрощенного языка программирования (весьма похожего на СИ), и поэтому ближе к реальной оценке программы на уровне работы самого контроллера.
На практике это означает, что освоив Фловкод, ты сможешь построить программу (дом) только из отдельных функционально законченных модулей, модуля комнаты, модуля кухни, модуля крыши, модуля туалета и тп. Модулей, в которых уже все есть, есть стены c окнами и дверями, есть потолок с определенной высотой, и пол с определенной площадью, и ты мало что сможешь изменить в них.
Освоив Arduino ты сможешь построить программу (дом) уже из отдельных панелей. При этом ты сможешь располагать эти панели по своему усмотрению, создавая свои собственные функционально законченные модули.
Кроме того, система Arduino имеет огромную базу функционального "железа", которая продается по всему миру, и которая избавит тебя от изготовления макетов для прогона программ в железе.
Но даже если и не захочется тратится на железо, можно программы прогонять и отлаживать в Proteuse.
Один из передовых графических языков программирования для микроконтроллеров.
Зачастую очень удобно написать и отладить код в одной программе, а запрограммировать микросхему – в другой. Если нет необходимости «прошивать» по сотне контроллеров в день, если все выводы микросхемы используются «на выход» (т.е. микроконтроллер используется в качестве устройства управления), то программа FlowCode будет самым наилучшим вариантом. Она обладает не требующим разъяснений графическим интерфейсом, что позволяет человеку без опыта в программировании создавать свои собственные комплексные электронные системы буквально за несколько минут. Среда разработки не похожа на другие, создание программ для микроконтроллеров происходит путём простых перетаскиваний особых «кубиков-иконок» на блок-схеме. Открытая архитектура Flowcode позволяет просматривать программный код, полученный из блок-схем (С++ и Ассемблер), и оставлять свои комментарии. Поддерживаются интерфейсы SPI, I2C, RS232, Zigbee, Bluetooth, IrDA, LIN, CAN, TCP/IP, USB, Webserver, GPS и RFID. В программном пакете есть инструмент для рисования передней панели создаваемого прибора и составные элементы для кнопок, клавиатур, выключателей, LED, LCD, сенсоров, внутренней EEPROM, 7-сегментных дисплеев.
Существует 4 варианта программы: для контроллеров AVR, PICmicro, dsPIC/PIC24 и ARM. Есть возможность экспортировать написанную, например, под PIC-микросхемы программу в код для AVR или наоборот.
Flowcode доступен более чем на 20 языках, включая русский. Для корректной работы компилятора рабочие проекты должны быть сохранены по адресу, не имеющему кириллических символов.
Программа написана для операционной системы Windows, но многие разработчики используют ее и в Linux, отмечая незначительные изменения во внешнем виде и работе.
Распространение программы: платная от £49. Есть бесплатная версия с ограничениями и только для микроконтроллеров PIC
С той проблемой разобрался - из-зи точки соединения глючил. Заменил циклом - теперь пишет:
File name: C:\Temp\Flowcode3.c
Generated by: Flowcode v4.2.3.58
Date: Thursday, March 08, 2012 13:18:20
Licence: Professional
Registered to: 2A1RRG
Licensed to FlowCode User under Single user Pro License for 1 node(s)
Limitations: PIC12,PIC16 max code size:Unlimited, max RAM banks:Unlimited
Flowcode3.c
Starting preprocessor: C:\PROGRA~1\MATRIX~1\FLOWCO~1\BoostC\pp.exe C:\Temp\Flowcode3.c -i C:\PROGRA~1\MATRIX~1\FLOWCO~1\BoostC\include -d _PIC16F777 -la -c2 -o C:\Temp\Flowcode3.pp -v -d _BOOSTC -d _PIC16
Caution: Delay inaccurrate: 'delay_ms', Delay overhead:0ms, Unit delay:1.00016ms, Delay resolution:1 units
Warning unreferenced functions removed:
FCI_FLOAT_TO_STRING in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_NUMBER_TO_HEX in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_INT in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_FLOAT in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_msDelay in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_S in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_Ms in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h
isinf in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h
Building CASM file
Memory Usage Report
===================
RAM available:368 bytes, used:43 bytes (11.7%), free:325 bytes (88.3%),
Heap size:325 bytes, Heap max single alloc:110 bytes
ROM available:8192 words, used:540 words (6.6%), free:7652 words (93.4%)
Launching the programmer.
C:\Program Files\Matrix Multimedia\Flowcode V4\tools\PICkit2\pk2cmd.exe -PPIC16F777 -FFlowcode3.hex -M -A5 -T -R -BC:\Program Files\Matrix Multimedia\Flowcode V4\tools\PICkit2\
No PICkit 2 found.
Return code = 10
Flowcode не смог передать блок-схему микроконтроллеру. Проверьте опции программатора и физические подключения.
Краткие сокращения
При подаче информации, на форуме принято использование сокращений и аббревиатур, например:
Сокращение | Краткое описание |
---|---|
LED | Light Emitting Diode - Светодиод (Светоизлучающий диод) |
MOSFET | Metal Oxide Semiconductor Field Effect Transistor - Полевой транзистор с МОП структурой затвора |
EEPROM | Electrically Erasable Programmable Read-Only Memory - Электрически стираемая память |
eMMC | embedded Multimedia Memory Card - Встроенная мультимедийная карта памяти |
LCD | Liquid Crystal Display - Жидкокристаллический дисплей (экран) |
SCL | Serial Clock - Шина интерфейса I2C для передачи тактового сигнала |
SDA | Serial Data - Шина интерфейса I2C для обмена данными |
ICSP | In-Circuit Serial Programming – Протокол для внутрисхемного последовательного программирования |
IIC, I2C | Inter-Integrated Circuit - Двухпроводный интерфейс обмена данными между микросхемами |
PCB | Printed Circuit Board - Печатная плата |
PWM | Pulse Width Modulation - Широтно-импульсная модуляция |
SPI | Serial Peripheral Interface Protocol - Протокол последовательного периферийного интерфейса |
USB | Universal Serial Bus - Универсальная последовательная шина |
DMA | Direct Memory Access - Модуль для считывания и записи RAM без задействования процессора |
AC | Alternating Current - Переменный ток |
DC | Direct Current - Постоянный ток |
FM | Frequency Modulation - Частотная модуляция (ЧМ) |
AFC | Automatic Frequency Control - Автоматическое управление частотой |
Marking (маркировка) - обозначение на электронных компонентах
Современная элементная база стремится к миниатюрным размерам. Места на корпусе для нанесения маркировки не хватает. Поэтому, производители их маркируют СМД-кодами.
Неисправности
Все неисправности по их проявлению можно разделить на два вида - стабильные и периодические. Наиболее часто рассматриваются следующие:
- не включается
- не корректно работает какой-то узел (блок)
- периодически (иногда) что-то происходит
Частые вопросы
После регистрации аккаунта на сайте Вы сможете опубликовать свой вопрос или отвечать в существующих темах. Участие абсолютно бесплатное.
Кто отвечает в форуме на вопросы ?
Ответ в тему Flowcode не компилирует в НЕХ как и все другие советы публикуются всем сообществом. Большинство участников это профессиональные мастера по ремонту и специалисты в области электроники.
Как найти нужную информацию по форуму ?
Возможность поиска по всему сайту и файловому архиву появится после регистрации. В верхнем правом углу будет отображаться форма поиска по сайту.
По каким еще маркам можно спросить ?
По любым. Наиболее частые ответы по популярным брэндам - LG, Samsung, Philips, Toshiba, Sony, Panasonic, Xiaomi, Sharp, JVC, DEXP, TCL, Hisense, и многие другие в том числе китайские модели.
Какие еще файлы я смогу здесь скачать ?
При активном участии в форуме Вам будут доступны дополнительные файлы и разделы, которые не отображаются гостям - схемы, прошивки, справочники, методы и секреты ремонта, типовые неисправности, сервисная информация.
Полезные ссылки
Здесь просто полезные ссылки для мастеров. Ссылки периодически обновляемые, в зависимости от востребованности тем.
Посмотрел видео. Интересный способ программирования! В прочем если оно работает, то как говорится, победителей не судят. Я, например, так и не смог себя заставить зубрить "Верилог" и теперь программирование плисов для меня как уроки рисования квадратиков и линий. Профессиональные разработчики ПЛИСов ржут, но мне как то фолетово потому, что мои схемы работают, а большего мне и не надо! Говорят, что таким способом я не смогу написать сложное устройство типа процессора или чего то типа моста. Но я так думаю, что все должно быть взвешено и если есть задачи, которые можно решать более просто, то почему бы их так не решать.
Вот и относительно этого способа надо сказать, что если судить строго, то надо бы изучать АСМ или С, а в идеале прога должна писаться на С с блоками на АСМ для особо времязависимых и ответственных мест, более того, если бы эта прога писалась для процессора на атомной станции или для космического спутника. А для радиолюбительства и хобби - класс!
ПС! Зачесалось - надо попробовать.
ПСПС! Адиль, а как там дело обстоит с мультиплатформенностью? Ну вот даже если взять простую мигалку и просто уже написанному проекту, проверенному и рабочему взять и подсунуть другой поцессор? А если вообще принципиально другой? Ну, скажем Майкрочип-PIC сменить на Атмел-Mega? Или может быть даже I80? Ну тоесть с принципиально другой архитектурой? Проблем много будет?
Читайте также: