Отговори на тема  [ 23 мнения ]  Отиди на страница 1, 2  Следваща
Rust за ARM Cortex-M0, M3 и M4 процесори 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 8:44 pm
Мнения: 3175
Местоположение: Пловдив
Мнение Rust за ARM Cortex-M0, M3 и M4 процесори
Има ли такова чудо, което да има читаво IDE за PC с Linux, което да поддържа хардуерен дебъгер подобно на ST, Keil, IAR, ставащо за работа и с което може да се свърши нещо реално?

(Въпроса ми е към някой, които има реален опит с това)


Нед Авг 11, 2024 10:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
С руст нямам опит но го държа под око и доколкото знам има вече няколко РТОС-а писани на него т.е. яма проблем за всичко което търсиш да намериш нещо писано по темата. За ИДЕ и дебъгер предполагам, че най лесно ще е с VSCode защото в него интеграцията на всякакви езици е направена и тя не зависи от платформата т.е. syntax highlighting, autocomplete и т.н. а дебъгера обикновено не се интересува кой знае колко от езика на който е писано стига да може от мета дебъг информацията да ти покаже текущата инструкция на коя линия от сорса отговаря.

_________________
Мразя да мразя ...


Пон Авг 12, 2024 10:25 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
възниква въпроса: Защо Rust ?

_________________
main[-1u]={1};


Пон Авг 12, 2024 11:15 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
По стриктен е по време на компилация относно използване на ресурси в различни нишки и предупреждава за потенциални заключвания т.е. теоретично по стабилен код. Отделно разни големи имена го харесаха - Линус го разреши в ядрото, fish (алтернативен shell) го пренаписаха на rust. Аз съм скептичен, че в следващите 10-15 години докато се пенционирам ще е заменил доброто старо Ц така, че нямам намерение да инвестирам време за учене. Младите да го мислят. Може и да има смисъл ако хоризонта ти в бранша е още 30-на години.

_________________
Мразя да мразя ...


Пон Авг 12, 2024 11:28 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 8:44 pm
Мнения: 3175
Местоположение: Пловдив
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
TheWizard написа:
възниква въпроса: Защо Rust ?


Предполагам звучи малко тъпо, но понеже имам ограничен времеви ресурс (а и не е да не ме понамързява) ми се ще да намеря "панацеята" за моите нужди и тя да е един език за програмиране за всичко.
За сега с микроконтролерите (почти всякакъв вид от 8 до 32 битови) от десетиления си върша работа на С/С++ с най-разни платени и фри IDE-та и компилатори за Боза и Линукс, но виждам голям зор да си сетна и подкарам за Linux PC IDE + среда за крос компилация и крос дебъгинг за Расбери Пи на С/С++ ...

Разни познати (предимно PC програмисти) ми разпрявят как RUST-a бил мулти платформен и поддържал всичко като платформи "с един клик" и реших да проверя до колко това отговаря на истината. Твърдят, че специално за Расберито нямало абсолютно никакъв проблем, но мен ме интересува и девелопмънта за микроконтролерите.

Чата рязправя, че има разни варианти, даже дава и акъл какво и как да си сетна като развойни средства, но реших да питам "ЖИВИ ХОРА" за това.

Змие и гущеро-жабо подобните езици специално за Разберито се твърди че имат поддръжка и всичко необходимо, но някак си ми "обръщат червата" като започна да ги уча и все ги зарязван в даден момент. Сдобих се с всякакви книги и литература за тях, но явно съм доста изкривен като мислене от С/С++ и за сега не ми пасват на светоусещането.
(Като гледам синтаксиса на RUST-a мяЗа доста повече на С/С++ срямо тях)


Пон Авг 12, 2024 12:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
Цитат:
но явно съм доста изкривен като мислене от С/С++

е па имаш си я панацеята :D и си е плюс всякакви други експерименти

за С/С++ GDB си е стандартно, за Rust е нещо подобно, едва ли са излезнали от "шаблона"
ся до колко са интегрирани в IDE е друг въпрос

Имаше идея преди години за VSCode(IDE) / PlatformIO(builder) за всички продукти на малинките ( тотален крос )
но не се получи "сглобката" ... ПИ ОРГ казаха: нямаме човек който разбира от Python за да поддържа проекта :)

_________________
main[-1u]={1};


