- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 gnu-linker 译文一
本文纯属自己翻译,不能保证其准确性,欢迎拍砖;如有转载,注明出处。3.链接器脚本每个链接都由链接器脚本控制,而链接器脚本又由链接器命令语言书写。链接器脚本的主要目的在于描述输入文件的各个段如何向输出文件映射,并且控制输出文件如何在内存中存放。大多数连接器脚本无非只做这些事情。但是,必要的时候,链接器脚本通过下面的命令直接操作连接器进行一些其他的操作。链接器总是要用到链接器脚本。
2014-12-16 18:26:00 2608
原创 ubuntu trash
ubuntu回收站无法显示文件问题原因不知,也不知道根治的办法,不过要想恢复误被删到回收站的文件还是可以的,关键还是找到回收站的路径。cd $HOME/.local/share/Trash/然后ls就可以显示出删除的文件了。
2014-12-15 12:11:00 2595
原创 ARM信号量操作指令
信号量操作指令一、信号量用于进程间的同步和互斥。对信号量的操作通常是一个原子操作,即在一条指令中,完成信号量的读取和修改操作,而不能被中断。ARM中提供了两条指令完成信号量的操作(ARM v6架构之前的):SWP(交换指令)SWP{} Rd, Rm, [Rn]用于将一个内存单元(内存单元地址存放在寄存器Rn中)的内容读取到一个寄存器Rd,同时将另一个寄存器Rm的
2014-12-13 19:22:34 1523
转载 linux中C嵌arm汇编 __asm__ __volatile__
本文转自:http://blog.csdn.net/geekcome/article/details/6216436 ,本人只添加了一些注释带有C/C++表达式的内联汇编格式:__asm__ __volatile__(“Instructionlist”:Output:Input:Clobber/Modify)__asm____asm__是GCC关键字asm的宏定义:
2014-12-12 20:37:12 5077
转载 临界区的问题产生一
临界区问题是嵌入式软件编程一个不得不面对的关键性问题。特别对于底层驱动,代码在内存中只有一份,上层的多任务或者多进程,都会对同一个驱动去访问,这样不可避免的遇到了任务之间打架的问题,处理好这个问题是区分一个菜鸟和老鸟的根本性关键之一。接下来谈谈临界区产生的原因:假设有以下代码:[cpp] view plaincopyint x; void process
2014-12-12 16:46:01 934
转载 临界资源和临界区
临界资源: 各进程采取互斥的方式,实现共享的资源称作临界资源。 属于临界资源的硬件有,打印机,磁带机等;软件有消息队列,变量,数组,缓冲区等。诸进程间采取互斥方式,实现对这种资源的共享。临界资源是一次仅允许一个进程将使用的共享资源。临界区: 每个进程中访问临界资源的那段代码称为临界区(c
2014-12-12 16:12:59 2968
转载 可重入函数和不可重入函数
可重入函数 可重入函数主要用于多任务环境中,一个可重入函数简单来说是可以被中断的函数,即可以在函数执行的任何时刻中断它,转入os调度下去执行另一段代码,而返回控制时不出现错误,这意味着它除了使用自己栈上的变量以外,不依赖于任何环境(包括static),这样的函数就是purecode(纯代码)可重入,可以允许该函数有多个副本在运行,由于它们使用的是分离的栈,故不会相互干扰,如果确实需要访问
2014-12-09 12:26:03 625
原创 可变参数编程练习
//可变参数的编程练习//编程步骤://1.在函数原型中使用省略号,省略号应该是最后一个参量//2.在函数定义中创建一个va_list类型的变量//3.用宏将该变量初始化为一个参数列表//4.用宏访问这个参数列表//5.用宏完成清理工作#include #include double sum(int, ...);//函数原型中使用省略号//最右边的参
2014-12-09 09:53:41 565
转载 几个字符串和内存操作函数
int strcmp(char *str1, char *str2 ):将串str1和str2进行比较,字符串相等时,函数返回0; str1 返回负值;str1 >str2,返回正值。int strncmp(char *str1, char *str2, int
2014-12-06 22:50:28 532
转载 linux container_of 宏
container_of()宏在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: th
2014-12-06 22:22:36 573
原创 字符设备驱动框架
字符设备驱动框架一、linux软件系统的层次关系一个应用程序操作底层驱动程序的过程: 1 . 应用程序使用库提供的open函数打开某一个设备文件。 2. 库根据open函数传入的参数执行swi(软件中断)指令,这会引起CPU异常,进入内核。 3 . 内核的异常处理函数根据这些参数找到
2014-12-03 09:43:41 1042
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人