红联Linux门户
Linux帮助

linux移植MPC875过程

发布时间:2009-09-29 15:02:30来源:红联作者:sunbo_bb
最近利用空闲把linux移植到MPC875上,本贴记录详细过程
首先下载u-boot,安装交叉编译环境
make distclean
make Adder87x_config 默认单板
make all

u-boot烧到flash启动,根据程序运行情况一步步修改,一般是配置文件错误。
ppc_8xx-objdump -S u-boot > u-boot.S 反汇编后查看程序跑到哪步,这个办法比较好用,在Flash挂仿真器调试时可以定到具体地址

uboot起始文件start.s
--》cpu_init_f
--》board_init_f lib_ppc/board.c
--> 初始化列表

然后跳转到RAM,进入RAM之前cache一定要关闭(MPC好像就是这样)。

uboot移植成功后即可开始内核移植。
文章评论

共有 2 条评论

  1. sunbo_bb 于 2009-09-29 22:21:35发表:

    下最新linux内核,修改makefile arch=powerpc CROSS_COMPILE=ppc_8xx-
    make menuconfig 选择MPC,尽量少修改配置,因为不懂很容易出错

    make 即可
    此时会报vga之类的错误,重新make menuconfig 去掉vga相关模块;
    编译成功后,再一步步去掉不需要的驱动模块;
    u-boot bootm只能启动uImage,因此用make uImage或者用u-boot mkimage生成uImage

    linux环境kermit 串口进入bootloader,loadb 0xcc 下载uImage 切换至kermit
    send /bin /../uImage
    下载完毕后connect 进入bootloader
    bootm 0xcc 启动kernel
    bootm会把uImage解压到内存中,解压后的结果与vmlinux相同
    可以使用ppc_8xx-objdump -S vmlinux> vmlinux.S 反汇编后查看内核启动过程,利用点灯来一步步定位内核启动时死在哪步。

  2. Sainft 于 2009-09-29 15:37:03发表:

    很有技术感