Обсуждаем контроллеры компании Atmel.
Ответить

Re: организация программ на AVR

Ср дек 13, 2017 20:21:10

МК какого производителя с архитектурой ARM проще в настройках периферии

сейчас микроконтроллеры практически всех производителей (не только с ARM ядром) обросли "тяжелой" периферией. Если с ARM ядром - русскоязычной информации больше имхо по STM32, видно тут даже по форуму (см. раздел ARM). Настройка портов и таймеров не сложна - надо только еще дополнительно тактирование включить. Для серии STM32F0 есть снипетсы примеры работы с периферией, но на Си, разобраться не сложно - названия регистров и битов такие же как и в документации.
На всякий еще - визуальный ARM эмулятор, периферии нет, но для ассемблерщика наглядно что в ядре происходит:
https://salmanarif.bitbucket.io/visual/

Re: организация программ на AVR

Ср дек 13, 2017 20:27:26

oleg110592, спасибо. интересная "вещь".
надо будет разобраться с ней

Re: организация программ на AVR

Чт дек 14, 2017 10:08:36

Ну уж ежли ИМЕННО АРМ (а не частности в виде STM32)
тогда изучение надо начинать отсюда
https://www.arm.com

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


Жаль....
Ядро определяет семейство. В данном случае речь идет об АРМ.
А периферия - выбирается согласно текущей задаче из списка предлагаемых вариантов на сайте у производителя.
Посему на сегодня можно в любой кристалл напихать всего, чего душе угодно, но управляться с этой периферией будет ЯДРО СЕМЕЙСТВА по правилам, принятым для данного семейства.
У каждого из производителей свои особенности/наборы периферии, обусловленные применяемой технологией и специализацией брэнда, однако основа всегда на ЕДИНОМ ЯДРЕ.
Так что не надо все с ног на голову ставить.
:wink:

...
На всякий еще - визуальный ARM эмулятор, периферии нет, но для ассемблерщика наглядно что в ядре происходит:
https://salmanarif.bitbucket.io/visual/


БЯДА...
там только для WIN64...
WIN32 нету...
:cry:

Re: организация программ на AVR

Чт дек 14, 2017 10:51:11

BOB, ты точно понимаешь что пишешь?
И еще раз, ИЗУЧАЮТ ПЕРИФЕРИЮ и РАБОТУ с ней, большинство пИсателей даже и не знают ничего о ядре и попадают в ступор когда начинают искать
хоть что-то о ядре и NVIC в RM.

БЯДА...


Тебе то он зачем нужен? Любой арм прекрасно дебажится железным отладчиком стоящим копейки.
Или ты решил "изучать" арм на коленке , в эмуляторе считая такты? :)))
Вангую - первое что ты сляпаешь на арме - выхлоп меандра ногодрыгом. Вот бы взглянуть на твой лицо в это время. :))) :))) :)))
Последний раз редактировалось dosikus Чт дек 14, 2017 11:08:32, всего редактировалось 1 раз.

Re: организация программ на AVR

Чт дек 14, 2017 10:57:00

Явно в dosikusе чуствуется "заядло-замшелый СИшник".
8)

Re: организация программ на AVR

Чт дек 14, 2017 11:05:45

С хрена ли? АсмЪ знаю и юзаю там где сие эффективно - к примеру Z80 , 6502 и частично 51е.
На армах только при реверсинге .

Re: организация программ на AVR

Чт дек 14, 2017 11:33:50

Одно дело писать/использовать "вставки на ассемблере" при работе под СИ и
совсем другое ПОЛНОСТЬЮ писать под ассемблером.
Для Си знание особенностей ядра не суть важно - компилятор выполняет основную работу по компоновке и определению необходимых ресурсов. Зато вдоволь возможности уделить внимание "всему что вокруг ядра".
Под ассемблером надо начинать с самой примитивной планировки - знание работы ядра - обязательно.
А далее уже добавляется все то, что и обычному Сишнику приходится делать.
8)

Re: организация программ на AVR

Чт дек 14, 2017 11:38:10

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

АсмЪ знаю и юзаю там где сие эффективно
, без Си совсем.

На армах только при реверсинге .
здесь асм эффективен только в качестве вставок , но не в сишный код а в уже скомпиленный фирмварь.

Ну или глаза разуй или научись слышать оппонента...

Re: организация программ на AVR

Чт дек 14, 2017 11:49:58

Тогда значится Вы, dosikus до понимания ассемблера в максимальном варианте не дошли - ограничились "простыми линейными прожками" с последующим дизертирством на СИ, как и большинство простолюбителей (так проще).
:tea:
Да и я, честно говоря ни в особенности настроек линкера ни в дебри "истинно многофайловиков" с библиотеками ДО СИХ ПОР еще не вникал. Ибо та тема вообще "давно забыта", приходится больше самому "раскопками" заниматься.

8)

Re: организация программ на AVR

Чт дек 14, 2017 12:03:41

Тогда значится Вы, dosikus до понимания ассемблера в максимальном варианте не дошли - ограничились "простыми линейными прожками" с последующим дизертирством на СИ, как и большинство простолюбителей


Вот жеж , прости господи, - Для особо одаренных - и линкер юзали и свои/чужие библиотеки и не в "линейных прожках" и на пЫк и на авр .
Все что для тебя нынче "открытия и откровения" для меня давным-давно пройденный этап.
На асме с пЫк/авр, как впрочем и на самих пЫк/авр ЛОВИТЬ НЕЧЕГО.

И еще раз вдумчиво читай -
АсмЪ знаю и юзаю там где сие эффективно - к примеру Z80 , 6502 и частично 51е.

Re: организация программ на AVR

Чт дек 14, 2017 12:32:35

Тогда флуд - черта характера dosikusа.
:wink:
ИБО... скушно ему без трындежа "обо всем и ни о чем"
:sleep:

Re: организация программ на AVR

Чт дек 14, 2017 17:27:05

БЯДА...
там только для WIN64...
WIN32 нету...
:cry:


там есть версия программы для линукса 32 разрядного. его можно рядом с виндой установить на один диск. у меня так и сделано. это не трудно

Re: организация программ на AVR

Чт дек 28, 2017 19:53:26

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


На мой взгляд, правила нужны, позволяют сильно упростить разработку программы.
Для АВР считаю оптимальным следующее правило вызова функции.
Все переменные в функции объявлять, по возможности, в регистрах РОН – функция будет короче и быстрее. В случае использования АБ будет доступно, большей частью, 30 регистров – вполне достаточно.
В начале функции поставить макрокоманду записи в стек используемых в функции регистров, в конце программы – команду возврата из стека в эти регистры.
Таким образом, можно, не опасаясь последствий, вызывать любую функцию, после выхода из функции будут свободны все регистры. Несколько увеличивает объём кода, но упрощает программирование.
Конечно, никаких «боковых» выходов из подпрограмм и т.д.
Писать надо на макроассемблере. Получается гибкость как у ассемблера, а упрощает написание раз в 5. Я использую АБ, легкий в изучении, бесплатный, русский, хотя устарел.
Необходим дебаггер – отыскание ошибок, в большинстве случаев, становится банальным.
При соблюдении таких несложных правил можно без проблем писать программы в десятки килобайт.
Ответить