固然书本上讲明jiffies是jiffies_64的低32位,但是我还是自己测试了下,重点在于链接脚本的写法。

此处只是为了测试,因此简化链接脚本。

 /* link.lds */
 1 ENTRY(_start) jiffies = jiffies_64; SECTIONS
{ . = 0x0; . = ALIGN();
.text :
{
test.o (.text)
*(.text)
} . = ALIGN();
.rodata : { *(.rodata) } . = ALIGN();
.data : { *(.data) } . = ALIGN();
.got : { *(.got) } . = ALIGN();
__bss_start = .;
.bss : { *(.bss) }
_end = .;
}
#Makefile
1 CROPROSS_COMPILER = arm-none-linux-gnueabi-
LD := ${CROPROSS_COMPILER}ld
AS := ${CROPROSS_COMPILER}as
GCC := ${CROPROSS_COMPILER}gcc mytest: test.o main.o
${LD} -T link.lds $^ -o $@ test.o: test.S
${AS} $^ -o $@ main.o : main.c
${GCC} -c $^ -o $@ .PHONY: clean clean:
@rm -f -r mytest test.o main.o
#test.S
1 .text
.global _start
_start:
b 1f
:
mov r0, r0
:
mov r0, r0
:
mov r0, r0
:
b main
 //main.c
 1 unsigned long long jiffies_64 = - * ; extern int jiffies; int main(void)
{ jiffies_64 += ;
jiffies += ; return ;
}
#反汇编,省略了一部分
1 <_start>:
: b <_start+0x4>
: nop
: nop
c: nop
: b <main> <main>: 1c: ldr r3, [pc, #] ; 取jiffies_64地址 : ldm r3, {r1, r2}
: mov r3, # ; 0x1 ; jiffies_64低位加1
: mov r4, # ; 0x0 ; jiffies_64高位加0
2c: adds r3, r3, r1
: adc r4, r4, r2
: ldr r2, [pc, #] ; 取jiffies_64地址
: stm r2, {r3, r4} ; 将jiffies_64 + 存入jiffies_64 3c: ldr r3, [pc, #] ; 取jiffies地址 : ldr r3, [r3]
: add r2, r3, # ; jiffies低位加3
: ldr r3, [pc, #] ; 取jiffies地址
4c: str r2, [r3] ; 将jiffies + 存入jiffies : .word 0x00000070 ; jiffies_64地址
: .word 0x00000070 ; jiffies地址
Disassembly of section .data: <jiffies>:
: .word 0xfffedb08
: .word 0xffffffff

jiffies存放的更多相关文章

  1. jiffies和HZ

    全局变量jiffies用来记录自系统启动以来产生的节拍的总数.启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值.一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的 ...

  2. linux定时器HZ和Jiffies

    1.linux HZ Linux核心几个重要跟时间有关的名词或变数,以下将介绍HZ.tick与jiffies. HZ Linux核心每隔固定周期会发出timer interrupt (IRQ 0),H ...

  3. 对linux内核中jiffies+Hz表示一秒钟的理解

    jiffies在内核中是一个全局变量,它用来统计系统启动以来系统中产生的总节拍数,这个变量定义在include/linux/jiffies.h中,定义形式如下. unsigned long volat ...

  4. Linux内核jiffies简介

    在LINUX的时钟中断中涉及至二个全局变量一个是xtime,它是timeval数据结构变量,另一个则是jiffies,首先看timeval结构struct timeval{time_t tv_sec; ...

  5. Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解

    在LINUX的时钟中断中涉及至二个全局变量一个是xtime,它是timeval数据结构变量,另一个则是jiffies,首先看timeval结构struct timeval{time_t tv_sec; ...

  6. HZ与Jiffies

    2.4 内核定时器 内核中许多部分的工作都高度依赖于时间信息.Linux内核利用硬件提供的不同的定时器以支持忙等待或睡眠等待等时间相关的服务.忙等待时,CPU 会不断运转.但是睡眠等待时,进程将放弃C ...

  7. (五)对linux内核中jiffies+Hz表示一秒钟的理解

    jiffies在内核中是一个全局变量,它用来统计系统启动以来系统中产生的总节拍数,这个变量定义在include/Linux/jiffies.h中,定义形式如下. unsigned long volat ...

  8. adjtimex和时钟的几个概念tick,freq,ppm,jiffies

    adjtimex使用 今天遇到一个ntp的同步问题.服务器上配置好了ntpd,在启动前也手动进行过同步,但是过段时间ntpq查询发现服务器即便能选出同步服务器,但是系统的时间偏差越来越大. 服务器上实 ...

  9. linux驱动之jiffies的理解

    本文主要借鉴了http://blog.csdn.net/allen6268198/article/details/7270194,非常感谢该网友的分享. 在LINUX的时钟中断中涉及至二个全局变量一个 ...

随机推荐

  1. Eigen教程(5)

    整理下Eigen库的教程,参考:http://eigen.tuxfamily.org/dox/index.html 块操作 块是matrix或array中的矩形子部分. 使用块 函数.block(), ...

  2. [转]mysql写注释的几种方法

    原文地址:https://www.cnblogs.com/JiangLe/p/6897403.html MySQL的注释风格总的来说有三种.它们分别是 1.单行注释可以用"#" s ...

  3. iOS中 语音识别功能/语音转文字教程具体解释 韩俊强的博客

    原文地址:http://blog.csdn.net/qq_31810357/article/details/51111702 前言:近期研究了一下语音识别,从百度语音识别到讯飞语音识别:首先说一下个人 ...

  4. AJAX 简单例程示例

    index.html <html> <head> <script> function showHint(str) { if (str.length==0) { re ...

  5. Git做代码增量发布的重要用法 - --diff-filter

    你以为有 bash git diff --name-only 就够了,NO! 对于PHP开发的系统来说,增量发布,一般只需部署新增的文件和有变动的文件,但很多时候,文件是删除的或重构成其它文件名或重构 ...

  6. [ssh]如何设计ARM板上多用户key登录系统

    如何设计ARM板上多用户key登录系统

  7. MVC源码学习之AuthorizeAttribute

    常见的Controller定义方式: public class HomeController : Controller { public ActionResult Index() { return V ...

  8. Extjs4.x Tree树刷新,默认选中展开到最后一次选中的节点

    跟Extjs3.0不同Extjs4.2的写法如下: idPath = selNode.getPath("id"); tree.getStore().load({ node: tre ...

  9. 首部讲Python爬虫电子书 Web Scraping with Python

    首部python爬虫的电子书2015.6pdf<web scraping with python> http://pan.baidu.com/s/1jGL625g 可直接下载 waterm ...

  10. Git 提交更改

    Jerry 已经提交的更改,他想纠正他的最后一次提交,在这种情况下,git 的修改将帮助操作.最后提交修改操作的变化,包括提交信息,它创建新的提交ID. 修改操作之前,他会检查提交日志. [jerry ...