最近,我收到了不少龙芯赛道车友的反馈。许多车友表示,由于内核配置不佳,导致编码器等接口频繁出现问题,这让他们感到非常困扰。更让我感到意外的是,甚至有人直接询问我是否出售内核。这种现象在智能车竞赛普遍存在,现在一旦出现问题,大家的第一反应似乎都是“买”,内心不禁感到失望。
虽然和我一个赛场的对手也可能使用到我的内核,但推动技术共享与进步才是关键。所以,我决定开源自己精心打造的内核(压缩版内核 vmlinuz 文件),希望能为解决大家在智能车开发中的难题出一份力。
首先简单讲一下内核如何配置吧
在这里我使用的是linux-4.19-0802,没有的可以去文章最后自取,简单讲一下pwm的设置
用vscode打开linux-4.19-0802,我们要做的修改大部分在arch/loongarch/boot/dts/loongson/这个目录下这几个文件:
首先打开2k0300-pinctrl.dtsi
下滑找到pwm0_pin往下这几段
我们随便看一个:
在这里指定了我们的引脚,计算方式为4*16+0号引脚到4*16+0号引脚,也就是说我就用这一个引脚,再比如spi这里,就是说用4*16+0号引脚到4*16+3号引脚
在这里我们PWM引脚要用的就是 <&gpa4 0 0>; <&gpa4 1 1>; <&gpa4 2 2>; <&gpa4 3 3>;
将PWM0-3分别配置为 <&gpa4 0 0>; <&gpa4 1 1>; <&gpa4 2 2>; <&gpa4 3 3>;就可以了
接下来打开loongson_2k0300_pai_99_wifi.dts
这里就是我们注重检查的部分,由于SPI2和PWM有冲突,所以一定要记得关掉
这就是内核简单的修改,更多的不多赘述,以下是linux-4.19-0802(原版未改过,感兴趣的可以自己修改)和我的vmlinuz,适配于龙邱开源库,带PWM及屏幕,无ADC
通过网盘分享的文件:linux内核
链接: https://pan.baidu.com/s/1wLE8m9DssFvxV0R0sTVAsw?pwd=qkjh 提取码: qkjh