Saw the term "expert in SoC bringup" on a job description for an embedded software developer: SoC here refers to System-on-Chip, but I was wondering what the term "SoC bringup" meant.
1 Answer
\$\begingroup\$
\$\endgroup\$
"SoC bringup" generally refers to the process of porting an operating system to a new embedded system that incorporates an SoC chip. This includes tasks such as:
- Assisting with the hardware debug by writing low-level test code to exercise memory and peripheral interfaces.
- Making sure that the bootloader can communicate with the specific boot device, and verifying that the entire boot process works correctly. This could also include writing a driver that allows an initial boot image to be written to a blank boot device.
- Verifying that OS-level device drivers exist for the specific peripherals being used. This could include writing custom drivers for application-specific hardware.
- Making sure that the debugging mechanisms for application-level code are in place and working properly. This could include some combination of JTAG (hardware) based debugging or something like
gdb
running over a network interface.
Together, these things are sometimes called a "board support package", or BSP.