This... In fact, I don't know much about arm. At most, I even know how to play arm, emmc, MMU, and early sayings, such as norflash nandflash.
Then write a bare metal or something, which is a little better...
Or that interface, runtime environment, Contex-A9.
Boot uses uboot, and dnw downloads the interface to the Board to directly write the video memory. The method is simple, effective, and common.
At present, the problem of running on ARM is how to easily, effectively, and universally implement mouse and keyboard operation crawling. on x86, it is easy to handle, but it is nothing more than taking over several interruptions, basically, every book that talks about writing a GUI system will mention it. But the question is, what about arm? There are many differences between independent addressing and unified addressing. A good solution is required. There may also be no simple, effective, and general solutions at all. Let's talk about it later.
In fact, I feel that as I keep writing, my encapsulation capability is also increasing,
Code is dependent on other files, and coupling with other code files is also decreasing.
Interface I wrote, run on ARM