Linux驱动编写中找不到sleep系列延时函数的解决办法

目录

  • Linux驱动编写中找不到sleep系列延时函数的解决办法
    • 开发环境
    • 问题描述
    • 原因分析
    • 解决办法

Linux驱动编写中找不到sleep系列延时函数的解决办法

开发环境

  • 宿主机:ubuntu12.04
  • 目标机:Freescale-iMX280开发板
  • 内核版本:linux-2.6.35.3
  • 交叉编译器:arm-fsl-linux-gnueabi-

问题描述

  • 开发linux驱动的时候,需要用到延时函数,准备调用:
sleep();
usleep();
msleep();

等函数的时候,编译器提示

error: implicit declaration of function 'usleep'

原因分析

sleep();
usleep();
msleep();

等函数是用户空间定义的函数,在内核中无法使用

解决办法

改用内核中定义的延时函数

//头文件
#include 

//函数原型
//秒级延时
delay();
//毫秒级延时
mdelay();
//微秒级延时
udelay();
//纳秒级延时
ndelay();

你可能感兴趣的:(嵌入式学习笔记)