- 32. PikaScript kernel advanced
- 32.1. outline
- 32.2. Kernel development overview
- 32.2.1. Reasons to choose linux
- 32.2.1.1. Kernel requirements: cross-platform capability, stability
- 32.2.1.2. Development requirements: mainstream platform, convenient debugging, complete testing tools
- 32.2.1.3. Team requirements: Avoid relying on hardware, unified development environment
- 32.2.1.4. Project requirements: easy to deploy automation facilities, CI-CD, easy software distribution
- 32.2.2. Kernel development steps
- 32.2.1. Reasons to choose linux
- 32.3. Kernel environment construction
- 32.4. Test Driven Development
- 32.5. Kernel distribution and upstream and downstream
32. PikaScript kernel advanced
32.1. outline
- Overview of kernel development
Second, the construction of the kernel development environment
Test Driven Development
Kernel distribution and upstream and downstream
32.2. Kernel development overview
Kernel development environment: linux
Kernel deployment environment: mcu ( ARM, Risc-V, Others )
32.2.1. Reasons to choose linux
32.2.1.1. Kernel requirements: cross-platform capability, stability
Only cross-platform, cross-platform Only fully tested can it be stable
32.2.1.2. Development requirements: mainstream platform, convenient debugging, complete testing tools
Use mainstream platforms, mainstream technologies, and build only one wheel at a time
32.2.1.3. Team requirements: Avoid relying on hardware, unified development environment
Reduce the difficulty of joining new members and solve the obstacle of physical distance (the express fee is very expensive) Reduce the cost of trial and error (what should I do if the hardware test board is burned) Simplify the construction of the development environment (why can’t your software be used on my computer)
32.2.1.4. Project requirements: easy to deploy automation facilities, CI-CD, easy software distribution
Automate all steps that can be automated to reduce maintenance costs
32.2.2. Kernel development steps
95% of the workload before the real machine test
32.3. Kernel environment construction
32.4. Test Driven Development
Implement functionality -> write unit tests