Объяснение того, как HiSilicon сокращает циклы разработки

HiSilicon Hardware Abstraction Layer (HAL) является критически важным программным уровнем. Он отделит приложения от конкретного оборудования

Объяснение

HiSilicon Hardware Abstraction Layer (HAL) является критически важным программным уровнем. Он отделит приложения от конкретных деталей оборудования. Это разделение является основным механизмом для ускорения времени выхода на рынок. HAL позволяет OEM писать портативный код без глубоких знаний базового оборудования или пакета поддержки платы (BSP). Затем OEM может повторно использовать программное обеспечение на различных аппаратных платформах, что делает BSP и HAL мощной комбинацией для разработчиков.

Ключевые выходы

  • HiSilicon's HAL упрощает кодирование. Это становится сложнымОборудованиеЗадач в простые вызовы функций. Это помогает разработчикам создавать вещи быстрее.
  • SDK предоставляет разработчикам готовые инструменты и код. Это означает, что они могут начать создавать приложения сразу. Это экономит время и деньги.
  • Специальные драйверы помогают оборудованию работать в лучшем случае. Они позволяют мощным частям, таким как GPU, делать свою работу. Это позволяет устройствам работать намного быстрее.
  • HAL помогает компаниям легко обновлять продукты. Они могут использовать новое оборудование без переписывания всего своего программного обеспечения. Это экономит усилия и ускоряет модернизацию.

Упрощение разработки с помощью абстракции HAL

Упрощение

Архитектура программного обеспечения HiSilicon в корне упрощает процесс разработки. Он достигает этого путемАбстрагирование сложных аппаратных взаимодействийВ управляемый набор функций высокого уровня. Этот подход позволяет OEM сосредоточиться на создании функций с добавленной стоимостью, а не теряться в деталях аппаратного обеспечения низкого уровня. Результатом является более эффективный и упорядоченный рабочий процесс от концепции до производства.

От регистров к API

Традиционно разработчики писали код, который напрямую управлял аппаратными регистрами. Этот процесс утомителен, подвержен ошибкам и требует глубоких знаний о конкретном оборудовании. HiSilicon HAL устраняет эту сложность. Он предоставляет библиотекуСтандартизированные интерфейсы прикладного программирования (API)Который действует как средний слой.

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

Эта абстракция охватывает широкий спектр периферийных устройств. Разработчики могут управлять такими компонентами, как таймеры, GPIO и UART, используя согласованные вызовы API. HAL эффективно скрывает основные аппаратные различия, делая код более чистым и более ремонтопригодным. Этот уровень находится поверх BSP, создавая мощную и портативную среду разработки.

Быстрее прототипирование и итерации

Этот переход от регистров к API напрямуюУскоряет прототипирование и итерацию продукта. С помощью HAL OEM может создавать и тестировать логику приложений намного быстрее. ОРазъединение программного обеспечения от физического оборудованияПредоставляет несколько ключевых преимуществ для быстрого развития:

  • Разработка изолированных компонентов:Команды могут разрабатывать и тестировать модули прошивки независимо от конечного оборудования.
  • Гибкость цепочки поставок:HAL делает его легче поменять местамиМикроконтроллерыИли другие компоненты, если возникают проблемы с поставкой, поскольку код приложения остается в основном неизменным.
  • Улучшенное повторное использование кода:OEM может использовать существующее программное обеспечение в нескольких проектах, даже с другой BSP, значительно сокращая время разработки.

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

SDK и драйверы: ускорение выхода на рынок

SDK

В то время как HAL обеспечивает стабильную основу, комплект разработки программного обеспечения (SDK) и специализированные драйверы являются двигателями для ускорения времени выхода на рынок. HiSilicon упаковывает свое программное обеспечение в полную экосистему. Эта экосистема дает OEM мощный старт. Он переносит разработку за рамки базового взаимодействия с оборудованием в быстрое, многофункциональное построение приложений. Этот комплексный подход является ключевой стратегией для ускорения времени выхода на рынок.

Использование SDK для быстрого построения приложений

HiSilicon SDK-это полная, готовая среда разработки. Он объединяет библиотеки, предварительно скомпилированные двоичные файлы и важные инструменты разработки. OEM не нужно тратить недели на создание проекта. SDK предоставляет готовую структуру, построенную поверх HAL и BSP. Эта немедленная установка является основным фактором ускорения времени выхода на рынок.

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

  • Быстрее развитие:Предварительно написанные модули и библиотеки кода позволяют разработчикам эффективно интегрировать функции, экономя время и ускоряя разработку.
  • Экономия затрат:SDK значительно сокращает время разработки и долгосрочные затраты на поддержание пользовательского кода.
  • Улучшенное качество:Он включает в себя предварительно протестированный и оптимизированный код. Эта практика уменьшает ошибки и позволяет избежать проблем совместимости оборудования, связанных с BSP.
  • Бесшовная интеграция:SDK предназначен для легкой интеграции с конкретными платформами и базовым пакетом поддержки платы.

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

// Пример кода для инициализации ИК приемника
Основной пакет

Импорт (
"FMT"
Хиапи "github.com/leandrotsampa/hisilicon"
)

