[转]龙芯上内核开发、调试和优化小结

本文详细介绍了作者在龙芯2F平台移植Linux实时扩展补丁RT_PREEMPT的过程,包括移植步骤、调试方法和优化工具的使用。通过学习MIPS汇编、理解Loongson2F平台和Linux内核,作者成功完成了移植工作,并分享了调试工具PMON、串口调试、printk等在内核调试中的应用,以及kft、kgcov和ftrace等优化工具的使用经验。
摘要由CSDN通过智能技术生成

作者: falcon   发表日期: 2009-03-31 16:14   复制链接

by falcon <wuzhangjin@gmail.com>
2009-03-31

    [差点就要长篇大论(用E文写了大概要两个section了),想了想,还是直接从weekreport里头copy过来,整理一下得了!]

    最近移植了Linux的实时扩展补丁RT_PREEMPT到loongson2f平台上,现在基本完工,这里做个小结。

一、移植过程

    移植的过程大概如下(序号大体是推进的,但是有些可能是交叉并行的):

    0、查找Loongson2f相关的资料,资料收集如下:
       http://oss.lzu.edu.cn/blog/blog.php?do_showone/tid_1986.html
       更多资料:http://dev.lemote.com/drupal/download
       Google + Baidu ==> 整个互联网
    1、学习mips汇编,学习笔记如下:
         Practical MIPS Assembly Language Programming In Linux
        http://oss.lzu.edu.cn/blog/blog.php?do_showone/tid_1991.html
       汇编的学习没有任何诀窍,看cpu指令手册,看汇编规范,使用汇编工具,做练习!
    2、了解mips/loongson2f平台
       阅读see mips run v2和loongson2f用户手册,使用福珑6003的盒子
       光看是没有用,对照内核源代码来阅读会比较好一些!
    3、了解Linux内核中跟RT_PREEMPT相关的部分
       阅读lkd,ldd3等linux内核相关的书籍,仔细阅读了内核线程、中断处理、时钟管理、进程同步等部分。
       边看边练!
    4、使用RT_PREEMPT,阅读其源代码
       http://rt.wiki.kernel.org
       在移植之前,把要移植的东西了解透彻,但是不要在某些点钻得太深,点到为止(找到跟架构和目标相关的地方为止)!否则整个进程将不好控制!
    5、移植RT_PREEMPT到qemu/mips(malta)上
       主要是解决语法错误之类,这个时候需要cscope, objdump, nm之类的工具辅助
       指定cscope的架构: $ make cscope ARCH=mips
    6、移植RT_PREEMPT到福珑6003(loongson2f based)上
       在PMON这个BIOS和Bootloader级别的debugger的帮助下找出了一个bug,可以在loongson2f上跑起RT_PREEMPT了。
       关于添加配置选项和内核编译选项什么的,请仔细阅读:Documentation/kbuild/*
       如果运行不起来,不要恐惧!因为导致运行不起来的原因仅仅是一个非常小的bug,仔细分析,用各种调试器辅助解决之!详细的调试技巧看后面一节!
    7、移植RT_PREEMPT的实时内核调试工具Ftrace和perf_counter
       这个时候主要用的调试工具就是万能的printk了~~当然,还要对mips的sub-routine之类的实现有相当的清晰!特别是寄存器的保护!
       了解这些工具的原理,熟悉相关的硬件,然后移植之!
    8、整理源代码和文档
       整理源代码,最好是以补丁的形
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值