微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式linux的移植的理论问题

嵌入式linux的移植的理论问题

时间:12-26 来源:互联网 点击:

.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平台的数据一致性模型差异

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top