Автор Тема: Программирование микроконтроллеров!  (Прочитано 2297 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Посоветуйте литературу по АЛГОРИТМАМ!!! для микроконтроллеров без привязки к какой-либо конконкретной архитектуре.

Как-то раз написал процедуру преобразования двоичного числа в двоичнл-десятичного по алгоритму для пересчета  измеренного АЦП значния в напряжение в милливольтах. Алгоритм предварительно проверил с помощью карандаша и бумаги а в программе вылезли особенности выполнения некоторых команд микроконтроллера.
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

 

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Библиотека по программированию http://www.proklondike.com
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Прохожий

  • Пользователь
  • **
  • Сообщений: 253
  • Город: ,
  • Карма +9/-0
  • Пол: Мужской
    • Просмотр профиля
Электромонтёр, благодарю, интересно почитать про асемблер...

Оффлайн Kamofari

  • Новичок
  • *
  • Сообщений: 4
  • Страна: 00
  • Карма +1/-0
    • Просмотр профиля
Очень полезная тема, спасибо большое)

Оффлайн Стрелок

  • Пользователь
  • **
  • Сообщений: 635
  • Страна: ru
  • Город: Каменск-Шахтинский
  • Карма +16/-0
  • Пол: Мужской
    • Просмотр профиля
  • Авто: Лада Приора 1.6
  • Тел: Highscreen Ice 2
Kamofari, программист?

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Бескорпусные микросхемы
« Ответ #5 : Сентябрь 10, 2016, 05:28:28 » [Получить ссылку]
Кто знает, как паять бескорпусные микросхемы?! Микросхема представляет собой просто кристалл с контактными площадками. Где взять компаунд для заливки? Можно ли залить кристалл обычной эпоксидкой?
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Нейва

  • Нейва
  • Пользователь
  • **
  • Сообщений: 468
  • Страна: ru
  • Город: Каменск-Уральский
  • Карма +13/-0
  • Пол: Мужской
    • Просмотр профиля
Электромонтёр, это надо на спец форуме каком-то узнавать. А то сейчас тут на советуют. Я в такие тонкости ещё не лазил...

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Подскажите литературу по программированию ARM Cortex M3 на ассемблере (не на си! важно!), а конкретно 1986ВЕ9х фирмы Миландр, заранее благодарен!
Ежели кому-нибудь из форумчан посчастливится пощупать MSTN-M100, отпишитесь, какие особенности и подводные камни у камня сабжа вдогонку к официальной еррате Миландра.
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Самодельная 40 килобайт микро операционная система StartOS  под ARM процессор автору мегареспект! Время загрузкт одна секунда! Мой нищебродский смартфон с 1ГГц ARM увы, загружается почти минуту...
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Программирование на Сях для начинающих, бонусом исходник тест-программы "Счастливые билеты" для Мультиклета ^-^
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн zusicks438

  • zusicks438
  • Мастер
  • ***
  • Сообщений: 8387
  • Страна: ru
  • Карма +219/-0
  • Пол: Мужской
    • Просмотр профиля
Электромонтёр, а что делает h^=0x00007000? Ну то есть я понимаю, что это XOR, но для чего это конкретно здесь?

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Для мигания светодиодом ^-^
В дальнейшем можно светодиодное табло с таймером использовать, но для оценки быстродействия я решил попроще программу сделать.
Оптимизировал алгоритм, +7% производительности теста.
Интересно, какой результат на асме будет? Метод программирования на асме у Мультиклета весьма экзотический, хоть и прогрессивный - программирование параграфами (секциями) по 64 команды, при этом можно пользоваться промежуточными результатами в пределах параграфа без сохранения оных в регистрах!
К сожалению, на Сях Мультиклет работает очень медленно, всего 10млн. оп./с на 80МГц.
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Покурил я мультиклетовский ассемблер. Мультиклет разительно отличается от обычного "регистрового" процессора. Регистровый файл, не используется напрямую, а представляет что-то вроде именно сверхоперативной памяти, а промежуточные результаты выполнения команд автоматически пишутся в невидимый динамический регистровый файл, который запоминает последние 63 (на самом деле около 30, см. еррату) результатов, которыми можно пользоваться как операндами. Программа представляет собой набор не команд а параграфов, а параграф уже состоит из команд. Переходы есть только между параграфами, внутри самого параграфа переходов нет. Если в параграфе задан переход на другой параграф, то, когда выполнится набор команд внутри параграфа, тогда и сработает команда перехода, поэтому команду безусловного перехода можно ставить в начало параграфа, под конец она выполнится. Длина параграфа ограничена только памятью программ. Чтобы распараллеливание команд между клетками работало эффективно, то нужно писать параграф так, чтобы команды использовали результаты от 4-й до 30-й (еррата!) предыдущих команд. Собственно параграф получается аналог "команды", а команда - "микрокоманды" обычного процессора. Задумка интересная, но есть ограничения - чудес не бывает, зато избавились от кэш-памяти и системы неупорядоченного выполнения команд.
Неудивительно, что у мультиклетовцев сложности с компилятором, они сами говорят, что оптимизации на сях сейчас никакой. Ну, это если из современного интеловского CISC-процессора выкинуть транслятор х86 команд и писать программы из самодельных команд ("параграфов") на языке микрокоманд ("инструкций") внутреннего RISC-ядра современного  х86 интеловского процессора.
Если разберусь, может даже статейку тиснуть на тему мультиклет простыми словами?
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн zusicks438

  • zusicks438
  • Мастер
  • ***
  • Сообщений: 8387
  • Страна: ru
  • Карма +219/-0
  • Пол: Мужской
    • Просмотр профиля
