Un sistema embebido es un sistema electrónico y de computadora autónomo, a menudo en tiempo real, especializado en una tarea particular. El Sistema Embebido designa el hardware de la computadora, pero también el software utilizado. Sus recursos son generalmente limitados por una pequeña huella y consumo limitado.
La capacitación en Sistema Embebido está disponible en dos modalidades: "presencial en vivo" y "remota en vivo"; la primera se puede llevar a cabo localmente en las instalaciones del cliente en Venezuela o en los centros de capacitación corporativa de NobleProg en Venezuela, la segunda se lleva a cabo a través de un escritorio remoto interactivo.
NobleProg -- Su Proveedor Local de Capacitación
Testimonios
★★★★★
★★★★★
Las nuevas herramientas que aprendí allí van a ser útiles para mi trabajo diario.
FELIPE DE JESUS DUARTE LOPEZ, si
Curso: Embedded C Application Design Principles
Machine Translated
Al poner en práctica los principios del desarrollo de software, hubo muchos comentarios y ayudó a poner a prueba la teoría.
FELIPE DE JESUS DUARTE LOPEZ, si
Curso: Embedded C Application Design Principles
Machine Translated
Las nuevas herramientas que aprendí allí van a ser útiles para mi trabajo diario.
FELIPE DE JESUS DUARTE LOPEZ, si
Curso: Embedded C Application Design Principles
Machine Translated
Al poner en práctica los principios del desarrollo de software, hubo muchos comentarios y ayudó a poner a prueba la teoría.
Un curso de dos días alrededor del 60% de los laboratorios prácticos que se centran en los integrados del núcleo Linux integrados y el desarrollo y la investigación de cómo escribir varios tipos de controladores de dispositivo
Un sistema operativo en tiempo real (RTOS) es un sistema operativo (OS) diseñado para servir los datos de procesamiento de aplicaciones en tiempo real como viene, generalmente sin buffering retrasos.
Un procesador ARM es uno de una familia de CPU basadas en la arquitectura RISC (computadora con conjunto de instrucciones reducido) desarrollada por Advanced RISC Machines (ARM).
Un sistema integrado es un sistema informático con una función específica dentro de un sistema mecánico o eléctrico más grande, a menudo con restricciones informáticas en tiempo real .
Berkeley DB (BDB) es una biblioteca de software destinada a proporcionar una base de datos integrada de alto rendimiento para datos clave / valor. Berkeley DB está escrito en C con enlaces API para C ++, C #, Java, Perl, PHP, Python, Ruby, Smalltalk, Tcl y muchos otros lenguajes de programación. Berkeley DB no es una base de datos relacional. [1]
Este curso presentará la arquitectura y las capacidades de Berkeley DB y guiará a los participantes a través del desarrollo de su propia aplicación de muestra utilizando Berkeley DB.
Audiencia
Desarrolladores de aplicaciones
Ingenieros de software
Consultores técnicos
Formato del curso
Conferencia de parte, parte de discusión, desarrollo e implementación práctica, pruebas para medir la comprensión
This instructor-led, live training in Venezuela introduces the system architectures, operating systems, networking, storage, and cryptographic issues that should be considered when designing secure embedded systems.
By the end of this course, participants will have a solid understanding of security principles, concerns, and technologies. More importantly, participants will be equipped with the techniques needed for developing safe and secure embedded software.
El desarrollo basado en modelos (MBD) es una metodología de desarrollo de software que permite el desarrollo más rápido y más rentable de sistemas dinámicos, como sistemas de control, procesamiento de señales y sistemas de comunicación. Se basa en el modelado gráfico en lugar de la programación tradicional basada en texto.
En este curso dirigido por un instructor, los participantes aprenderán cómo aplicar las metodologías de MBD para reducir los costos de desarrollo y acelerar el tiempo de lanzamiento al mercado de sus productos de software integrados.
Al final de esta capacitación, los participantes podrán:
Seleccione y utilice las herramientas adecuadas para implementar MBD.
Use MBD para llevar a cabo un desarrollo rápido en las primeras etapas de su proyecto de software integrado.
Acorte el lanzamiento de su software integrado en el mercado.
Audiencia
Ingenieros de sistemas integrados
Desarrolladores y programadores
Formato del curso
Conferencia de parte, discusión en parte, ejercicios y práctica práctica
Esta capacitación intenta introducir C ++ como la extensión común de C al aplicar el desarrollo de sistemas integrados orientados a objetos. Como C ++ incluye C, este entrenamiento nos lleva de C a C ++ de una manera natural, y se ve bajo el capó de cómo se implementa C ++. Esto es especialmente valioso para comprender al aplicar C ++ en un entorno incrustado de recursos limitados. El estándar C ++ ha sido recientemente sometido a una revisión mayor, ak.a. como C ++ 11, y uno nuevo está en camino, C ++ 14. Este curso aborda temas traídos con estas revisiones que son especialmente útiles, como administración de memoria de alto rendimiento, concurrencia haciendo uso de un entorno multinúcleo y bare-metal cerca de la programación de hardware.
META / BENEFICIOS
El objetivo principal de esta clase es que usted podrá usar C ++ de una "manera correcta".
Introduzca C ++ como una alternativa de lenguaje orientado a objetos en un contexto de sistema integrado
Mostrar las similitudes y diferencias con el lenguaje C
Comprender las diferentes estrategias de gestión de la memoria, especialmente la semántica de movimientos introducida con C ++ 11
Mira debajo del capó y entiende a qué conducen los diferentes paradigmas en C ++ en el código de máquina
Utilice plantillas para lograr abstracciones seguras de alto orden para hardware cercano a la programación de hardware - E / S mapeadas en memoria así como también interrupciones - especialmente las plantillas variadas introducidas con C ++ 11
Proporcionar algunos patrones de diseño útiles especialmente aplicables en un contexto incrustado
Algunos ejercicios para practicar algunos conceptos
AUDIENCIA / PARTICIPANTES
Esta capacitación está dirigida a C ++ - programadores que pretenden comenzar a usar C ++ en un contexto de sistema integrado.
CONOCIMIENTO PREVIO
El curso requiere conocimientos básicos de programación en C ++, correspondientes a nuestros entrenamientos "C ++ - Nivel 1" y "C ++ Nivel 2 - Introducción a C ++ 11".
EJERCICIOS PRACTICOS
Durante la capacitación, practicarás los conceptos presentados en una serie de ejercicios. Utilizaremos el entorno de desarrollo integrado abierto y gratuito de Eclipse
Is C++ suitable for embedded systems such as microcontrollers and real-time-operating-systems?
Should object-oriented-programming be used in microcontrollers?
Is C++ too far removed from the hardware to be efficient?
This instructor-led, live training addresses these questions and demonstrates through discussion and practice how C++ can be used to develop embedded systems with code that is accurate, readable, and efficient. Participants put theory into practice through the creation of a sample embedded application in C++.
By the end of this training, participants will be able to:
Understand the principles of object-oriented modelling, embedded software programming and real-time programming
Produce code for embedded systems that is small, fast and safe
Avoid code bloat from templates, exceptions, and other language features
Understand the issues related to using C++ in safety-critical and real-time systems
Debug a C++ program on a target device
Audience
Developers
Designers
Format of the course
Part lecture, part discussion, exercises and heavy hands-on practice
Raspberry Pi es una computadora muy pequeña de una sola placa.
En esta capacitación en vivo dirigida por un instructor, los participantes aprenderán a configurar y programar la Raspberry Pi para que sirva como un sistema integrado interactivo poderoso.
Al final de esta capacitación, los participantes podrán:
Configure un IDE (entorno de desarrollo integrado) para obtener la máxima productividad de desarrollo
Programa Raspberry Pi para controlar dispositivos como sensores de movimiento, alarmas, servidores web e impresoras.
Comprenda la arquitectura de Raspberry Pi, incluidas las entradas y los conectores para dispositivos adicionales.
Comprender las diversas opciones en lenguajes de programación y sistemas operativos
Prueba, depura y despliega Raspberry Pi para resolver problemas del mundo real
Audiencia
Desarrolladores
Técnicos de hardware / software
Personas técnicas en todas las industrias
Aficionados
Formato del curso
Conferencia de parte, discusión en parte, ejercicios y práctica práctica
Nota
Raspberry Pi es compatible con varios sistemas operativos y lenguajes de programación. Este curso utilizará Raspbian basado en Linux como el sistema operativo y Python como el lenguaje de programación. Para solicitar una configuración específica, póngase en contacto con nosotros para organizar.
Los participantes son responsables de comprar el hardware y los componentes de Raspberry Pi.
El diseño de circuito de PCB (Printed Circuit Board) hace referencia al proceso de diseño, grabado e impresión de circuitos en un diseño de paneles de señal. EAGLE es una aplicación de escritorio disponible gratuitamente para diseñar PCB.
En esta capacitación en vivo dirigida por un instructor, los participantes aprenderán a usar el software Eagle para crear placas de circuitos de PCB. El curso comienza examinando un conjunto de esquemas existentes, luego dibujando un circuito original en Eagle. La capacitación pasa por el proceso para diseñar la placa de circuito y analiza el proceso de fabricación de las placas (el curso no incluye la fabricación física de las placas).
Al final de esta capacitación, los participantes podrán:
Cree una placa de circuito impreso (PCB) desde cualquier esquema
Cree esquemas y tableros de circuitos de diseño usando Eagle
Exportar los archivos estándar de la industria para construir la placa de circuito
Audiencia
Ingenieros
Técnicos
Formato del curso
Conferencia de parte, discusión en parte, ejercicios y práctica práctica
Notas
Para solicitar una capacitación personalizada para este curso, contáctenos para hacer arreglos.
El diseño de circuito de PCB (Printed Circuit Board) hace referencia al proceso de diseño, grabado e impresión de circuitos en un diseño de paneles de señal. Altium Designer es una aplicación de escritorio disponible gratuitamente para diseñar PCB.
En esta capacitación en vivo dirigida por un instructor, los participantes aprenderán a usar el software Altium para crear placas de circuito de PCB. El curso comienza examinando un conjunto de esquemas existentes, luego dibujando un circuito original en Altium. La capacitación pasa por el proceso para diseñar y fabricar la placa de circuito.
Al final de esta capacitación, los participantes podrán:
Cree una placa de circuito impreso (PCB) desde cualquier esquema
Cree esquemas y tableros de circuitos de diseño usando Altium
Imprima y grabe un circuito impreso
Exporte los archivos estándar de la industria para enviarlos a un fabricante a gran escala
Audiencia
Ingenieros
Técnicos
Formato del curso
Conferencia de parte, discusión en parte, ejercicios y práctica práctica
Notas
Para solicitar una capacitación personalizada para este curso, contáctenos para hacer arreglos.
FPGA (Field Programmable Gate Array) es un circuito integrado que se puede personalizar después de su fabricación.
Este entrenamiento guiado por instructores, en vivo (online o on-site) está dirigido a ingenieros que desean diseñar sistemas incorporados de alto rendimiento utilizando FPGA.
Al final de este curso, los participantes podrán:
Instalar y configurar las herramientas de software FPGA necesarias para diseñar y simular un sistema integrado.
Seleccione la mejor arquitectura FPGA para una aplicación.
Desarrollar y mejorar varios diseños de FPGA.
Formato del curso
Lecciones y discusiones interactivas.
Muchos ejercicios y prácticas.
Implementación de manos en un entorno de laboratorio en vivo.
Opciones de Customización de Curso
Para solicitar una formación personalizada para este curso, por favor contacta con nosotros para organizar.
This is a two day course covering all basic principles of building Embedded linux Systems, around 60% of the entire course time is practical hands-on implementation for real world application using the same standards and tools used in industry
Course Objectives
To provide an understanding of the essentials of embedded GNU/Linux, how the bits and pieces fit together. What components are needed to build an embedded GNU/Linux system, where to get them from and how to configure/build/install them? Where to get help from? What about those software licenses? Hands-on exercises provide you with the necessary practical experience to go ahead and develop your own embedded GNU/Linux systems after completing this training successfully.
Description
This five day training class uses hands-on exercises combined with instruction to illustrate the concepts of embedded GNU/Linux. It is designed to bring you quickly up to speed. The philosophy, concepts and commands necessary to make effective use of GNU/Linux are described through a combination of theory and on-the-job training.
Don't reinvent the wheel, but learn from an experienced trainer and take home a working knowledge of GNU/Linux and the ability to use it effectively in your own embedded development project.
Who should attend?
Managers, project managers, software-, hardware-, development-, systems engineers, testers, administrators, technicians and other parties interested in the technology, who want to understand as quickly as possible how Embedded GNU/Linux works. You must use GNU/Linux or you have to luxury to decide whether it makes sense to use it or not. Maybe you already tried to use Embedded GNU/Linux, but are not quite sure that you did everything the right way. You currently use a different operating system and wand to figure out whether GNU/Linux might better and/or cheaper.
Delivery Options
All the training material is English, but the presentation of it can be in English or in German, as you wish, worldwide.
Descripción Esta clase de capacitación de 5 días utiliza ejercicios prácticos combinados con instrucciones para ilustrar los conceptos de Linux componentes internos del núcleo GNU / Linux y el desarrollo de controladores de dispositivos. Está diseñado para llevarlo rápidamente a la velocidad. Describimos procesos, conceptos y comandos necesarios para escribir controladores de dispositivos GNU / Linux través de una combinación de teoría y capacitación en el trabajo. No reinvente la rueda, aprenda de un entrenador experimentado y llévese a casa un conocimiento práctico y la capacidad de usarlo de manera efectiva en su propio proyecto de desarrollo integrado. ¿Quién debe asistir? Personas interesadas o encargadas del desarrollo o evaluación del desarrollo de controladores de dispositivos GNU / Linux como ingenieros de software, ingenieros de campo, gerentes (de proyectos), ingenieros de hardware.
Embedded Linux, con su bajo costo, facilidad de personalización y compatibilidad con muchos tipos de microprocesadores se ha convertido en la opción natural para alimentar una amplia gama de dispositivos, como teléfonos inteligentes, tabletas, decodificadores y reproductores de MP3.
En esta capacitación, los participantes aprenderán paso a paso cómo construir un sistema Linux embebido desde cero. Desde la construcción de un kernel minimalista hasta la configuración de los procesos de arranque e inicialización, los participantes aprenderán las herramientas, técnicas y mentalidad necesarias para implementar un sistema Linux integrado completamente funcional.
Para entrenamientos remotos, QEMU se usará para emular el hardware. Otras plataformas, incluidos los dispositivos de hardware reales, se pueden considerar caso por caso.
Audiencia
Ingenieros de sistema
Formato del curso
Conferencia parcial, discusión en parte, gran énfasis en la implementación práctica
Los sistemas de almacenamiento de datos de NetApp son sistemas basados en hardware y software para escribir y leer desde matrices de discos. Data ONTAP es el sistema operativo utilizado en los sistemas de almacenamiento de NetApp. Esta capacitación en vivo dirigida por un instructor (en el sitio o remota) está dirigida a ingenieros que desean implementar NetApp ONTAP en un entorno agrupado. Al final de esta capacitación, los participantes podrán:
Configurar y administrar el clúster ONTAP 9.3.
Proteja los datos a través Data Protection tecnologías de Data Protection .
Formato del curso
Conferencia interactiva y discusión.
Muchos ejercicios y práctica.
Implementación práctica en un entorno de laboratorio en vivo.
Opciones de personalización del curso
Este curso se basa en ONTAP 9.3.
Para solicitar una capacitación personalizada para este curso, contáctenos para organizarlo.
TensorFlow Lite es un marco de aprendizaje profundo de código abierto para la ejecución de modelos en dispositivos móviles y integrados con recursos informáticos y de memoria limitados.
Este entrenamiento guiado por instructores, en vivo (online o on-site) está dirigido a los desarrolladores que desean utilizar TensorFlow Lite para implementar modelos de aprendizaje profundo en dispositivos integrados.
Al final de este curso, los participantes podrán:
Instalar y configurar Tensorflow Lite en un dispositivo integrado.
Comprender los conceptos y componentes subyacentes TensorFlow Lite.
Convertir los modelos de aprendizaje de máquina existentes en TensorFlow formato Lite para ejecución en dispositivos integrados.
Trabaja dentro de las limitaciones de los pequeños dispositivos y TensorFlow Lite, mientras aprende cómo expandir sus capacidades predefinidas.
Despliegue modelos de aprendizaje profundo en dispositivos incorporados que funcionen para resolver problemas del mundo físico como el reconocimiento de imágenes y voz, la predicción de patrones y la iniciación de movimientos y respuestas de robots y otros sistemas incorporados en el campo.
Formato del curso
Lecciones y discusiones interactivas.
Muchos ejercicios y prácticas.
Implementación de manos en un entorno de laboratorio en vivo.
Opciones de Customización de Curso
Para solicitar una formación personalizada para este curso, por favor contacta con nosotros para organizar.
Descripción
Este entrenamiento de cuatro días combina la teoría con ejercicios prácticos para introducir el Proyecto Yocto.
Responde a preguntas frecuentes como:
¿Es realmente necesario usar otra versión de la cadena de herramientas / librerías / paquetes para cada proyecto GNU / Linux y una parte superior de eso para seguir un flujo de trabajo diferente?
¿Puede asegurarse de que el entorno de desarrollo es idéntico para todos los desarrolladores / proveedores y que todavía puede producir compilaciones idénticas como hoy en 10 años o más a partir de ahora?
¿Puede el YP ayudar a averiguar bajo qué licencias de software los paquetes que usa son licenciados?
... y mucho más
Las sesiones prácticas se realizan en hardware de destino (por ejemplo, Beagle Bone Black Rev. C - http://beagleboard.org/BLACK). Después del entrenamiento podrás descargar una imagen docker con Ubuntu 14.x y todas las dependencias preinstaladas más los ejemplos para poder trabajar con el material del curso en tus propios laboratorios. Tenga en cuenta que este no es un curso de introducción a Embedded GNU / Linux. Ya debe saber cómo funciona Embedded GNU / Linux y cómo configurar / construir el kernel GNU / Linux y los controladores del kernel.
¿Quién debe asistir?
Ya usas GNU / Linux para tus proyectos y probablemente has oído hablar del Proyecto Yocto, pero no se atrevió a verlo más de cerca, o tuvo dificultades para usarlo. Usted no sabe si y cómo su flujo de trabajo diario puede ser acomodado en el YP y generalmente encontrar el YP bastante complicado. ¿Por qué necesitamos todo esto desde hasta saber que todo era (supuestamente) mucho más fácil? Después del entrenamiento usted debe poder decidir si usted necesita el YP o no. El taller está dirigido a ingenieros de software, desarrollo, sistemas, probadores, administradores, ingenieros y otras partes interesadas en el YP, con un sólido conocimiento de Embedded GNU / Linux.
Opciones de entrega
Todo el material de formación es el inglés, pero la presentación de él puede ser en inglés o en alemán, como desee, en todo el mundo.
en el sitio - instructor conducido *)
en línea - instructor impulsado **)
en el sitio / en línea combinación - instructor impulsado *) **)
(*)), Libros de trabajo (en inglés) *) **), acceso remoto a servidores y tablas **), pantalla de intercambio **), puente de audio * *).
In this instructor-led, live training in Venezuela, participants will learn how to create a build system for embedded Linux based on Yocto Project.
By the end of this training, participants will be able to:
Understand the fundamental concepts behind a Yocto Project build system, including recipes, metadata, and layers.
Build a Linux image and run it under emulation.
Save time and energy building embedded Linux systems.
Shadowsocks es un proxy de socks5 seguro y de fuente abierta.
En esta capacitación en vivo dirigida por un instructor, los participantes aprenderán cómo asegurar una conexión a Internet a través de un proxy Shadowsocks.
Al final de esta capacitación, los participantes podrán:
Instale y configure Shadowsocks en cualquiera de varias plataformas admitidas, incluidas Windows, Linux, Mac, Android, iOS y OpenWRT.
Implemente Shadosocks con sistemas de administración de paquetes, como pip, aur, freshports y otros.
Ejecute Shadowsocks en dispositivos móviles y redes inalámbricas.
Comprenda cómo Shadowsocks encripta los mensajes y garantiza la integridad y la autenticidad.
Optimizar un servidor Shadowsocks
Audiencia
Ingenieros de red
Administradores del sistema
Técnicos en computación
Formato del curso
Conferencia de parte, discusión en parte, ejercicios y práctica práctica
El Proyecto LEDE (Linux Embedded Development Environment) es un sistema operativo Linux basado en OpenWrt. Es un reemplazo completo para el firmware suministrado por el proveedor de una amplia gama de enrutadores inalámbricos y dispositivos que no son de red.
En esta capacitación en vivo dirigida por un instructor, los participantes aprenderán a configurar un enrutador inalámbrico basado en LEDE.
Audiencia
Administradores y técnicos de red
Formato del curso
Conferencia de parte, discusión en parte, ejercicios y práctica práctica
Buildroot es un proyecto de código abierto que contiene scripts que producen una cadena de herramientas de compilación cruzada, una imagen de sistema de archivos de raíz personalizable y un núcleo Linux para dispositivos integrados. Durante este curso práctico, los participantes aprenderán cómo usarlo:
Cómo seleccionar el software que va al sistema de archivos de raíz.
Cómo añadir nuevos paquetes y modificar los existentes.
Cómo añadir soporte para nuevas placas incorporadas.
Durante el curso, se producirán imágenes de sistema de archivos bootables. Los cursos remotos se entregan utilizando el emulador de QEMU, mientras que en la sala de clases es posible utilizar QEMU o placas integradas reales de la elección del entrenador.
Otros proyectos con objetivos similares incluyen el proyecto Yocto y OpenWRT. Por favor, utilice estas presentaciones para determinar cuál es la elección adecuada para sus necesidades.
Arduino es un microcontrolador de código abierto de una sola placa para construir dispositivos que puedan detectar y controlar objetos en el mundo físico.
En este entrenamiento en vivo dirigido por un instructor, los participantes aprenderán a programar el Arduino para su uso en el mundo real, como controlar luces, motores y sensores de detección de movimiento.
Al final de esta capacitación, los participantes podrán:
Programa Arduino para controlar luces, motores y otros dispositivos.
Comprenda la arquitectura de Arduino, incluidas las entradas y los conectores para dispositivos adicionales.
Agregue componentes de terceros como pantallas LCD, acelerómetros, giroscopios y rastreadores GPS para ampliar la funcionalidad de Arduino.
Comprenda las diversas opciones en los lenguajes de programación, desde C hasta los idiomas de arrastrar y soltar.
Prueba, depura y despliega el Arduino para resolver problemas del mundo real.
Audiencia
Desarrolladores principiantes
Técnicos de hardware / software
Personas técnicas en todas las industrias
Aficionados
Formato del curso
Conferencia de parte, discusión en parte, ejercicios y práctica práctica
Nota
Arduino está disponible en diferentes modelos y admite diferentes interfaces de programación (C, C ++, C #, Python) e IDE (Arduino IDE, Visual Studio, etc.). Este curso asume la placa Arduino Uno, Arduino IDE y el lenguaje Arduino (basado en C / C ++). Para solicitar una configuración diferente, póngase en contacto con nosotros para organizar.
Los participantes son responsables de comprar el hardware y los componentes de Arduino.
Last Updated:
Próximos Cursos Sistema Embebido
Construyendo un robot desde cero
2023-10-06 09:30
28 horas
Arduino: Programando un Microcontrolador para Principiantes
2023-10-20 09:30
21 horas
Arduino: Programando un Microcontrolador para Principiantes
Cursos de Fin de Semana de Sistema Embebido, Capacitación por la Tarde de Sistema Embebido, Sistema Embebido boot camp, Clases de Sistema Embebido, Capacitación de Fin de Semana de Sistema Embebido, Cursos por la Tarde de Sistema Embebido, Sistema Embebido coaching, Instructor de Sistema Embebido, Capacitador de Sistema Embebido, Sistema Embebido con instructor, Cursos de Formación de Sistema Embebido, Sistema Embebido en sitio, Cursos Privados de Sistema Embebido, Clases Particulares de Sistema Embebido, Capacitación empresarial de Sistema Embebido, Talleres para empresas de Sistema Embebido, Cursos en linea de Sistema Embebido, Programas de capacitación de Sistema Embebido, Clases de Sistema Embebido
Promociones
No hay descuentos de cursos por ahora.
Descuentos en los Cursos
Respetamos la privacidad de su dirección de correo electrónico. No transmitiremos ni venderemos su dirección a otras personas. En cualquier momento puede cambiar sus preferencias o cancelar su suscripción por completo.
is growing fast!
We are looking to expand our presence in Venezuela!
As a Business Development Manager you will:
expand business in Venezuela
recruit local talent (sales, agents, trainers, consultants)
recruit local trainers and consultants
We offer:
Artificial Intelligence and Big Data systems to support your local operation
high-tech automation
continuously upgraded course catalogue and content
good fun in international team
If you are interested in running a high-tech, high-quality training and consulting business.