So I just started learning about Embedded Systems, and have a few questions. What sort of software would you use to write embedded programs? or is it dependent on the manufacturer? do they have their own IDE's?
C, C++, Assembly
It mostly depends on what compilers exist for the system in question.
Open-source development fo rmicrocontrollers (apart from proprietary tools including RTOSes, etc): The majority is based either on Eclipse or NetBeans.