Например TDA7294

Форум РадиоКот • Просмотр темы - организация программ на AVR
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 09:07:29

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 33 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: организация программ на AVR
СообщениеДобавлено: Пн дек 11, 2017 17:37:41 
Родился

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Пт дек 08, 2017 16:14:01
Сообщений: 10
Рейтинг сообщения: 0
добрый день
я время от времени возвращаюсь к изучению мк AVR, начинал знакомство с ними, и с программированием вообще с ассемблера.
пока программки были небольшие, до 1-2 кб, мне как то еще удавалось все "разрулить", но чем сложнее программы тем больше понимаю что надо завязывать с этим "линейным" программированием, и как то все иначе организовать.

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

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Пн дек 11, 2017 18:06:35 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
а зачем вам знать, как устроено в Си, если Си вы не хотите применять? вот и наслаждайтесь ассемблером в полной мере :)

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

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Пн дек 11, 2017 18:34:40 
Родился

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Пт дек 08, 2017 16:14:01
Сообщений: 10
Рейтинг сообщения: 0
а зачем вам знать, как устроено в Си, если Си вы не хотите применять?


чтобы почерпнуть идеи из него, возможно

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


Последний раз редактировалось asdf12 Пн дек 11, 2017 18:46:23, всего редактировалось 1 раз.

Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Пн дек 11, 2017 18:39:33 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 1
http://pic24.ru/doku.php/osa/articles/e ... out_errors
там статьи еще есть полезные

Цитата:
как передают значения переменных в функцию

Код:
func (int16_t a, int32_t b, char* c);

      |   a   |       b       |   c   |
      |r25:r24|r23:r22:r21:r20|r19:r18|

принимают:
Код:
int8_t func ();          |r24|
int16_t func ();     |r25:r24|
int32_t func ();     |r25:r24:r23:r22|


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Пн дек 11, 2017 20:43:52 
Родился

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Пт дек 08, 2017 16:14:01
Сообщений: 10
Рейтинг сообщения: 0
спасибо. интересно.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Вт дек 12, 2017 18:15:19 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Я тоже когда-то был ярым приверженцем асма. Но я зарабатываю на разработках. И когда объем программ стал значительно увеличиваться, перешел на си. Переход был мучительным. Несколько раз порывался, бросал. Потом понял, что меня останавливал страх. Перед сложностью, что не получится и так далее.
Потом я поступил следующим образом: продолжал писать программы на асме, но читал книги, пробовал. Когда началось получаться полностью перешел на си и остановил все проекты до тех пор, пока более-менее не освоил си. Перенес свои наработки на асме на сишные проекты.

Теперь, оглядываясь назад, жалею, что не начал раньше.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 00:19:15 
Родился

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Пт дек 08, 2017 16:14:01
Сообщений: 10
Рейтинг сообщения: 0
Я тоже когда-то был ярым приверженцем асма.


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

нашел интересную статью, статья шедевр http://caxapa.ru/lib/CwithoutC.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 08:39:04 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
У каждого и свои предпочтения (субъективные) и свои объективные причины использования разных компиляторов в соответствии с поставленными задачами (и средствами/элементной базой, для решения тех задач применяемой).
Ассемблер также "разный" бывает (по уровню использования возможностей компилятора)...
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 08:46:19 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 4
тогда до кучи: мощный macro assembler под разные архитектуры (AVR есть) от Alfred Arnold, до сих пор развивается
http://john.ccac.rwth-aachen.de:8000/as/
можно
WHILE
IF / ELSEIF / ENDIF
SWITCH(SELECT) / CASE / ELSECASE / ENDCASE
и пр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 09:06:01 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Интересный проектик...
В отношении микрочипа не слишком шикарно, да и АВР только как обобщенное AVR RISC МК, но довольно много "редковстречаемых"...
Однако читать надо... моного и долго...
:roll:
Ессно с действующими IDE совместимости... речи бысть не может, дебаггер-отладчик также надо как-то ... "добавлять"...
Однако подкупает "единый подход"... и существование до сего дня...
:roll:


Последний раз редактировалось BOB51 Ср дек 13, 2017 09:15:28, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 09:12:38 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Ессно с действующими IDE совместимости... речи бысть не может, дебаггер-отладчик также надо как-то ... "добавлять"...

