Linux内核基础知识

今天有点时间,从一个具体的驱动着手,认识看了一下linux的内核基本知识:


1、Linux 下的 CONFIG_OF 选项,很多的项目中都有把这个宏打开。没有了解得很透彻,但是有了一个大体的印象。

Open Firmware. This was invented long time ago when Apple was producing laptops based on PowerPC CPUs. Openfirmware provides a good description of the devices connected to the platform. In Linux kernel the part that works with device data is called Device Tree (DT). More details in the Usage model.


2、late_initcall(battery_init)和module_init(battery_init);

late_initcall的优先级比module_init的低。


3、ret = alloc_chrdev_region(&adc_cali_devno, 0, 1, ADC_CALI_DEVNAME);

alloc_chrdev_region 动态分配设备编号。


4、CLOCK_MONOTONIC 字面意思是单调的时间,指的是自系统开机时间

      CLOCK_REALTIME真实的时间。

      HRTIMER_MODE_REL是相对时间

      标准hrtimer,使用api:

{      ktime_t ktime;

ktime = ktime_set(1, 0); /* 3s, 10* 1000 ms */
hrtimer_init(&battery_kthread_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
battery_kthread_timer.function = battery_kthread_hrtimer_func;
hrtimer_start(&battery_kthread_timer, ktime, HRTIMER_MODE_REL);

}



你可能感兴趣的:(Linux内核基础知识)