Низкий уровень / встроенные системы, программирующие трудный для разработчиков программного обеспечения? [закрытый]

Как видно из ?download.file:

Для методов "wget" и "curl" системный вызов выполняется для инструмента, заданного методом, и соответствующая программа должна быть установлена ​​на вашей системы и быть в пути поиска исполняемых файлов. Они будут блокировать всю другую активность в процессе R до тех пор, пока они не завершат: это может сделать GUI не отвечающим.

blockquote>

Поэтому сначала вам следует установить curl. Смотрите это Как мне установить и использовать curl в Windows? чтобы узнать, как это сделать. Лучший!

14
задан Toybuilder 23 October 2008 в 21:43
поделиться

14 ответов

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

В моей карьере я выделил 6 лет телекоммуникационной отрасли, работая много со встраиванием промежуточного программного обеспечения SDK в низкопроизводительные мобильные телефоны и т.д.

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

я - вид, кто чувствует, что он ограничивает мою креативность.

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

На определенных встроенных единицах в прошлом, у меня едва была поддержка fseek () (ANSI C стандартная функция файла). Если удачный, "сторожевой таймер" мог бы дать ключ к разгадке туда, где что-то отказало. Не говоря уже о боли общения с пользователем в однопоточных приоритетных болотах.

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

Отношения

Robert

4
ответ дан 1 December 2019 в 06:16
поделиться

Лучшими встроенными программистами, с которыми я работал, является EE обученный и изученный SW на задании. Худшие встроенные разработчики являются недавними выпускниками CS, которые думают, что SW является единственным способом решить проблему. Мне нравится думать о встроенном программировании как о нижней части пирамиды SW. Это - стабильный уровень абстракции / основа, которая делает жизнь легкой для разработчиков приложения.

9
ответ дан 1 December 2019 в 06:16
поделиться

"Трудно" чрезвычайно относительное понятие. Если Вы привыкли думать в трудном, иногда замысловатый способ, которым Вы должны для маленького встроенного кода (например, Вы - разработчик драйвера), то, конечно, это не "твердо".

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

Аналогично, если Вы - парень UI для Windows. Это - другой вид взглядов.

6
ответ дан 1 December 2019 в 06:16
поделиться

Ну, я получил первый опыт в аппаратных средствах, когда я начал читать Popular Electronics в 14 лет †“, это было ПЕРЕД персональными компьютерами, в случае, если Вы задавались вопросом и если Вы weren’t хорошо, Вы знаете так или иначе. lol

I’ve, сделанный низкоуровневый материал разрядного удара на 8048/51 микропроцессоре, сделанном PIC’s и некоторых других однокристальных изменениях и конечно Rabbit Semiconductor. (большой, если Вы в C). Большой That’s (и забава) материал; Да, существует другой способ посмотреть на вещи †“не тяжелее, но часть той информации немного более трудна стать им isn’t, как обсуждено, поскольку программное обеспечение выходит. (Конечно, это зависит от круга друзей, с которыми Вы связываетесь, а).

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

http://msdn.microsoft.com/en-us/embedded/bb267253.aspx

Это решает некоторые из тех же проблем, к которым обратилась веб-разработка.NET, в котором можно использовать некоторых (вполне немного, на самом деле) существующего основанного на ПК знания в новых средах †“Некоторая осторожность, конечно, поскольку целевая машина doesn’t имеет 4 ГБ RAM †“, это может только иметь 64K (или меньше)

Запуск в версии 2.5.NET микро платформа, у Вас есть доступ к сетям и веб-сервисам †“путь kewl, а? Это остановка doesn’t там †¦ Хочет управлять световыми сигналами в Вашем доме? Как насчет станции записи временного файла? Все с навыками Вы уже имеете. Ну, главным образом - Выезд ссылка.

SDK включает Ваш VisualStudio IDE. Существует много “Development Kits”, доступный для очень разумной суммы наличными †“Теперь, что обычно брало бы большую кривую обучения в компонентах, создавание печатной платы и проводное соединение “stuff” могут быть сделаны довольно легкие с dev набором и некоторым довольно простым кодом †“, Конечно, Вы, возможно, должны сделать случайную разрядную операцию удара, но все больше людей датчика предоставляет.NET микро драйверы платформы †“так, аппаратная разработка может быть ближе, чем Вы think†¦

Hope, которой это помогает...

2
ответ дан 1 December 2019 в 06:16
поделиться

"Но когда я говорю с ним о выполнении низкоуровневого программирования, он одновременно выражает интерес и также сомнение/неуверенность относительно присоединения к проекту". - Который означает, Вы позволяете ему попытаться, Вы готовитесь нанимать кого-то еще в случае, если он не передает кривую обучения.

0
ответ дан 1 December 2019 в 06:16
поделиться

Я думаю, что это зависит от способа, которым они программируют в их выбранной среде и типе встроенной работы, о которой Вы говорите.

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

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

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

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

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

0
ответ дан 1 December 2019 в 06:16
поделиться

В конце дня все - API.

Потребность написать код для периферийного устройства SPI в микроконтроллере? Ну, получите таблицу данных или руководство по оборудованию, и посмотрите на периферийное устройство SPI. Это один, большой, сложный API.

проблема состоит в том, что необходимо понять аппаратные средства и некоторые основные основные принципы EE для понимания то, что означает API. Таблица данных не записана и для разработчиков SW, она была записана для инженеров аппаратного обеспечения и возможно разработчиков программного обеспечения.

