【正点原子 linux 驱动编程】

  1. 在此声明,正用点编的说明书真的拉,丝毫不具备兼容性。。比如linux的第一个实验,其中包含的 unregister_chrdev_region 函数,fileoperation 结构体等均来自 文件,搞不懂,他们方ide.h, delay.h 干什么,纯纯冗余,加误导。
  2. 我用的ubuntu 23.04, docker 使用的ubuntu16。04,开发板与电脑直连,内核文件及设备树由docker编译,存放在物理机共享目录中,经tftp服务传送到开发板中,根文件系统按照说明书使用busybox,docker编译,物理机nfs挂载(另吐槽一下说明书的不准确性,nfs挂载的步骤十分冗余,nfsers=3搞定)。
  3. 另添加开发板、设备树、uboot等操作十分简单,说明书却写的巨长,实在是没有重点可言。
  4. 而对于makefile的语法介绍则略显单薄,在解读源码时并不能时刻提醒我去记忆;对于?=.:=,filter, wildcast这些函数语法只能自己去记忆
  5. 对于更换网络芯片,引脚的解释还是比较详细的。我用的linux-6.2 与其版本不一致,但其内容也提供了很多思路让我入门。另外,特别感谢https://blog.csdn.net/Wang_XB_3434/article/details/131670226?spm=1001.2014.3001.5506这篇文章帮我从宏观上理解我要做什么。
  6. 由于使用docker进行编译,使对象增加到3个(物理机,docker,开发板)。两者之间的职责也在此作下记录总结。
    6.1 物理机,提供docker的所有资源,提供与开发板的网线直连(tftp, nfs等服务, 理论上tftp, nfs 也可以用docker进行的吧。。)
    6.2 docker, 提供zImage,dtb,make,arm-linux-gnueabihf等方法, 需要linux源文件文件
    6.3 开发板,实际的操作练习工具

待改善的问题点:
7. 读硬件(电气)原理图的方法还是慢;
8. tcp\uart\spi\i2c、蓝牙、wifi等协议还需要接着看,接着学
9. 视频、图像、音频、AI选方向去研究。

学到的东西
10. docker 的基本操作,compose的使用
11. tcp、ip等计网基础知识
12. 内存管理、进程调度等知识
13. linux 常用操作指令,make语法

前路漫漫未可知,遵心守义我自知。

你可能感兴趣的:(linux,运维,服务器)