For an embedded system, can be large and small, the core is one or more MCU, and then with various types of peripherals, the orderly combination.
I think as an embedded project supervisor (i biased software), in order to allow this project to function properly, the following process should be carried out:
1. The first review determines the MCU and associated peripheral chip selection before the schematic design begins, and verifies that it meets the expected functional performance requirements of the project according to the relevant documentation.
2. After the PCB is finished and the device is welded, the basic voltage measurement of the MCU and the peripheral chip is arranged, so that the voltage of all the chips meets the requirements in the data sheet.
3. After 1 or 2 steps, the model arrangement can be transferred to the base-driven authoring staff. The base driver is responsible for the underlying driver of all types of communication interfaces and provides the relevant interface, which is the basic data communication function implementation (most commonly read and write). This process will generally encounter some problems, divided into two categories: one is the hardware design bug, or some unreasonable place. Another type of software design is the IO port configuration, timing, clock, communication protocol details processing. (There is time for this part to write a lot.) Then I suggested that the step and the next should be done in order to improve the efficiency, and that the 1 process began with the writing of the relevant code, and 2 of the completion can be tested to save time.
4. Using the low-level driver interface for functional control of peripherals, such as the LCD controller draw dot line drawing circle, flash block operation.
And then it's the system level thing. There is no hardware foundation at this time can also participate in the development of (eat dinner, haha).
Embedded project development debugging process, FAQs, solutions