1、 芯龙 Linux 核移植和 化内 优福新张江 中科 科技有限公司苏 龙梦中科院 算所计2008.10.20容提要内 准 工作备 移植步骤 性能 化案例优准 工作备 打好基础 学习C 程,大致了解编 MIPS汇编 掌握操作系 的基本 念:中 , 程,统 概 断 进 内存管理等 配置和 核学习 编译内 得和熟悉 芯硬件平台获 龙 芯 理器手阅读龙 处 册 相 平台的主板手阅读 关 册 准备 境编译环 交叉编译 本地编译 取得 核源代内 码准 工作 考 源备 参 资 芯相 :龙 关 中科龙梦, 芯技 服 中心龙 术 务 : Linux/MIPS 源资 www.linux-mips.org 核代
2、、工具 、模 器和各 文内 码 链 拟 类 档考平台参 我 就以目前放们 PPT的 台 芯 本这 龙 笔记的 核 例内 开发为移植步骤1. 通我 的 境试 们 开发环2. 添加代码3. 第一 芯 核 用早期的编译 个龙 内 并 printk出 核信息输 内4. Kgdb5. CPU支持6. 主板相 支持关7. PCI子系统8. 程序驱动9. , , ,再调试 调试 调试 调试试通开发环境 我 采用串口 作 信息窗口们 来 为调试 本主板 留串口接口预 串口 、容易 得,适合做 界面简单 获 调试 串口 置设 端仿 程序:终 真 minicom(Linux),hyperterm(windows)
3、 端口 置,波特 , , 等设 验 设置: 芯龙 PMON 置设 115200 8N1 接 芯 本主板和 主 连 龙 笔记 调试 启动 能 应该 够 PMON 信息启动 进 PMON 各 操作进 项添加代码 代 置码 要添加的代 板 支持、 和一码 级 驱动系 接口的添加信息 板 支持代与 统 极 码放 习惯应该 arch/mips目 ,录 驱动应该 driver/目 ,接口代 主要 录 码 include/asm-mips和arch/mips arch/mips/lemote目录添加代码(续) arch/mips/lemote 提 主板相 的中 ,关 断 PMON接口,时,钟 IO, 存等平
4、台相 源 置内 关资 设 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等添加代码( 续 和li
5、nux/mips 核内 Include/asm-mips/cpu.h,module.h,chacheops.h,bootinfo.h: 芯相 龙 关 义 include/asm-mips/mach-lemote/dma-coherency.h, mc146818rtc.h:currency1平台特 , 要“mach-generic的 容内 Arch/mips/kernel/cpu-info.c:添加 芯龙 CPU 理代处 码 Arch/mips/kernel/proc.c: 器 fi添加 组 mach_group_to_name数组 Arch/mips/kernel/Makefile: fl config 芯龙 CPU 要用的存 管理模 储 块选 Arch/mips/Makefile: 加一 新的代 代节 码 码链进 Arch/mips/Kconfig: 添加要的配置选项