10.1. PikaScript kernel advanced

Video link

10.1.1. outline

  1. Overview of kernel development

Second, the construction of the kernel development environment

  1. Test Driven Development

  2. Kernel distribution and upstream and downstream

10.1.2. Kernel development overview

Kernel development environment: linux

Kernel deployment environment: mcu ( ARM, Risc-V, Others ) ​

10.1.2.1. Reasons to choose linux

10.1.2.1.1. Kernel requirements: cross-platform capability, stability

Only cross-platform, cross-platform Only fully tested can it be stable ​

10.1.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

10.1.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)

10.1.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

10.1.2.2. Kernel development steps

_images/yuque_diagram.jpg

95% of the workload before the real machine test ​

10.1.3. Kernel environment construction

10.1.4. Test Driven Development

Implement functionality -> write unit tests

10.1.5. Kernel distribution and upstream and downstream