Место, чтобы получить программное обеспечение для встроенных компонентов? - PullRequest
6 голосов
/ 23 января 2010

Мне интересно, знает ли кто-нибудь место в Интернете, где я могу купить или загрузить программные модули, написанные на C или C ++, для взаимодействия между микропроцессорами и другими компонентами, такими как ЦАП, АЦП или UART. Вроде как Git-Hub для встроенного программного обеспечения C. Это место существует?

Ответы [ 7 ]

3 голосов
/ 23 января 2010

Возможно, вы ищете что-то под названием «пакет поддержки платы» или BSP . Для данной операционной системы в ней будет набор драйверов / библиотек, которые помогут вам общаться с аппаратным компонентом.

Сказав это, некоторые стандартные аппаратные интерфейсы, например, 16550 Uart может иметь драйверы, поставляемые с ОС.

2 голосов
/ 23 января 2010

Возможно, вы также захотите взглянуть на книгу Жана Лаброса «Встраиваемые системы: строительные блоки» . Он имеет несколько простых библиотек C для работы с UART, аналоговым вводом / выводом, таймерами и т. Д.

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

1 голос
/ 23 января 2010

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

0 голосов
/ 01 февраля 2010

Проверяли ли вы замечания по применению на веб-сайте поставщика A / D? У них очень часто есть C-код. Проблема с кодом на ассемблере заключается в том, что существует так много разных производителей АЦП и микропроцессоров, и так много разных способов подключить чип, что они не могут предоставить универсальную библиотеку. Кроме того, программист может захотеть опросить флаг окончания преобразования или позволить чипу прерывать, когда преобразование завершено. Это очень специфично для приложения. Вы надеетесь, что у продавца есть пример кода, который послужит руководством по использованию чипа. Хорошей новостью является то, что руководства пользователя для этих периферийных устройств намного лучше, чем 20 лет назад.

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

0 голосов
/ 24 января 2010

@ Shaihi

Я не являюсь инженером-программистом инженерной фирмы, которая разрабатывает собственные платы. Я просто не могу поверить, что во всем мире и во всей истории разработки программного обеспечения я являюсь первым человеком, которому необходимо подключить этот микроконтроллер и этот ЦАП. ТАК поэтому он должен существовать где-то. Может быть, я не могу достать это, но кто-то где-то делал это раньше.

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

Просто кажется огромной тратой инженерных часов.

0 голосов
/ 24 января 2010

Хорошо, а как насчет TI? Мне известно о BSP, но они на самом деле не существуют для программного обеспечения, которое существует ниже уровня O / S.

Во-вторых, допустим, я хотел, чтобы программное обеспечение позволяло микроконтроллеру TI MSP430 взаимодействовать с DAC7565. Я действительно не могу найти программное обеспечение, которое связывает эти два надежным способом.

Я говорю о полном программном пакете, эквивалентном гему в Ruby, где я мог бы вызывать такие функции, как «OutputVoltage (unsigned int Voltage, Unsinged Int Channel))» и не замечать аппаратную реализацию.

@ nobugz Да, я согласен, но это ужасно сдерживает. C должен походить на Ruby, где вы можете сосредоточиться только на том, что вы хотите делать, не тратя время на ограничение себя из-за доступности программного обеспечения ...

0 голосов
/ 23 января 2010

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

...