新闻中心

EEPW首页>EDA/PCB>设计应用> 如何移植Linux到晶心平台

如何移植Linux到晶心平台

作者: 时间:2012-03-30 来源:网络 收藏

3. 调试环境

之前,先架设好调试的环境,尤其对底层原始码的,有莫大的帮助,在 printk尚未正常运作前,需依靠AndeShape™的AICE与 AndeSoft™的GDB来进行调试。

3.1设定kernel 调试选项
Linux Kernel 需要设定一些调试选项,才能顺利的运用AndeSoft™的GDB进行调试。中Linux kernel 调试选项设定如图表4所示,增加这些选项会增加kernel 映像文件的空间,如果空间占用过大以至于不符合设计需求时,可在调试工作完毕后将调试选项关闭以节约不必要的空间浪费。


3.2 Linux kernel 调试的程序

Build成kernel bootpImage (含kernel debug message如图表四选项) 后,Linux的映像档放到FPGA板子上,PC host 端的AndeSoft™的GDB透过网络(socket)与AICE连接至FPGA板子,进行调试的工作。

3.2.1. 编译链结成映像档
设定好AndeSoft™的 cross-compiler 路径后,利用下列指令经由compiler and linker后可以得到 bootpImage,指令如下:

#CROSS_COMPILE=nds32le-linux- ARCH=nds32 make xc5_defconfig
#CROSS_COMPILE=nds32le-linux- ARCH=nds32 make menuconfig
# CROSS_COMPILE=nds32le-linux- ARCH=nds32 make bootpImage INITRD=xc5_glibc_ramdisk.img

将生成的bootpIamge放到FPGA板子上,将AICE连接到FPGA板子启动ICEman,指令如下:

#C:AndestechAndeSight200MCUice>ICEman.exe --p 1234

PC host端的AndeSoft™的GDB透过网络(socket)与AICE连接至FPGA板子,进行调试的工作,示范指令如下:

#ddd --debugger nds32le-linux-gdb vmlinux
gdb>target remote 10.0.2.164:1234

其中IP值 10.0.2.164是一个应用范例,用户可依环境实际IP值进行设定。环境设定完成后,可以开始进行调试工程。


4.Linux至关键点经验传承

4.1 Kernel加载程序调试实作

kernel加载程序目的将kernel主程序进行解压缩并加载正确位置,此程序与kernel主程序是两个不同程序,但会一起包在zImage中只是kernel加载程序会attached在zImage的前面。调试时需 file不同的 ELF file才能进行正确的调试工作,kernel加载程序的位置在arch/nds32/boot/compressed/vmlinux,指令如下所示。


#ddd --debugger nds32le-linux-gdb arch/nds32/boot/compressed/vmlinux

kernel主程序的ELF file “vmlinux”在kernel source code的根目录下指令如下所示。
#ddd --debugger nds32le-linux-gdb vmlinux

4.2 Linux kernel 调试实作

kernel加载程序执行完毕后会跳到kernel主程序执行。进入点是arch/nds32/kernel/head.S的assembly code执行完后会进入 kernel 的主要函数 “start_kernel”。

4.2.1. RAM offset patch

晶心版Linux原始码搭配XC5平台,RAM的起始位置(指的是PA)是0x0,使用者FPGA开发板的RAM起始位置如果不是0x0,必须要修改FPGA板子中RAM的起始位置,做法是在晶心版的Linux原始码中进行RAM address patch,将原始码中RAM位置调整到FPGA开发板中RAM的真实位置。

4.2.2. PA/VA remap table

当FPGA板子IO的PA设定正确后,使用者需要设定PA/VA remap table,作法可参考arch/nds32/include/asm/spec-ag101.h,依照apec-ag101.h中PA/VA对应的关系去增减使用者自己IO device的 PA/VA remap table。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