龙芯1B核心板,内核编译方法,以usb转串口的方法为例



usb转串口的驱动,惯例使用的是pl2303驱动,在龙芯1B中也不例外,龙芯1B中使用的内核版本号是linux3.18,其中本身就带有pl2303的驱动,只是默认未打开而已。下面我将通过重新编译linux3.18的内核来实现usb转串口的功能的方法与大家分享,并将linux内核编译的大致过程做一个的分享。我以linux3.18内核为例。


第一步,注入mipsel的编译环境。可以在每次使用的时候注入,也可以将mipsel的编译环境写进了开机启动项目中。命令都是同一条,


#export PATH=~/workstation/tools/glibc-gcc-4.7.x-mips32/usr/bin:#PATH 
 
 //请根据自己的实际目录注入,以上是我的目录。



第二步,复制linux3.18的内核到某一目录,可随意,并解压
#tar -xvf linux3.18

第三步,进入解压后的文件夹,将linux3.18的默认配置复制到该文件夹的根目录下,并重新命名为.config。
#cp arch/mips/configs/ls1b_core_defconfig .config
//ls1b_core_defconfig为龙芯核心板所用的配置,core,即标识为核心板所用。在.config之前有一个空格。

第四步,打开配置文件,我们利用可视化图形界面进行配置。
make ARCH=mips CROSS_COMPILE=mipsel-linux- menuconfig
//会出现图形界面,后面就是根据自己的需要,编辑内核。

第五步,打开pl2303的驱动,并将其模块化使用。

Device Drivers —>
 [*]USB support —>
 <*>USB serial Coverter support —>
 [*]USB serial Console device support
 [*]USB Generic Serial Driver
 <M>USB Prolific 2303 Single Port Seiral Driver
 //<M>就是以模块化编译,优势是只在使用时,进行动态加载。

第六步,编译生成uImage内核
#make ARCH=mips CROSS_COMPILE=mipsel-linux- uImage -j4
//在该步骤中,我生成的是uImage文件,如果您也需要生成该类文件,需要安装mkImage的工具,安装命令为,apt-get install u-boot-tools。-j4的意思是多核进行编译,加快编译速度。

第七步,编译生成模块。如果您在配置内核时候没有选择模块化编译的,则不需要这一步。编译生成的模块,在linux3.18这个文件夹下的**drivers/usb/serial/**目录下。会生成一个名为pl2303.ko的文件。
#make ARCH=mips CROSS_COMPILE=mipsel-linux- modules

第八步,将内核更新至龙芯核心板的过程就不多说了,之前已经说过。下面是将pl2303驱动模块安装到龙芯1B核心板的方法。将pl2303.ko文件传输到龙芯1B核心板上,位置应该没有要求,我选择了根目录。传输方法,利用nfs,或者tftp,u盘都可以,也不赘述。然后,在此目录下,利用此命令进行安装。
#insmod pl2303.ko

第九步,检查驱动安装情况。如果安装成功,能看到pl2303的字眼。
**#dmesg | tail -f

另:编辑内核时,对功能的不同选择的区别。
Y - 将该功能直接编译进内核。
N -不将该功能编译进内核。
M -将该功能编译成可以在需要时,动态插入到内核的模块。