Collaborate with cross-functional teams, including hardware engineers, firmware developers, and product managers, to define software requirements and system architecture for ARM-based embedded products
Design, develop, and maintain high-quality embedded software for ARM platforms, including startup code, bootloaders, device drivers, etc.
Leverage ARM architectural knowledge to optimize software for efficient utilization of DRAM resources, minimizing latency, and maximizing overall system performance
Write efficient, reliable, and portable code that meets system requirements while considering ARM-specific optimizations, DRAM access patterns, and power consumption
Perform thorough testing and debugging of embedded software, identifying and resolving issues specific to ARM-based and DRAM-integrated systems to ensure the stability and functionality of the final product
Stay up-to-date with emerging ARM technologies, industry trends, and best practices, and apply this knowledge to enhance the team’s capabilities and project outcomes
Participate in code reviews, providing specialized feedback on ARM and DRAM-related aspects, and adhere to coding standards to maintain a high-quality codebase
Document ARM and DRAM-related software design, development processes, and usage instructions to facilitate knowledge sharing and maintain project transparency
Key Qualifications
Minimum of 6 years proven experience in embedded software development, specifically with ARM-based processors(e.g., ARM Cortex-M series, ARMv7, ARMv8)
Bachelor’s or higher degree in Computer Science, Electrical Engineering, or a related field
Specialized expertise in ARM architecture and deep knowledge of latest DRAM technology
Strong understanding of ARM architecture, memory management, interrupt handling, and low-level software development for ARM platforms including ARM assembly expertise
Deep knowledge of DRAM technologies, access patterns, and optimization techniques
Experience with ARM startup code, bootloader development, device drivers, and communication protocols (UART, SPI, I2C, etc.)
Proficiency in debugging tools, such as JTAG debuggers(Trace32, OpenOCD, etc.) and ARM-specific trace tools
Familiarity with ARM-based development environments, such as Keil, IAR, or GCC
Excellent problem-solving skills and a proactive approach to addressing challenges
Strong written and verbal communication skills, with the ability to work collaboratively in a startup team environment
Ideal Qualifications
Strong background in embedded systems development, a deep understanding of ARM-based processors, bootloaders, low-level software, and the ability to optimize software for DRAM testing and stabilization
Experience with RTOS, FPGA, or other ARM and DRAM-related technologies
채용 및 업무 수행과 관련하여 요구되는 법령 상 자격이 갖추어지지 않은 경우 채용이 제한될 수 있습니다.
보훈 대상자 및 장애인 여부는 채용 과정에서 어떠한 불이익도 미치지 않습니다.
담당 업무 범위는 후보자의 전반적인 경력과 경험 등 제반사정을 고려하여 변경될 수 있습니다. 이러한 변경이 필요할 경우, 최종 합격 통지 전 적절한 시기에 후보자와 커뮤니케이션 될 예정입니다.
Share
System Firmware Engineer
Responsibilities and Opportunities
Collaborate with cross-functional teams, including hardware engineers, firmware developers, and product managers, to define software requirements and system architecture for ARM-based embedded products
Design, develop, and maintain high-quality embedded software for ARM platforms, including startup code, bootloaders, device drivers, etc.
Leverage ARM architectural knowledge to optimize software for efficient utilization of DRAM resources, minimizing latency, and maximizing overall system performance
Write efficient, reliable, and portable code that meets system requirements while considering ARM-specific optimizations, DRAM access patterns, and power consumption
Perform thorough testing and debugging of embedded software, identifying and resolving issues specific to ARM-based and DRAM-integrated systems to ensure the stability and functionality of the final product
Stay up-to-date with emerging ARM technologies, industry trends, and best practices, and apply this knowledge to enhance the team’s capabilities and project outcomes
Participate in code reviews, providing specialized feedback on ARM and DRAM-related aspects, and adhere to coding standards to maintain a high-quality codebase
Document ARM and DRAM-related software design, development processes, and usage instructions to facilitate knowledge sharing and maintain project transparency
Key Qualifications
Minimum of 6 years proven experience in embedded software development, specifically with ARM-based processors(e.g., ARM Cortex-M series, ARMv7, ARMv8)
Bachelor’s or higher degree in Computer Science, Electrical Engineering, or a related field
Specialized expertise in ARM architecture and deep knowledge of latest DRAM technology
Strong understanding of ARM architecture, memory management, interrupt handling, and low-level software development for ARM platforms including ARM assembly expertise
Deep knowledge of DRAM technologies, access patterns, and optimization techniques
Experience with ARM startup code, bootloader development, device drivers, and communication protocols (UART, SPI, I2C, etc.)
Proficiency in debugging tools, such as JTAG debuggers(Trace32, OpenOCD, etc.) and ARM-specific trace tools
Familiarity with ARM-based development environments, such as Keil, IAR, or GCC
Excellent problem-solving skills and a proactive approach to addressing challenges
Strong written and verbal communication skills, with the ability to work collaboratively in a startup team environment
Ideal Qualifications
Strong background in embedded systems development, a deep understanding of ARM-based processors, bootloaders, low-level software, and the ability to optimize software for DRAM testing and stabilization
Experience with RTOS, FPGA, or other ARM and DRAM-related technologies