Пон Авг 12, 2024 12:36 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
Емо, зарежи го ръст и научи добре шел за линукс. Ще имаш повече полза във времето. После ако имаш нужда инвестирай в ръст. Малинката няма проблем да я ползваш като хост за разработка. Е, бавна е ако решиш да компилираш на нея линукс ядро ама за ембедед проекти с РТОС няма никакви проблеми. На теб проблема ти е, че искаш всичко да е с ГУИ а то е направено за конзола и шел. От шел ми отнема около час да накича всичко на празна малинка или х86 и да продължа работа. Разликата е, че не ползвам ГУИ ами сериен кабел за шел.

И за да не се чудиш да ти обясня защо е хубаво да предпочиташ шел - основно защото така можеш да работиш с минимални усилия било то ремоте през ssh до машина която е на майната си или пък през сериен кабел до платка на бюрото - усилията и уменията които трябва да имаш са едни и същи. А и ти сам си се сблъскал вече с болезненото и бавно подкарване на неща през ГУИ та би трябвало да ти светне, че нещо не е в ред. Ама се отплесваш в търсене на решение в грешна посока защото тоя ръст ще ти добави още едно ниво на омотване. А на теб проблема ти е, че не ръчкаш през терминал.

_________________
Мразя да мразя ...


Пон Авг 12, 2024 12:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 8:44 pm
Мнения: 3175
Местоположение: Пловдив
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
Малинката успях да я ползвам като хост през терминал за компилиране на С/С++, но цял живот съм дебъгвал човешки през IDE-та разни и някак си ми идва в повече слагането на брейк поинтове, дебъгване и гледане на променливи през конзолата... В ИДЕ-то това го правя с няколко клика на мишката, а и визуализацията е на друго ниво спрямо конзолната.

Аз за момента не успявам да си сглобя това, което описах за малинка като крос тулове на Линукс ПЦ, но при първа удобна възможност опитите ми ще продължат... Не съм се отказал.
(на ПЦ с Боз не съм се и опитвал, а и не мисля и да опитвам)... Опитвам се да избягам от Боз-а и за сега само на служебния комп го имам.
(Е, и на линукс лаптопите на децата съм им качил виртуали машини с Боз, за да го имат като опция, защото в училище работят с Боз, но основно гледам да ги "свикна" с линукс-а.)

(Като си реша проблема с Малинката - определено ще забравя за РЪСТ-а )


Пон Авг 12, 2024 12:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 9:39 pm
Мнения: 2277
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
ОТ:
До днес не бях пипал rust. След днес се съмнявам, че ще повторя. Два еднакви примера - hello world. На rust изпълнимият файл около 500kB, на C почти 16kB...

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ! Опонентът се оборва с ФАКТИ, а не с ЕПИТЕТИ!


Пон Авг 12, 2024 12:54 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
emilvtc написа:
Малинката успях да я ползвам като хост през терминал за компилиране на С/С++, но цял живот съм дебъгвал човешки през IDE-та разни и някак си ми идва в повече слагането на брейк поинтове, дебъгване и гледане на променливи през конзолата... В ИДЕ-то това го правя с няколко клика на мишката, а и визуализацията е на друго ниво спрямо конзолната.

Аз за момента не успявам да си сглобя това, което описах за малинка като крос тулове на Линукс ПЦ, но при първа удобна възможност опитите ми ще продължат... Не съм се отказал.
(на ПЦ с Боз не съм се и опитвал, а и не мисля и да опитвам)... Опитвам се да избягам от Боз-а и за сега само на служебния комп го имам.
(Е, и на линукс лаптопите на децата съм им качил виртуали машини с Боз, за да го имат като опция, защото в училище работят с Боз, но основно гледам да ги "свикна" с линукс-а.)

(Като си реша проблема с Малинката - определено ще забравя за РЪСТ-а )

За съжалени много често се налага да се дебъгва новия фирмуер на платка от продукцията а не на тази от девелопмънта просто защото не е ясно дали ще можеш да повториш проблема заради различията в хардуера. Ако имаш специална платка на която има удобно изкарани житаг и сериен порт е лесно. Ама като няма? Да не говорим за платки които са специално скопени да не могат да се дебъгват като част от защитата им - например платежни терминали. Тогава си принуден да дебъгваш с клатене на пинове и гледане в сорса. Да отвориш дебъгер и да гледаш променливи си е лукс. Т.е. като няма как да избегнеш трудното дебъгване по добре да му свикнеш и то да ти е основния начин а не това с ГУИ дебъгера и гледането на променливите в него. Свикнеш ли на лесното после всяка трудност ти излиза през носа - затова не се разглезвай, че после боли. Да не говорим, че като си дълбоко в един проект и всичко ти е в главата само като видиш кое не работи и ти е ясно защо може да се получи т.е. много проблеми се решават почти без дебъгване.