Функция main() {
// Инициализировать ИК-модуль
Hiapi. HI_UNF_IR_Init()
// Включить ИК-клавишу
Hiapi. HI_UNF_IR_EnableRepKey(hiapi.HI_TRUE)

Для {
// Получить значение ключа
Если ключ, то err := hiapi.HI_UNF_IR_GetValueWithProtocol(200); err = nil {
Fmt. Printf("Полученный ключ: % # x \ n", ключ. Ниже)
}
}
// Де-инициализация ИК-модуля
Hiapi. HI_UNF_IR_DeInit()
}

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

Использование драйверов поставщиков для ускорения оборудования

МодернHiSilicon SoCsСодержат специализированные аппаратные ускорители для интенсивных задач. К ним относятся графические процессоры (GPU), цифровые сигнальные процессоры (DSP) и нейронные процессоры (NPU). Однако это мощное оборудование эффективно только в том случае, если программное обеспечение может получить к нему доступ. Именно здесь драйвер поставщика играет решающую роль.

Драйвер поставщика-это высокоспециализированная часть программного обеспечения. Он действует как эксклюзивный переводчик между операционной системой (через HAL) и конкретным аппаратным компонентом.Драйвер раскрывает весь потенциал оборудования. Без правильного драйвера система не может использовать эти мощные ускорители и должна вернуться к менее эффективному процессору. Это делает драйвер жизненно важным звеном в цепочке от BSP до приложения.

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

Категория задачиУровень программного обеспеченияВключение драйвераАппаратный компонент
Вывод ИИНейронная сеть HALДрайвер npuБлок нейронной обработки (NPU)
Кодирование видеоМедиа кодек APIДрайвер vpuБлок обработки видео (VPU)
Безопасность данныхAPI криптографииКрипто ДрайверКриптография Engine

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

Стратегические преимущества для долгосрочного роста.

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

Упрощение миграции на новые SoC

Миграция продукта на новую систему-на-чипе (SoC) часто является сложным и дорогостоящим процессом. Архитектура HiSilicon HAL значительно упрощает этот переход. Он обеспечивает стабильный и последовательный уровень API, которыйОтделяет код приложения от базового оборудования. OEM может разработать программное обеспечение, которое не привязано к конкретной конфигурации оборудования.

Когда вводится новый SoC, основная логика приложения остается практически неизменной. Усилия по разработке могут быть сосредоточены на адаптации пакета поддержки платы (BSP) к новому оборудованию. ЭтотМодульностьПредлагает несколько ключевых преимуществ:

  • Уменьшенная переработа:OEM избегает переписывания целых приложений для каждой версии оборудования.
  • Быстрее обновления:Продукты могут быть обновлены с помощью новейшего оборудования быстрее.
  • Стабильность платформы:ОПоследовательный API для разных SoCГарантирует, что программное обеспечение остается стабильным и ремонтопригодным даже при развитии базового BSP.

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

Включение параллельной разработки команды

«ХЭЛМногоуровневая архитектура-мощный инструмент для параллельной разработки. Он создает чистое разделение между прикладным уровнем и аппаратно-специфической BSP. ЭтотРазвязка позволяет программным и аппаратным командам работать независимоИ одновременно.

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

Этот рабочий процесс устраняет критические зависимости, которые часто вызывают задержки. Команда программного обеспечения не нужно ждать, пока окончательное оборудование будет доступно, чтобы начать свою работу. Такое разделение упрощает отладку, так как проблемы могут быть быстро изолированы от приложения, HAL или BSP. Эта эффективность позволяет OEM и его OEM-партнерам сократить общий цикл разработки и быстрее выводить продукцию на рынок.


Стек программного обеспечения HiSilicon предлагает четкий путь для OEM для ускорения запуска продукта. Архитектура обеспечивает несколько ключевых преимуществ для OEM.

  • HAL упрощает сложное кодирование в высокоуровневых вызовах API.
  • SDK и драйверы дают OEM готовый к использованию инструментарий разработки.
  • Модульная конструкция поддерживает долгосрочную масштабируемость продукта.

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

Часто задаваемые вопросы

В чем разница между HAL и BSP?

Уровень абстракции оборудования (HAL) предлагает стандартный API для приложений. Пакет поддержки платы (BSP) содержит аппаратный код и драйверы для конкретной платы. HAL находится поверх BSP, отделяя приложение от деталей аппаратного обеспечения низкого уровня.

Может ли OEM использовать HAL без полного SDK?

Да, OEM может использовать HAL независимо. HAL предоставляет основной API для аппаратного взаимодействия. Тем не менее, комплект разработки программного обеспечения (SDK) предлагает дополнительные библиотеки, инструменты и примеры кода. SDK значительно ускоряетОбщий процесс разработкиДля OEM.

Как HAL помогает с изменениями оборудования?

HAL обеспечивает последовательный уровень API. OEM записывает код приложения на этот стабильный уровень. При изменении оборудования разработчикам нужно только обновить базовую BSP. Код приложения требует минимальных изменений или вообще не требует изменений, что упрощает процесс миграции.

Является ли HAL специфичным для одной операционной системы?

HiSilicon разрабатывает HAL для адаптации. Он может поддерживать различные операционные системы, такие как Linux или LiteOS. Эта гибкость позволяет OEM выбрать лучшую ОС для своего продукта без переписывания логики взаимодействия основного оборудования, предоставляемой HAL.

Related Articles