linux内核移植范例,移植Linux到晶心平台 - 嵌入式设计应用 - 电子发烧友网

2.Boot loader

如果使用者有自己惯用的boot loader,可以使用惯用的boot loader以加快开发时程,如果没有boot loader的开发经验,可以选用u-boot作为系统的boot loaderu-boot的source ocde位置在BSPv310/source/Standalone/u-boot/u-boot.tgz.

2.1 U-boot

AndeSoft的BSP310中u-boot source code是需要EBIOS boot up后再执行的u-boot版本。直接boot up不需要其他软件协助的U-boot版本(ROM版)是比较符合使用者的需要,晶心版的u-boot使用方法请参考BSP310 User Manual.如果要ROM版的u-boot需要在BSP310中的u-boot软件做patch,其指令如下:

# patch -p1 patching file arch/nds32/cpu/n1213/ag101/cpu.c

patching file arch/nds32/cpu/n1213/start.S

patching file arch/nds32/include/asm/u-boot-nds32.h

patching file arch/nds32/lib/board.c

patching file board/AndesTech/adp-ag101p/config.mk

patching file include/configs/adp-ag101p.h

patch 完成的u-boot source code 可以产生ROM版的u-boot image,直接开机后的执行结果如图表3所示。

2f2d8dd2e6326926b3adf57726245c0b.gif

图表 3 u-boot 执行结果图

3. 调试环境

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

3.1设定Linux kernel 调试选项

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

dd2032981c08e2ef9ab4780c07d783e1.gif

图表 4设定Kernel hacking 中调试选项勾选

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:\Andestech\AndeSight200MCU\ice>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值进行设定。环境设定完成后,可以开始进行调试工程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值