Ти искаш да си решиш проблемите с по добри инструменти а не с умения. Истината е, че уменията са по ценни. А умения с правят с кофти инструменти, не със хубави. Един път като натрупаш достатъчно умения тогава вече с хубавите инструменти можеш да правиш чудеса за нула време. Но преди това трябва да си минеш по трънливия път с трупането на опит. Това е основната разлика между един синьор с 5 години стаж и друг с 30.

_________________
Мразя да мразя ...


Пон Авг 12, 2024 2:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 9:14 am
Мнения: 5298
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
И аз да се включа с "компетентно мнение" :D
Ако си на С/С++ не ти трябва главоболие с Rust и тем подобни. Тия са езици-еднодневки дето стават модерни за няколко години и после загиват заменени от други еднодневки. Идеално за индианци ИТ-та да има постоянно какво да учат, ама за хора дето вършат реална работа си е просто заигравка.
Аз тук ще добавя силно противоречиво мнение - С е достатъчно за всичко, но когато човек почне да го домързява, бейсик е мързеливото решение за проблеми дето не искат капацитета на С

_________________
'просто' е технически синоним на 'красиво'


Пон Авг 12, 2024 2:53 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
Нещо не разбирам каква е драмата с дебъгването на Малинката?
1. Пускаш на Малинката с gdbserver приложението което искаш да дебъгваш.
2. На ПЦто на което си направил кроскомпилацията или дебъгваш конзолно с gdb или графично с eclipse с подходящ плъгин който поддържа gdb remote протокола. И всичко е безплатно...
Имаше и някакви платени алтернативи от сорта на VisualGDB ама не съм ги тествал.
Другия вариант е да ръгнеш клавиатура, мишка и монитор на пайката и да билдиш и дебъгваш директно на нея...


Вто Авг 13, 2024 3:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 8:44 pm
Мнения: 3175
Местоположение: Пловдив
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
Проблемите са две основни групи:
1. Как да се сетне крос компилатор (GCC) на PC с Линукс, който да е с правилните библиотеки за съответната версиа на Лунукса на малинката, така че да може да се билдне и линкне файл, който да може да върви на малинката след като се прехвърли на нея. (Добре ще е това да става с някакво IDE, за да не ми се налага да машинописвам много в конзолата)

2. След като файла е прехвърлен на малинката - да може да се дебъгва пак с някакво или същото IDE на PC-то, за да може лесно и пак без "машинописване в конзолата" да може да се слагат брейк пойнтове, да се спира и тръгва, да се гледат лесно голям брой променливи, паметта, стекове и т.н.

И всичкото това - за дебъгване на приложна програма, а не да драйвери за ядрото на ОС-а на малинката - без HW дебъгер.

3. Да може с HW дебъгер да се дебъгват драйвери на ниско ниво от ОС-а на малинката - пак крос с човешка визуализация.

Иначе да използвам малинката като комп с дисплей и клавиатура (или през конзолата) и да билдвам програми на него - това е ясно, но е тегаво.

Ако си наясно как се прави това - бирите са от мен без значение марката и количеството им.


Вто Авг 13, 2024 4:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
Малинката няма житак т.е. нея самата не можеш да я дебъгваш на ниско ниво с хардуерен дебъгер. Можеш да я ползваш като хост от който да дебъгваш друга платка която си има житаг и хардуерния дебъгер е закачен към малинката т.е. като обикновено пц.

_________________
Мразя да мразя ...


Вто Авг 13, 2024 4:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: Rust за ARM Cortex-M0, M3 и M4 процесори
Цитат:
Малинката няма житак т.е. нея самата не можеш да я дебъгваш на ниско ниво с хардуерен дебъгер.


Цитат:
Пускаш на Малинката с gdbserver приложението което искаш да дебъгваш.

дебъгваш узер APP, не кернела по житаг

_________________
main[-1u]={1};


Вто Авг 13, 2024 4:48 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 23 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни