LinuxMIPS移植指南.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LinuxMIPS移植指南.ppt

龙芯Linux内核移植和优化 张福新 江苏中科龙梦科技有限公司 中科院计算所 2008.10.20 内容提要 准备工作 移植步骤 性能优化案例 准备工作 打好基础 学习C编程,大致了解MIPS汇编 掌握操作系统的基本概念:中断,进程,内存管理等 学习配置和编译内核 获得和熟悉龙芯硬件平台 阅读龙芯处理器手册 阅读相关平台的主板手册 准备编译环境 交叉编译 本地编译 取得内核源代码 准备工作--参考资源 龙芯相关: 中科龙梦, 龙芯技术服务中心: /comapany Linux/MIPS资源 内核代码、工具链、模拟器和各类文档 参考平台 我们就以目前放PPT的这台龙芯笔记本的内核开发为例 移植步骤 试通我们的开发环境 添加代码 编译第一个龙芯内核并用早期的printk输出内核信息 Kgdb CPU支持 主板相关支持 PCI子系统 驱动程序 调试,调试,调试,再调试 试通开发环境 我们采用串口来作为调试信息窗口 本主板预留串口接口 串口简单、容易获得,适合做调试界面 串口设置 终端仿真程序:minicom(Linux),hyperterm(windows) 端口设置,波特率,奇偶校验,流控等设置:龙芯PMON缺省设置115200 8N1 连接龙芯笔记本主板和调试主机 启动 应该能够看到PMON启动信息 可进入PMON命令行进行各项操作 添加代码 代码位置 需要添加的代码包括板级支持、驱动和一些与系统接口的添加信息。板极支持代码按照习惯应该放在arch/mips目录下,驱动应该在driver/目录下,接口代码主要在include/asm-mips和arch/mips下 建立arch/mips/lemote目录 添加代码(续) arch/mips/lemote 提供主板相关的中断分派,PMON接口,时钟,IO,内存等平台相关资源设置 Linux-2.6.23中,需要实现的接口如下: PMON相关:prom_init, prom_putchar 中断相关:plat_irq_dispatch,arch_init_irq 资源设置:plat_mem_setup,plat_timer_setup,pcibios_init,set_io_port_base, get_system_type,_machine_restart,_machine_halt,pm_power_off, board_time_init, mips_rtc_get_time, _wbflush等 添加代码(续) 和linux/mips内核集成 Include/asm-mips/{cpu.h,module.h,chacheops.h,bootinfo.h}:龙芯相关宏定义 include/asm-mips/mach-lemote/{dma-coherency.h, mc146818rtc.h}:由于平台特殊行,需要覆盖mach-generic的内容 Arch/mips/kernel/cpu-info.c:添加龙芯CPU处理代码 Arch/mips/kernel/proc.c:把机器组名字添加到mach_group_to_name数组 Arch/mips/kernel/Makefile: 根据config把龙芯CPU需要用的存储管理模块选上 Arch/mips/Makefile: 增加一节把新增的代码代码链进去 Arch/mips/Kconfig: 添加必要的配置选项 Makefile修改样例 # # lemote fulong mini-PC board # core-$(CONFIG_LEMOTE_FULONG) +=arch/mips/lemote/lm2e/ load-$(CONFIG_LEMOTE_FULONG) +=0xfffffffcflags-$(CONFIG_LEMOTE_FULONG) += -Iinclude/asm-mips/mach-lemote Kconfig修改 加一个CPU节,一个平台节 config CPU_LOONGSON2 bool Loongson 2 depends on SYS_HAS_CPU_LOONGSON2 select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM help The Loongson 2E processor implements the MIPS III instruction set with many extensions. Kconfig修改 config LEMOTE_FU

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档