цифровая электроника
вычислительная техника
встраиваемые системы

 

Современные языки программирования микроконтроллеров и встраиваемых систем

Автор: Mike(admin) от 6-02-2019, 06:55

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


Blockly

Какой язык лучше? Четкого ответа нет, потому что это зависит от приложения, над которым вы работаете. Чтобы помочь вам спланировать свое развитие, мы предлагаем некоторое исследование различных языков, доступных для использования с микроконтроллерами.

Управление пакетом на языке ассемблера

Автор: Mike(admin) от 29-12-2018, 03:25

Ассемблер предоставляет пользователям большие возможности для решения сложных задач программирования. Результатом работы ассемблера является последовательность машинных команд, получавшаяся на каком-либо носителе (раньше, например, на магнитной ленте или перфокарте).


ассемблер

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

Язык компилятора и язык ассемблера: различия и особенности

Автор: Mike(admin) от 14-12-2018, 13:45

Язык компилятора отличается от языка ассемблера, так, как проблемно-ориентированный язык отличается от машинно-ориентированного языка. Машинно-ориентированный язык используется, чтобы дать пользователю доступ ко всем средствам вычислительной системы (ВС).


Язык компилятора и язык ассемблера: различия и особенности

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

Лабораторные работы по дисциплине Основы микропроцессорной техники

Автор: Mike(admin) от 20-02-2017, 19:55
Задания для реализации задач на языке программирования Ассемблер

1. Инициализировать две переменные a=58h и b=EABh
Поместить старший байт переменной b в регистр dl, а ее младший байт в регистр bx. Поместить значение переменной a в регистр dh. Обменять значения регистров bx и dx

Дизассемблер онлайн

Автор: Mike(admin) от 23-12-2016, 20:39

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


Аппараты Crown of Egypt от IGT

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

yasp - браузерный ассемблер с виртуальным микроконтроллером

Автор: Mike(admin) от 27-03-2014, 06:13

Уже немногие инженеры-программисты знают ассемблер, хотя он помогает понять принципы программирования встраиваемых систем и то, что стоит за языком C. Поэтому в последнее время стали появляться браузерные компиляторы и эмуляторы языка ассемблер для обучения и создания простых проектов, например, ASM80. Но два энтузиаста Роберт Фишер и Майкл «luto» Лютонски разработали полнофункциональную браузерную среду разработки, включающую в себя компилятор ассемблера, эмулятор и отладчик. Назвали они её yasp.


yasp

Самое интересное то, что в этой среде «аппаратные» элементы: микроконтроллер, потенциометр, кнопки, светодиоды. Так что, процесс отладки должен быть нагляден и удобен.

Браузерная среда разработки ASM80

Автор: Mike(admin) от 24-02-2014, 06:51

ASM80 представляет собой интегрированную среду разработки, предназначенную для написания программ на ассемблере для 8-разрядных процессоров вроде 8080, 8085, Z80 и 6502. ASM80 состоит из двух основных частей: редактора+ассемблера и отладчика. Эта среда разработки является браузерной, то есть вы можете работать с ней на любом компьютере, где установлен современный браузер.


asm80

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

Симулятор 8-битного ассемблера

Автор: Mike(admin) от 7-02-2014, 06:53

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


ассемблер

Чтобы процесс изучения проходил быстро, удобно и легко, Марко Швейгхаузер (Marco Schweighauser) написал простой симулятор ассемблера, который запускается из браузера и имеет интуитивно понятный интерфейс.

Программная симуляция SPI

Автор: Mike(admin) от 13-01-2014, 11:36

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


SPI

Ниже представлен код на ассемблере, симулирующий работу интерфейса SPI (функции записи и чтения) для микроконтроллера PIC16F877A.

Срежьте жирок с AVR-GCC кода

Автор: Mike(admin) от 8-12-2013, 09:15

Хотя использование AVR-ассемблера позволяет легко писать компактные по размеру кода программы, все же использование языка C и AVR Libc дает больше удобств. В этой статье будет показано, как написать код на C, который avr-gcc скомпилирует с минимальным размером. Существует ряд руководств по написанию компактного кода для AVR, но ни одно из них не рассматривает вопрос сокращения оверхеда в start-up библиотеке avr-gcc (gcrt1).


avr-gcc

Многие все еще применяют avr-gcc 4.3.3, поскольку он дает более плотный код по сравнению с версиями 4.5.3 и 4.7, но для ниже приведенного примера avr-gcc 4.8.2 дал еще более компактный код, нежели 4.3.3.


Тестовая программа работает со встроенным температурным датчиком ATtiny85 и мигает светодиодом. После компиляции с оптимизацией –Os получаем программу размером 274 байта:



Назад Вперед
Наверх