基于i.MX51的linux时钟体系分析<1>
来源:互联网 发布:淘宝怎么买动作片 编辑:程序博客网 时间:2024/05/18 04:38
以Freesclae的i.MX51为基础进行分析。
先分析下面的代码:
arch/arm/kernel/setup.c
extern struct sys_timer *system_timer;
672 void __init setup_arch(char **cmdline_p)
673 {
...
675 struct machine_desc *mdesc;
...
681 mdesc = setup_machine(machine_arch_type);
...
741 system_timer = mdesc->timer;
...
752 }
arch/arm/kernel/time.c
161 void __init time_init(void)
162 {
163 system_timer->init();
164 }
init/main.c
539 asmlinkage void __init start_kernel(void)
{
...
573 setup_arch(&command_line);
...
623 time_init();
...
}
arch/arm/mach-mx5/mx51_babbage.c
1367 static void __init mx51_babbage_timer_init(void)
1368 {
...
1378 mx51_clocks_init(32768, 24000000, 22579200, 24576000);
...
1382 }
1384 static struct sys_timer mxc_timer = {
1385 .init = mx51_babbage_timer_init,
1386 };
1470 MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board")
..
1482 .timer = &mxc_timer,
1483 MACHINE_END
在arch/arm/mach-mx5/mx51_babbage.c中完成对结构体struct machine_desc *中timer成员的赋值。
在内核初始化的时候执行start_kernel(),该函数先调用setup_arch(),完成对system_timer的赋值。再后执行time_init(),最终执行mx51_babbage_timer_init()函数,完成对i.MX51的clocks的初始化。
- 基于i.MX51的linux时钟体系分析<1>
- Exynos4412时钟体系分析
- Exynos4412时钟体系分析
- I.MX51 IPU读书笔记(1)
- 嵌入式系统(1) AP Inner(i.MX51)
- mx51的三个framebuffer,mxc_ipuv3_fb.c分析
- mx51的三个framebuffer,mxc_ipuv3_fb.c分析
- mx51的三个framebuffer,mxc_ipuv3_fb.c分析
- mx51的三个framebuffer,mxc_ipuv3_fb.c分析
- S3C2440的时钟体系
- s3c2440的时钟体系
- i.MX51 Boot Process
- Freescale i.mx51 mc13892
- Linux 时钟模块分析1
- mx51 TVOUT分析
- mx51 TVOUT分析
- mx51 TVOUT分析
- mx51 TVOUT分析 .
- Linux操作系统多线程同步Mutex详细介绍
- ruby入门_哈希表
- 表单内标题对齐
- .net MVC三层架构中的BaseDAL
- PX Deq Credit:send blkd(待验证)
- 基于i.MX51的linux时钟体系分析<1>
- Windows phone 7中的输入控件
- C++面试宝典2011版
- 软件测试测试概要
- ABAP将数据传送到excel并保存
- HTML
- 语言选择
- Java正则表达式入门
- KinectSDK 正式版(一)图像、景深数据获取。