Перейти к содержанию
    

5 hours ago, jcxz said:

Судя по digikey например у TI сейчас всё в шоколаде. Хотя как будет дальше - конечно не известно.

У TI только MSP430 стабильно, а Cortex-Mxx они то начинают, то снимают с производства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, dimka76 said:

У TI только MSP430 стабильно, а Cortex-Mxx они то начинают, то снимают с производства.

Светодиодом поморгать и два байта переслать стабильности хватит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/4/2021 at 11:45 PM, do_not_know_Linux said:

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

Отладочную плату или развивающий набор 250 . Программатор/отладчик 300 . Проводочки и светодиод 140+15 .  Что бы было что пересылать нужны датчики и кнопки 100 . И куда пересылать пусть будет экранчик 500 . А вообще нужны исполнительные механизмы так что я бы сразу брал робоконструктор. 2000-5000 

Мультиметр и паяльник и батарейки вещи необходимые.  1500 +500+100

Мультиметр это ваши глаза без него вы не поймете где неисправность и будете гадать на хрустальном шаре и бить в шаманский  программистами буден. 

У нас в магазинах кроновские батарейки продают по 100 штука. Так что в интернете сразу купить проще. 

Макетную плату 200

И того по минималке 15+140+250+300+500+200+100+1500+100+100 =  3205 . Плюс паяльник канифоль припой 700 .  

Светодиодом вы наиграетесь за полчаса максимум 1 час. А вот на экранчик и кнопками можно и игрушку замутить. Змейку или понг. 

 

Микроконтроллер STM32 вам подойдет любой. Профессионал конечно будет смотреть на errat'у чем меньше ошибок тем лучше. 

МК это не SOC поэтому с настройкой и запуском проблем быть не должно.

 

То что вы назвали без библиотек и среды называется баре-металл.

https://vivonomicon.com/2018/04/02/bare-metal-stm32-programming-part-1-hello-arm/

 

Отказаться от IDE можно заменив набором утилит. Текстовый реадактор, отдельно отладчик gdb, отдельно stlink для заливки прошивки. Вместо 1 движения нажатия одной кнопки Вы будете делать десятки это замедлит вашу работу в десятки если не в сотню раз. И вам это быстро надоест.

 

Что такое ОС? Это полосатый мух. Нет ОС это набор программ плюс ядро. Что такое программы это библиотеки, так же и ядро это тоже набор библиотек.

Программирование это не математика, а в первую очередь умение компактно и понятно выражать свою мысль. Так что-бы другие программисты вас поняли.  Мало кого интересуют библиотеки в которых перечислены имена регистров и битовые маски. Всех инересует более высокий уровень абстракции. Абстракция -  в переводе обобщение.  В чем суть в одной МК есть к примеру умножитель частоты в другом есть делитель частоты в третьем есть и то и другое. А вы пишите обобщенную функцию SetSpeed(COM1, 9600) и он уже в зависимости от дефайнов в библиотеке настравиватся либо делитель либо умножитель частоты.

 

Так вот что-бы написать на баре-меттал большее чем моргание светодиодами. Вам понадобиться написать штук 5-10 небольших библиотек.  Потому что таймер нужен системную, шину настроить нужно, контроллер прерывания нужен, протокол I2C закодировать нужно, а еще сам порт/интерфейс i2c. Нужно еще и интерфейс экрана закодировать хотя они и сидит на i2c или чем то подобным. И UART закодировать нужно будет. И вывод примитивов для терминала.

И да USB закодировать сложно. Поэтому кодировать надо UART  и цеплять вашей макетной плате должен быть FTDI микросхема которая преобразует UART от МК в USB и передаст данные на комп.

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

Вот как раз получится ~30 кб кода только библиотек. Для размещения игрушки еще 30 кб.  Для шрифтов терминала 8кб.  Поэтому STM32 лучше брать на 128 кб

en.STM32F103_line_LN1565.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

57 minutes ago, Pavia said:

Отказаться от IDE можно заменив набором утилит. Текстовый реадактор, отдельно отладчик gdb, отдельно stlink для заливки прошивки. Вместо 1 движения нажатия одной кнопки Вы будете делать десятки это замедлит вашу работу в десятки если не в сотню раз. И вам это быстро надоест.

команда make debug - Это, действительно 10 кнопок, но набираются они быстро. Более того, второй раз она набирается вообще нажатием одной клавиши "вверх". Ну и если это способно замедлить вашу работу в десятки или сотни раз, вы что-то делаете очень неправильно. Уж подключение отладчика не должно быть самым трудозатратным при программировании микроконтроллеров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 минут назад, one_eight_seven сказал:

Более того, второй раз она набирается вообще нажатием одной клавиши "вверх".

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, mantech сказал:

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

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

Всегда открываю отдельную консоль для запуска отладчика, в которой выполняется только одна команда. Листать ничего не нужно. А самые частые операции в командном файле с названием из одной-трех букв. А командный файл запуска программатора вообще в FAR-подобном mc сиди себе, жми на Enter. 

2 часа назад, mantech сказал:

гораздо проще ткнуть на имени проекта

не промахнувшись

2 часа назад, mantech сказал:

и выбрать мейк...

сначала его найти, потом в него попасть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

54 minutes ago, mantech said:

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

Есть еще Tab, Ctrl-R и прочие ускорители работы в консоли. Вот уж что, а "программистский" инструментарий в *nix очень хорош.

 

6 minutes ago, Сергей Борщ said:

А каждый раз десяток галочек расставить не ошибившесь сильно работу ускоряет?

Вот да. Проекты для ПЛИС в результате размножаю копированием с последующим редактированием. Ибо вручную заполнять/расставлять настройки очень утомительно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, aaarrr сказал:

Проекты для ПЛИС в результате размножаю копированием с последующим редактированием.

Да, сам так же делаю, хоть и не для ПЛИС, а для контроллеров, что тут плохого?

3 часа назад, aaarrr сказал:

Вот уж что, а "программистский" инструментарий в *nix очень хорош.

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

3 часа назад, Сергей Борщ сказал:

сначала его найти, потом в него попасть

Ну это очень сложно, там прямо 5 или 6 пункт в менюшке, смотря в какой ИДЕ)))

3 часа назад, Сергей Борщ сказал:

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

Если честно, в какой ИДЕ такой дремучей, чтоб мейк сделать нужно кучу галочек расставлять?  Это мне так, для расширения кругозора, чтоб такой не пользоваться никогда)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, mantech said:

что тут плохого?

А что хорошего? Исходные тексты должны быть текстами, параметры сборки тоже к ним относятся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость do_not_know_Linux
06.05.2021 в 10:02, Pavia сказал:

Отладочную плату или развивающий набор 250 .

 

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

Цитата

1101001010000000111111  

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

Изменено пользователем Herz
Избыточное цитирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

35 минут назад, do_not_know_Linux сказал:

спасибо всем огромное, что находите время, и помогаете разобраться начинающему...

В следующий раз, пожалуйста, полностью не цитируйте сообщение, когда оно на полтора монитора.

Цитата

...без преобразования самим микроконтроллером данной инструкции в иную внутреннею...

Что-что? Это как? Разумеется, можно открыть редактор бинарных данных, накатать программу прямиком в 0 и 1 (:suicide2:) и зашить в МК. Но... зачем? Для облегчения кодирования на самом низком уровне придумали ассемблер - на нем все эти коды инструкций заменяются символьными сокращениями - мнемониками команд процессора. Писать напрямую 0 и 1 можно, разве что, для видео на ютубчик. Хотя там такие есть.

Цитата

...все ли микрокотроллеры используют свои иструкции скрытые от пользователя?

What? Что-то у Вас каша в голове. Рекомендую к прочтению книгу Р. Токхейм. Микропроцессоры: курс и упражнения. Рано Вам в МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Arlleex said:

Что-что? Это как? Разумеется, можно открыть редактор бинарных данных, накатать программу прямиком в 0 и 1 (:suicide2:) и зашить в МК. Но... зачем? Для облегчения кодирования на самом низком уровне придумали ассемблер - на нем все эти коды инструкций заменяются символьными сокращениями - мнемониками команд процессора. Писать напрямую 0 и 1 можно, разве что, для видео на ютубчик. Хотя там такие есть.

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

image.thumb.png.537b528fda6388a0dfb72c7146bdecf5.png

 

И это конец 90х :-) 

Даже пошаговая отладка имелась !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, do_not_know_Linux said:

которые исполняли бы машинные инструкции в таком виде в котором они были поданы  изначально

Компьютер PDP-11, процессор с красивой системой команд, которая легко запоминалась в 8-ричном коде. Имелся режим отладки, при котором вводилась последовательность команд (в 8-ричном коде), и запускалась на исполнение. Если правильно помню. 

А победил всех АРМ, с идиотской архитектурой. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 минут назад, Leka сказал:

А победил всех АРМ, с идиотской архитектурой.

Чем идиотской?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...