с ключиком (-g ATMEL) типа asw -g ATMEL trylala.asm выдает объектный файл, который прекрасно принимает Аврстудия - работает отладка


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 09:16:46 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Снова за ПЕРЕВОДчик...
:cry:
ДОСАДКА ОДНАКО!!...
8)
Укушу - в "винной" вылизывать продолжу.
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 09:24:36 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
в оригинале, вроде, для программистов все понятные слова:
Цитата:
g [format]: This switch instructs AS to create an additional file that contains debug information for the program. Allowed formats are the AS-specific MAP format ( format=MAP), a NoICE-compatible command file ( format=NOICE), and the Atmel format used by the AVR tools ( format=ATMEL). The information stored in the MAP format is comprised of a symbol table and a table describing the assignment of source lines to machine addresses. A more detailed description of the MAP format can be found in section 5.2 The file's extension is MAP, NOI, resp. OBJ, depending on the chosen format. If no explicit format specification is done, the MAP format is chosen.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 09:28:15 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Так все равно ВЫЧИТЫВАТЬ надо, даже ежли и частично понимаемое.
И не только вычитывать, но и сравнивать с уже ранее обработанным.
Это не просто "на любителя"... МНДЯАА...
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 10:37:54 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5596
Откуда: Minsk
Рейтинг сообщения: 5
asdf12, я думаю, не стоит расковыривать компилятор Си для изучения идей, стоит разработать конкретно для себя набор правил и потом строго его придерживаться.
................ Мысли старого ретрограда
Я тоже кодил на Асме, но у меня был дополнительный стимул: работал на фирму по договору, и ее шеф не очень одобрительно воспринял бы необходимость в каждый прибор в сотнях экземпляров серии совать МК на 1..2$ дороже. Что бы там ни говорили - мол, разница не очень большая - есть она, и достаточно существенная. Пример? Да калi ласка ! Исходя из спектра задач, предстоящих фирме, я разработал "плавучку" нестандартную: один байт порядок, 2 байта мантисса. И когда тестировали по сравнению с Си, "скорострельность" была в 2 с лишним раза выше. Не говоря уже о printf, который тянет под 1кб кода. У меня преобразования для вывода на ЖКИ нужных нам данных (ну не было форматного вывода с форматом, который мог родиться в пьяном бреду сумасшедшого ежика ) уложились в сотню байт. За универсальность плата - избыточность.
СпойлерТелепаю возражения: "Гуано твоя плавучка. Когда понадобится складывать разной величины данные, будет большая потеря точности. Может оказаться, что прибавляемые крохи окажутся вообще за пределами разрядной сетки " Ну что сказать - строг, но справедлив. Но ведь и я не совсем лапоть. Для таких редких случаев имелась полноценная 4-байтная float, в которую простенькая прога вливала "крохи".
Возражение второе. "Это ж надо додуматься - свою плавучку! Может, ты еще и функции свои писал? Это ж какая прорва времени!" А как же без функций - корень, синус, логарифм. Времени отняло не так много на фоне того, что параллельно разрабатывалось железо, платы, обкатывалась сама концепция изделия. А когда этап арифметики закончен, не нужно же в каждом новом проекте все трясти заново, а написать в исходнике макровызов SIN alfa,x ничуть не затратнее, чем Си-шное x=sin(alfa) .
Я не собираюсь в сотый раз затевать религиозную войну "ASM vs C" - каждому - свое, кому поп, кому попадья.

Для себя я установил распределение регистров: входной аргумент был в R16, результат в R24,R25. "Неполноченные" регистры R1..R15 отдал под регистровый файл глобальных переменных, из которого любая подпрограмма могла черпать данные. Регистры R17..R23 были рабочими, и их не нужно было сохранять/восстанавливать при входе/выходе в/из п/п - кроме вложенных вызовов, разумеется. И пр. Это, конечно, не канон, но любая, даже не очень хорошая система лучше, чем никакой.

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 13:40:12 
Родился

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Пт дек 08, 2017 16:14:01
Сообщений: 10
Рейтинг сообщения: 0
стоит разработать конкретно для себя набор правил и потом строго его придерживаться.
но любая, даже не очень хорошая система лучше, чем никакой.

согласен. вот пытаюсь как то выработать для себя эту систему

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 14:09:44 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 1
Цитата:
что посоветуете?

http://we.easyelectronics.ru/STM32/asm- ... chalo.html
Цитата:
Процесс разработки устройства на асме STM32 ничем не отличается от того же на avr или stm8. Время вхождения, конечно, больше, т.к. необходимо осваивать немного более сложную периферию. Зато писать на асме STM32 и быстрее и удобнее чем, например, под avr (ИМХО).

еще:
http://we.easyelectronics.ru/psv/zapisk ... u-asm.html
вроде заглох:
http://stm32asm.ru/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 17:49:22 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Ну уж ежли ИМЕННО АРМ (а не частности в виде STM32)
тогда изучение надо начинать отсюда
https://www.arm.com
...
:roll:
А уже затем конкретую разновидность в семействе отрабатывать с изучением даташитов производителя.
К тем АРМам не только STM, но и атмел/микрочип и NXP и много кто еще "лапу приложил" (включая российские Ангстрем и Миландр)...
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 19:05:59 
Родился

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Пт дек 08, 2017 16:14:01
Сообщений: 10
Рейтинг сообщения: 0
BOB51, я нигде не путал в своем сообщении ARM и STM32, я же так и написал - "производителей МК с этой архитектурой достаточно"

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

просто конечно пугает количество настроек в STM


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: организация программ на AVR
СообщениеДобавлено: Ср дек 13, 2017 19:29:42 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Ну уж ежли ИМЕННО АРМ (а не частности в виде STM32)
тогда изучение надо начинать отсюда
https://www.arm.com

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


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: OKF и гости: 35


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y