, Таким образом, это - все с точки зрения аппаратных средств (стоят перед ним - компания микроконтроллера является компанией-производителем оборудования, заполненной hardware/asic инженерами).

, Что означает, переход ни в коем случае не прост и прост.

, Но это не трудно - это - просто немного отличающийся домен. Если можно реализовать учебную программу, начаться с Rabbit Semiconductor наборы. Существует достаточно программного обеспечения там, таким образом, парень SW может действительно закопать с небольшим усилием, и HW легок иметь дело с тем, потому что все перенесено в миленькие библиотеки. Когда они хотят сделать что-то сложное, они могут вырыть в прямой доступ к оборудованию и скрипку на более низком уровне, но в то же время они могут сделать некоторые довольно прохладные вещи, такие как сборка мало сетевые камеры панорамирования/наклона веб-серверов или . Существуют другие компании с подобными предложениями, но Кролик действительно фокусируется на создании аппаратных средств, легких для разработчиков программного обеспечения.

Поочередно, получите их в платформу Android. Это похоже на систему Unix им, пока они не захотят сделать что-то интересное, и затем у них будет требование напасть на ту небольшую проблему, и они узнают об аппаратных средствах.

, Если Вы действительно хотите перейти в глубине, пойдите с arduino набор - дешевые, бесплатные компиляторы и библиотеки, довольно легкие начинаться с, но необходимо поднять трубку провода, чтобы сделать что-то интересное, которое могло бы быть слишком большим из препятствия для неохотного разработчика программного обеспечения. Но немного справки и несколько пошаговых перемещений в правильном направлении и они будут абсолютно взволнованы, чтобы иметь немного светодиодного дисплея что wibbles* как световые сигналы ночного поезда...

-Adam

*Yes, это - технический технический термин.

14
ответ дан 1 December 2019 в 06:16
поделиться

Вы правы в этом кто-либо с достаточным знанием для не чувства полностью потерянными в области (по горбу?) будет обладать проблемами изучения чего-то нового.

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

Это может иметь значение, если Вы можете поддерживать разработчика в изучении, как сделать это. При наличии кого-то там можно спросить и говорить через проблему с, огромная справка в таком доменном изменении.

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

0
ответ дан 1 December 2019 в 06:16
поделиться

Я сказал бы, что это не немного тяжелее, это просто требует другого набора знаний, различных соображений.

0
ответ дан 1 December 2019 в 06:16
поделиться

Мне нравятся оба. Встроенный бросает вызов мне и действительно получает меня входящий во внутренний путь. Создание чего-то, что влияет на макро-материальный мир, очень удовлетворительно. Но я должен был привести в порядок много выгоды на электрическом конце / конце электроники, так как моя степень бакалавра находится в информатике. У меня есть симпатичный фон универсала, где я учился ай, графика, компиляторы, естественный язык, и т.д. Теперь я делаю работу выпускника во встроенных системах. Действительно жесткая часть корректируется к отсутствию средств среды выполнения как операционная система.

1
ответ дан 1 December 2019 в 06:16
поделиться

Согласованный "твердое" понятие довольно относительно.

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

0
ответ дан 1 December 2019 в 06:16
поделиться

Он должен быть доволен материалом низкого уровня, но главным образом для полевых проблем и отладки. Существует серьезная кривая обучения в зависимости от архитектуры, но не невозможна. С другой стороны, код низкого уровня занимает (в целом) больше времени и отладки, чем высокоуровневый код. Таким образом, если необходимо возвращаться к низкому уровню все время, затем возможно, что-то не правильно в дизайне. Даже для встроенных средств управления я создал, я трачу подавляющее большинство времени в высокоуровневом коде. Хотя , когда у Вас есть проблемы, чрезвычайно выгодно иметь очень хорошее знание низкого уровня.

3
ответ дан 1 December 2019 в 06:16
поделиться

Существует очень реальная разница в мышлении от разработки приложений уровня пользователя (т.е., ПК общего назначения или веб-приложения) к трудному крайнему сроку, разработка приложений ответа в режиме реального времени (т.е., аппаратные средства/программный интерфейс).

Прерывания, системы команд, контекстное переключение и трудные ограничения ресурсов относительно неизвестны Вашему среднему разработчику. Я предполагаю здесь, что Ваш 'средний разработчик' не является Электрическим/Электронным или другим Инженером по образованию.

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

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

Они - грубые общие места, конечно, но надо надеяться дают некоторое понимание.

3
ответ дан 1 December 2019 в 06:16
поделиться

Я - инженер-программист, ставший инженером-программистом. Я предпочитаю программировать на низком уровне. Большинство разработчиков программного обеспечения, прошедших классическую подготовку, которые, как я знаю, не хотят работать на том уровне, на котором они хотят вызывать API. Так что для меня это беспроигрышный вариант, я создаю драйвер низкого уровня и API для их использования. Есть «новая» степень, по крайней мере, новая с тех пор, как я пошел в колледж, называется «Инженер-компьютерщик». Хм, это может быть степень в области электротехники, а не информатика, но это хорошее сочетание основ программного обеспечения и цифрового оборудования. Людям, с которыми я работал в этой области, гораздо удобнее работать на низком уровне.

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

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

3
ответ дан 1 December 2019 в 06:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: