At Tekelec I have had the chance to become very involved in the development of low-level software for the following platforms:
- VxWorks Kernel, and BSP development
- Proprietary OSs running on Arm based IXP1250, IXP2350, and EP9312 processors.
- Proprietary OSs running on many different x86 processors
All of the above platforms ran on multi-processor distributed memory blades, which were part of a larger distributed real time message passing system that implemented the Tekelec Eagle 5 platform which ran SS7 and related products such as SCCP, GTT, LNP, etc…
Specific VxWorks modules I was responsible for included:
- In system device programming (FPGA, CPLD, and Firmware hub)
- ISR handlers for Thermal conditions, battery voltages, clocks, and other Tekelec specific events
- SMBus interface routines
- CPU Thermal monitor and management (patent pending)
- Application download
- Failsafe file system on top of dosFs
- Error handler/reporting application
- Custom NMI handler
- Boot loader
On all of the above projects (except the last two) I was the lead or sole engineer. Because I played such a large role in the development of OS level code, I was the primary contact for the hardware team during board bring up when software assistance was needed.