Board logo

标题: 嵌入式linux的移植的理论问题 03 [打印本页]

作者: samwalton    时间: 2013-9-21 14:57     标题: 嵌入式linux的移植的理论问题 03

  mach-smdk2410.c:
  在mach-smdk2410.c中,我们要定义以下几个内容
  smdk2410_iodesc,描述了所有保留的设备io地址。这个描述符是我们移植一个特定目标板非常重要的地方
  在这个板描述文件中还要定义
  .phys_ram
  .phys_io
  .io_pg_offst
  .boot_params
  .map_io
  .init_irq
  .timer
  map_io:
  map_io里面需要实现设备io的初始化
  在这里要用到smdk2410_iodesc描述符。该描述符是一个数组,其中每一项都描述了一个设备的IO映射
  时钟pll的设置、uart的设置都可以在map_io中调用
  init_irq:
  在这个调用里面,关于中断的初始化将会被完成
  * 清除中断pending寄存器
  * 注册主要的中断处理程序
  * 设置系统中的设备中断
  timer:
  timer是一个sys_timer类型的结构,它包含以下成员
  -init 调用执行硬件相关的timer初始化
  -offset 调用返回自从上次timer中断以来经过的微秒数
  -resume 调用执行系统唤醒后的timer恢复操作,一般实现上和init里面的初始化一样
  应用程序移植:
  最理想情况下,程序可以不作更改,或仅仅打一些补丁,然后告诉编译环境按照目标环境要求编译即可
  * busybox
  * bash
  * sysv init
  依赖某些平台特性的应用程序移植起来往往难度更大
  * 图形库
  * 为速度进行优化的代码,比如编解码器
  软件编程语言的跨平台性直接影响软件的可移植性。此外还有其他因素
  软件协议/源代码的开放程度
  应用程序移植常见问题:
  1依赖软件造成移植性问题
  * C库版本问题
  * 图形库带来的问题
  * 软件依赖某些服务带来问题
  2网络应用在little-endian平台上的处理
  * 网络传递数据是big-endian的
  3软件依赖特定平台的特性
  4平台的数据一致性模型差异




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0