Простыми - можно. А то я в этих ваших ассемблерах...и архитектурах ::) мало что понимаю.

Я скорее как Тигра по этой теме.
Цитировать (выделенное)
- Ох уж эти Вуглускры... Они нам все цифры и показатели портят... По статистике, - Кристофер Робин, удачно блеснувший словечком, с презрением поглядел на Тигру. Тигра в долгу не остался.
- И инфраструктура тоже, - вставил он и уставился на Кристофера Робина с не меньшим презрением. - И еще File not found.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Что-то мультиклет какой-то медленный, ассемблерный пустой цикл из пяти команд ажно 17 тактов жрёт. Ассеблерный вариант "Счастливых билетов", хоть и впятеро меньше после компиляции, но дал прирост всего лишь 20% против Сишного. Я в недоумении, что может так нагло время жрать? Ограничения на ветвления, в микропрограмме не больше одной ссылки на одну микропрограмму, нельзя вложенные циклы внутри одной микропрограммы сделать, только раздельные, не больше ссылки на один регистр.
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
О мультиклете
« Ответ #15 : Февраль 04, 2017, 14:55:22 » [Получить ссылку]
Написал статейку о первом мультиклеточном процессоре, отдельная благодарность Виталию Самypову за конструктивную критику черновика статьи.
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Служивый

  • Пользователь
  • **
  • Сообщений: 566
  • Страна: ru
  • Город: Ногильск
  • Карма +14/-0
    • Просмотр профиля
  • Авто: Ниссан Марч
  • Тел: Ноут 2 Самсунг
Электромонтёр, читал, а где форум мультиклета?

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Форум Мультиклета находится здесь.
« Последнее редактирование: Февраль 06, 2017, 15:18:05 от Электромонтёр »
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Темка о первом мультиклете на nedopc
А здесь жалуются о невозможность купить тьму (10.000) процессоров.
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Набрал я себе почти что самых простеньких микроконтроллеров  pic12, благо у меня есть некоторый опыт программирования миландровских аналогов pic17 серии 1886ВЕ  :)
Программатор, правда,  купил готовый, который, несмотря на явно неряшливый вид, оказался вполне работоспособным.
Во вложении прошивальщик, ассемблер+дизассемблер и драйвер для программатора.
После установки драйвера, подключаем программатор, находим в диспетчере устройств параметры его com порта и прописываем в прошивальщике. Я не пользовался никакой ide, написал простенькую программку прямо в блокноте, дизассемблером вполне можно разбирать чужие прошивки, я таким образом разбирался с инициализацией  :)
Бонусом программка для бегущих огней с автореверсом на линейке светодиодов, линейка подключена к дешифратору, управляемому микроконтроллером с выводов GP0-GP2. Программа работает за счёт обработки прерываний таймера, главная программа ровным счётом ничего не делает :)
Кстати нашёл отличную статью с описанием интересного алгоритма!
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Портировал программу на PIC16F628A, система команд та же, но некоторые регистры по другому называются. Светодиоды подключены к порту В.
Откомпилировал программу, вылетает ошибка! ВНЕЗАПНО, оказалось, что регистр OPTION в заголовочном файле называется таки OPTION_REG  :)
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5777
  • Страна: ru
  • Город: Россия, Самара
  • Карма +142/-0
  • Пол: Мужской
    • Просмотр профиля
Самоучитель для начинающих программистов PIC-микроконтроллеров, очень подробно расписаны азы, крайне рекомендую! Бонусом идут дополнения и примеры программ на ассемблере, также пару программ.
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.