ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1044318 Топик полностью
fk0, легенда (15.10.2020 11:04, просмотров: 316) ответил lloyd на Есть девайс. U-boot, Linux. Есть консоль RS232. Нужно полностью зашить девайс и проверить всю периферию через этот UART.
Мне кажется все вокруг рехнулись. Т.е. задача уровня скрипта, или простенькой программы. Но нет, для этого тянется супер-пупер фреймворк со своими проблемами. И так повсеместно. При этом часто люди тянущие этот супер-фреймворк ни ухом ни рылом в нём и не понимают более приземлённых вещей. Причём здесь вообще слово "консоль"? Можно сделать на баше, но неудобно парсить ответы. Можно сделать на awk -- чуть удобнее. Можно сделать на expect (котрый спрятан в этом фреймворке). 

Можно сделать на C/C++... А ещё нужно работать с портом RS232 (что такое "консоль", что ты называешь этим термином???) На самом деле удобней на Tcl, который сносно работает с компортами, который спрятан в expect, который спрятан в "фреймворке". Потому, что сам expect -- кривоватая паделка и его логика в принципе заменяется парой-тройкой самодельных функций на Tcl. И надо ж не только ответ разбирать, нужно представлять жизненный цикл порождённых программ в операционной системе. Ты кучу всего позапускал, а тут Ctrl-C нажали. Что делать спрашивается. Или как прибить порождённые процессы по таймауту. По уму -- сажать всех в отдельную группу процессов. Что на баше кое-как можно сделать, а в прочих скриптовых языках практически никак, кстати. Иначе нужны какие-то выкрутасы, или нажимаешь Ctrl-C -- скрипт завершился, а процессы живут своей жизнью и помирать не собираются...

[ZX]