相关文章  
  • Linux系统内核定时器机制详解(下)(2)
  • Linux系统内核定时器机制详解(下)(3)
  • Linux系统内核定时器机制详解(下)(1)
  • Linux系统进程间隔定时器Itimer(下)(3)
  • Linux系统进程间隔定时器Itimer(下)(2)
  • Linux系统进程间隔定时器Itimer(下)(1)
  • 揭开Linux操作系统的Swap交换区之谜
  • Linux操作系统的声音设备编程实例(2)
  • Linux内核驱动程序初始化顺序的调整
  • Linux操作系统的声音设备编程实例(1)
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    Linux操作系统的X86汇编程序设计(3)1

    I/O 端口编程

    但直接访问硬件会怎么样呢? 在 Linux 下你需要一个核心模式的驱动程序来做这些工作... 这意味着你的程序必须分成两个部分, 一个核心模式提供硬件直接操作的功能, 其他的用户模式提供接口. 一个好消息就是你仍然可以在用户模式的程序中使用IN/OUT 来访问端口。

    要访问端口你的程序必须取得系统的同意; 要做这个, 你必须调用 ioperm(). 这个函数只能被有 root 权限的用户使用, 所以你必须用 setuid() 使程序到 root 或者直接运行在 root 下. ioperm() 的语法是这样:

    ioperm( long StartingPort#, long #Ports, BOOL ToggleOn-Off) StartingPort# 指明要访问的第一个端口值(0 是端口 0h, 40h 是端口 40h, 等等),#Ports 指明要访问多少个端口(也就是说, Starti

    页码:[1] [2] [3] [4] [5] [6]1页、共6页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved