Мне интересно, знает ли кто-нибудь место в Интернете, где я могу приобрести или загрузить программные модули, написанные на C или C++, для взаимодействия между микропроцессорами и другими компонентами, такими как ЦАП, АЦП или UART. Что-то вроде git-хаба для встраиваемого программного обеспечения C. Существует ли это место?
Где получить программное обеспечение для встраиваемых компонентов?
Ответы (7)
Возможно, вы ищете что-то под названием «пакет поддержки доски» или BSP. Для данной операционной системы у него будет набор драйверов/библиотек, которые помогут вам взаимодействовать с аппаратным компонентом.
Сказав это, некоторые стандартные аппаратные интерфейсы, например. 16550 Uart может иметь драйверы, которые поставляются с ОС.
Вы также можете ознакомиться с книгой Жана Лаброса "Строительные блоки встраиваемых систем". . Он имеет несколько прямых библиотек C для работы с UART, аналоговым вводом-выводом, таймерами и т. д.
Конечно, вам все равно нужно подключить их к фактической аппаратной реализации чипа (как указывалось в других ответах, вы обычно можете получить библиотеки, чтобы помочь с этим от поставщиков чипов), но они могут быть удобной оболочкой, позволяющей вам больше легко перемещайте программное обеспечение более высокого уровня с одного устройства на другое. Там нет потрясающих вещей, которые было бы особенно сложно сделать самостоятельно, но их можно взять, так почему бы и нет? Даже если это не совсем то, что вам может понадобиться, это шаг вперед.
Обычно производитель устройства предоставляет вам libc, которую вы можете использовать для всего низкоуровневого.
во-первых, решите, к какому производителю чипов обратиться... затем зайдите на их официальный сайт или свяжитесь с ними, вы получите библиотеки для поддерживаемых IO и других средств связи.
Хорошо, а что насчет TI? Я знаю о BSP, но на самом деле они не существуют для программного обеспечения, которое существует ниже уровня O/S.
Во-вторых, допустим, мне нужно программное обеспечение, чтобы микроконтроллер TI MSP430 общался с DAC7565. Я действительно не могу найти программное обеспечение, которое каким-либо надежным образом связывает эти два.
Я говорю о полном программном пакете, что-то вроде жемчужины в Ruby, где я мог бы вызывать такие функции, как «OutputVoltage (unsigned int voltage, unsinged int channel)» и не обращать внимания на аппаратную реализацию.
@nobugz Да, я согласен, но это ужасно сдерживает. C должен быть похож на Ruby, где вы можете сосредоточиться только на том, что хотите сделать, не тратя время на ограничение себя из-за доступности программного обеспечения...
@Шайхи
Я нет, я инженер-программист в инженерной фирме, которая разрабатывает свои собственные платы. Я просто не могу поверить, что во всем мире и во всей истории разработки программного обеспечения я первый человек, которому нужно связать этот микроконтроллер и этот ЦАП. Поэтому он должен где-то существовать. Может быть, я не могу до него добраться, но кто-то где-то уже сделал это раньше.
Я очень молодой инженер, но кажется, что есть сотни или тысячи парней, которые снова и снова пишут одно и то же программное обеспечение. И вдобавок ко всему, поскольку есть много инженеров-программистов, которые ужасно хороши в абстрагировании и повторном использовании, я готов поспорить, что есть много инженеров, которые в конечном итоге переписывают одно и то же программное обеспечение снова и снова, потому что программное обеспечение, которое они write слишком тесно связан с этим конкретным приложением.
Просто кажется гигантской тратой инженерных часов.
Вы проверили примечания по применению на веб-сайте поставщика A/D? Они очень часто имеют код C. Проблема с кодом на ассемблере заключается в том, что существует так много разных производителей АЦП и микропроцессоров и так много разных способов подключения чипа, что они не могут предоставить библиотеку общего назначения. Кроме того, программист может захотеть опросить флаг окончания преобразования или позволить чипу прерваться, когда преобразование будет завершено. Это очень специфично для приложения. Лучше всего надеяться на то, что у поставщика есть пример кода, который послужит руководством по использованию чипа. Хорошая новость заключается в том, что руководства пользователя для этих периферийных устройств стали намного лучше, чем 20 лет назад.
Кроме того, у поставщика, вероятно, есть инженеры по применению, которые помогут вам с вашим дизайном.