网上有很多基于F1c200s自制linux开发板的,自己也手痒,画了个板子做了一下,内核和uboot是直接使用的荔枝派的。现在记录一下修改调试口的问题。因为我板子的串口0被其他占用了,我只能使用串口1。
uboot制作、内核的制作、文件系统的制作我就不说了,大家应该都会。就说一下这个串口吧。我参考的资料是CSDN上的一篇博客:
https://blog.csdn.net/qq_17833651/article/details/127707195/
实际上,使用参考这篇博客搞完之后系统并不能启动会报错:
原因我也不晓得,在网上查了一下也没有具体的说法,不改串口直接使用荔枝派默认串口,系统能启动,因为我开启了系统指示灯,能看见指示灯闪烁,只能是瞎搞了。然后搞了几次就成功了,你问我成功的原理,我也说不清楚,只能是我来抛砖引玉,大佬来解释了。
下面是我改的内容:
第一,就是这个文件的这部分代码,不注释掉,而是增加两行代码
把这个头文件仍上面去,不然会报错
注意寄存器,serial@后面要改成你要用的寄存器地址。
这个地方多写点,省的后来者再去琢磨:
第二部就是改uboot的设备树dts文件,我不知道为啥uboot中也有设备树,好吧,我承认我还没入门,真的不知道我为啥uboot中也有设备树,虚心求大佬解释一下。不是uboot只是把跟内核放一起的的设备树加载到内存就好了么?那个设备树也是内核编译出来的啊,为啥uboot中还有个设备树,跟内核中的设备树内容还一样。好吧,言归正传:uboot的设备树改的跟内核的设备树一样,也是在suniv。dtsi中增加串口pin子系统,增加mmcpin子系统,增加mmc0节点,然后再在suniv-f1c200s-licheepi-nano.dts文件中开启就行了。
其实就是我直接从内核中的dts文件中复制出来的。
最后再编译。然后就运行成功了,。。。
但是,打印出来两个电源禁止的信息,我不知道这是为啥,求大佬指点。。。万分感谢。。。
离线