Our client is seeking a talented and experienced Embedded Engineer to join our team.
In this role, you will focus on the development of peripheral drivers, working with microcontrollers to create and optimize embedded systems. This is an exciting opportunity to work in a dynamic environment where you can enhance your skills and contribute to innovative projects.
Key Responsibilities:
- Develop embedded systems using microcontrollers.
- Design and implement peripheral drivers for UART, SPI, I2C, ADC, PWM, and other interfaces.
- Create specifications based on device datasheets and reference manuals.
- Collaborate with the hardware team to test and debug software.
- Optimize real-time control and performance using peripherals.
Required Skills:
- Experience in embedded software development using C language.
- Understanding and practical use of assembly language.
- Hands-on experience with microcontroller architectures such as ARM Cortex and RISC-V.
- Proficiency in configuring and controlling peripherals like UART, SPI, I2C, and ADC.
- Experience in setting up peripherals at the register level and developing based on datasheets and schematics.
- Debugging skills using oscilloscopes and logic analyzers.
- Experience in implementing real-time control using interrupts and timers.
- Familiarity with embedded development environments (Keil, IAR, GCC, Eclipse).
- Basic skills in version control tools (e.g., Git).
- Ability to commute daily to a lab in the Kanto region.
Preferred Skills:
- Experience with real-time operating systems (RTOS) such as FreeRTOS or μC/OS.
- Knowledge and experience in low-power modes and power management.
- Experience with communication protocols like CAN, Modbus, and Ethernet.
- Development experience using frameworks like HAL (Hardware Abstraction Layer) and CMSIS 5.
- Advanced debugging skills, including experience with JTAG and SWD.
