Перепрошивка Iskra js

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Р0МAH, 4 июн 2016.

  1. Unixon

    Unixon Оракул Модератор

    Может объясните, чем программирование Discovery или Nucleo или предложенных вами плат отличается от программирования IskraJS? На одних платах есть встроенный программатор, на других только загрузчик или возможность включить DFU, но от этого зависит только способ попадания прошивки в контроллер и возможность отладки. Как это связано с написанием прошивки на сях?
     
  2. ИгорьК

    ИгорьК Гуру

    Ничем.
    Подождем подтверждения этого утверждения от ТС. Очень надеюсь, что он расскажет именно об этом.

    Я вообще уважаю людей, которые начинаю изучать МК с 32-разрядных, да без соответствующей экологии IDE.
    Наверняка уже ТС готовит какой-нибудь хитовый проект на Сях.
     
  3. Unixon

    Unixon Оракул Модератор

    IDE вам никак не поможет скомпенсировать возросшую сложность МК. Сравните Wiring от Arduino, аналог Wiring от Maple Leaf, и SPL / HAL от STM . Чем сложнее МК, тем сложнее библиотека под него даже при сравнимых возможностях. Какая в этом роль IDE?
     
    Alex19 нравится это.
  4. ИгорьК

    ИгорьК Гуру

    analogWrite();

    Но тема не об этом. Тема о том, что ТС будет делом доказывать правильность Ваших тезисов и делиться опытом программирования Iskra JS на Си.
     
  5. Unixon

    Unixon Оракул Модератор

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

    ... опытом программирования STM32F405RGT6, если быть точнее.
     
  6. Alex19

    Alex19 Гуру

    Я сам сначала не понял ИгорьК, видимо он хочет сказать наличие готовых привычных библиотек, которые облегчают знакомство с таким контролерам, тот же аналогичных analogWrite. К примеру, как тут - https://github.com/rogerclarkmelbourne/Arduino_STM32, которые позволяют быстро начать работу с данным контролером.

    Есть еще mbed, в которой есть та же схожесть с Wiring для Arduino, о которой упомянул ИгорьК, Wiring от Maple Leaf упомянутый Unixon. Как говорится, чем больше выбор, тем лучше для нас простых пользователей. Есть Для многих, это будет хорошим выбор.

    Но с тех пор, когда появился пользователь Sippise (если он читает данные строки, низкий поклон ему), доступ к SPL / HAL от STM стал доступен каждому.

    Подробнее HAL тут - https://www.youtube.com/playlist?list=PL8OgDYWys_b6s8BhISvA-yY1NXlYFgnn2, пока 8 видео.
    SPL тут - https://www.youtube.com/playlist?list=PL8OgDYWys_b6XtOjCejd37aVv0ic24jqV, 67 видео, почти от А до Я.

    Все на русском, просто и понятно. Так, что выбор за нами.
     
    Последнее редактирование: 27 июн 2016
  7. Unixon

    Unixon Оракул Модератор

    Видимо поэтому никто Wiring на HAL так и не портирует ... :)
     
    Alex19 нравится это.
  8. ИгорьК

    ИгорьК Гуру

    Именно это я и говорю, когда говорю об экосистеме и IDE.
    Тов. Unixon просто уже настолько опытен, что забыл разницу между Ардуино и АТМега 328.
    Тема то начата не об абстракциях, а том, что новобранец, косвенно поддержанный участниками темы, побежал покупать Iskra JS как первый МК.
    Удачи ему! Ждем опыта.
    А Unoxon, надеюсь, посоветует как правильно стартовать в этом случае, вместо объяснения моей глупости.
    Я уже все, сдался, "признаю свою вину: меру степень, глубину".
    Товарищи! Всем новичкам покупать Iskra JS STM32F405RGT6 как первый МК и программировать его на С++!
     
  9. Unixon

    Unixon Оракул Модератор

    Что там хотел ТС - вопрос отдельный. Мой комментарий был только к вашим словам, из расчета, что вы все слова используете по назначению. Если про экосистему еще можно догадаться о чем идет речь, то дальше начинается... то IDE плохая, то на C++ писать нельзя.

    Что касается совета для ТС (если он еще не начал) - пусть берет Arduino / IskraNeo и осваивается с AVR, когда закончит - может переходить на более навороченные контроллеры.

    Вам не надоело? Можно было в первом посте написать что-то типа "Осторожно, для IskraJS/STM32 нет такого же простого API, как есть для Arduino/AVR и тонны совместимых библиотек под все модули! А если есть, то мне он неизвестен." и все, нет дискуссии.
     
    Последнее редактирование: 27 июн 2016
  10. sys

    sys Злобный Буратино Модератор

    Простите, а можно поподробней про сложности с API? Я просто новичок и как раз начал свое знакомство с этим чудным миром микроконтроллеров именно с Iskra JS и именно потому что JS. C модулями я как бы разобрался - выбираю модельки к которым есть модули. А вот до сложности с API пока не дошел. В чем она проявляется? Не направите ли на путь истины? (куда смотреть)
     
  11. ИгорьК

    ИгорьК Гуру

    Вот Вы и написали, уважаемый. Смотрите ответ нуба и разъясните. За одно и про процессор расскажите.
     
  12. ИгорьК

    ИгорьК Гуру

    Значицца так. Все что было отвечено всеми тут участвующими, кроме меня - есть 100% соответствие фактам. То что ответил я - есть несоответствие фактам, но есть настоящая правда.
    Потому что отвечал я не Unixonу, а РОМАНУ.
    Я не в облаках летаю, а увидел эту последнюю строку новобранца.

    Так вот, "побежав" купить Iskra JS тов. РОМАН не сможет ДЛЯ ПРОГРАММИРОВАНИЯ на Си :
    - использовать вменяемые бесплантые IDE а только ломаные или Кокос (?), в котором нет пункта Iskra JS, а придется его настраивать ручками с его то пониманием МК. Пожелаем РОМАНу удачи.
    - не будет легкой адаптации ардуиновских библиотек, потому что хорошие библиотеки завязаны на железо очень сильно и парой дефайнов там не обойдешься.

    Говорить часть правды, ИМХО - лгать. Iskra JS не предназначена для программирования на Си новобранцами. Да и не всякий капитан будет это делать.

    И покупал тов. РОМАН именно Iskra JS, а не процессор с названием таким-то. И задачи покупки он свои обозначил.
    Я попытался его остановить, но он по каким-то причинам, решил поверить фактам, а не правде.

    К сожалению, никто из отвечающих предпочел не заметить то что писал РОМАН в целом, а ответил лишь на часть вопросов.
     
    Последнее редактирование: 27 июн 2016
    Alex19 нравится это.
  13. Alex19

    Alex19 Гуру

    :), исправил.

    Я нафлудил, отойдя от темы (каюсь, грешен) и отвечал не Р0МAH-у, а Unixon.

    Что касается ответа на вопрос Р0МAH-а, то исходя из его знаний/опыта и требований, ему противопоказано STM32FxDiscovery, Nucleo, Iskra JS как и другой 32-разрядный контролер.

    Единственно правильный выбор, на мой взгляд, исходя из его знаний/опыта и требований - обычная Arduino на базе 8-битной AVR. К примеру UNO, Nano, Mega. И только после знакомства с AVR и понимания его регистров, можно будет подумать о переходе на 32-битный.
     
    Последнее редактирование: 27 июн 2016
  14. Unixon

    Unixon Оракул Модератор

    Это не так. Навскидку - EmBitz / Code::Blocks / Eclipse или что угодно другое, поддерживающее подключение разных тулчейнов. STM32CubeMX для первоначальной настройки проекта, GNUARM (GCC) для компиляции, ST-Link для программирования, OpenOCD для отладки.

    Настраивать - придется, но это не проблема.

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

    Никто и не утверждал, что предназначена. Утверждали, что это возможно и посильно.

    Еще раз. Вся дискуссия была с вами, а не с ним.

    В разрезе вопроса с чего стартовать уже все хором ответили, что с Arduino/AVR.
     
    ИгорьК нравится это.
  15. Unixon

    Unixon Оракул Модератор

    У STM32 сильно больше настроек у всей периферии, поэтому тот набор функций стандартной библиотеки, которым это делается, больше и сложнее. Для Arduino есть библиотека Wiring, которую иногда называют "язык Arduino", она внешне довольно простая и позволяет быстро начать программировать. Для STM32 есть HAL = hardware abstraction layer (ранее была SPL = standard peripherals library), ни то ни то на Wiring не похоже. Есть некоторые наработки в виде libmaple и более новые (google arduino+stm32), но они требуют адаптации под конкретную плату и тестирования. Но стандартная библиотека это половина дела, дальше начинается работа с разными модулями и шилдами, многие из которых имеют свои библиотеки для Arduino, но не имеют для других платформ. Даже внутри экосистемы Arduino одни платы могут поддерживаться, а другие нет. Например, для Arduino Due (Atmel SAM3X ARM) поддержка в этом много меньше, чем для плат на AVR. Библиотеки, которые построены поверх Wiring и не лезут в железо - будут работать, другие придется переписывать. Вот. Поэтому работы сильно больше.
     
    Последнее редактирование: 27 июн 2016
    sys и Alex19 нравится это.
  16. sys

    sys Злобный Буратино Модератор

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

    Если позволите, я приведу ссылочки на цикл статей посвещенных STM32 и FreeRTOS:
    ч.1 https://habrahabr.ru/post/249273/
    ч.2 https://habrahabr.ru/post/249283/
    ч.3 https://habrahabr.ru/post/249381/
    ч.4 https://habrahabr.ru/post/249395/
    ч.5 https://habrahabr.ru/post/249975/

    Мне показалось это интересным, И подобного рода статей много в разных уголках интернета.
    Что-то мне подсказывает, что если мой энтузиазм не остановиться на опытах с JS, а захочет большего, то почему бы не замахнуться и на углубление в 32бита, ведь ничто не мешает в случае нехватки воздуха нырять помельче к 8.
    Единственный ресурс который мы расходуем и который не все могут себе позволить растрачивать впустую - это время.
     
  17. ИгорьК

    ИгорьК Гуру

    В очередной раз убеждаюсь, что талантливый человек - талантлив во всем.
    Я безумно уважаю Вас, тов Unixon, как опытнейшего эмбед-программиста, но Вы преподали мне (не знаю уж зачем, наверно чтобы не высовывался :) ) и восхитительный урок фарисейства.
    Когда я изучал логику, среди прочего нас учили и вещам, называемым демагогией (подмена тезиса, ссылка на авторитеты, выдача аналогий за доказательство и т.д.)
    Я считал, что неплохо знаю эти логические приемы.

    Но Вы действительно утерли мне нос - долой гордыню, ИгорьК: разбей тезис оппонента на две части, опровергни основание (развиваемое определением самого автора), подтверди это самое определение и ты на коне :)

    Низкий поклон, Гуру! :) Для тех, кто не изучал логику, еще раз цитата от Unixon. Учитесь, черти:

    Опять же, подтверждаем тезис таким образом, что вроде говорящий и не прав:

    И, шедевр:
     
    Последнее редактирование: 27 июн 2016
  18. ИгорьК

    ИгорьК Гуру

    И вот поэтому следует без восторгов поразмышлять. Вы зачем работаете с МК: чтобы делать что-то полезное или узнать что-то бесполезное?

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

    Строго ИМХО. Как видите, восторженный ТС пропал и не рассказывает нам об успехах Си(шного) blink(а) на Iskra JS, вопреки утверждению тов. Unixon, что это совсем не сложно.
     
    Последнее редактирование: 27 июн 2016
  19. sys

    sys Злобный Буратино Модератор

    В общем то и не поспоришь :)

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

    Но на данный момент у меня эйфория от творческого процесса и мне все горы по плечо, а море по колено :)
     
    ИгорьК нравится это.
  20. ИгорьК

    ИгорьК Гуру

    Это реально классно! Искренне - успехов!
    А я взялся изучать JS, перейдя к ней от Си. И ничуть не жалею. Да простят меня все кто любит регистры, но callback и замыкания куда интереснее.
     
    sys нравится это.