ARM架构下添加系统调用(与32位x86区别)

发布者:HarmonySpirit最新更新时间:2024-09-30 来源: cnblogs关键字:ARM架构  系统调用 手机看文章 扫描二维码
随时随地手机看文章

在这两种架构下添加系统调用的步骤是类似的,简要地比较一下,以2.6.28.6内核为例。


1.在内核源码相应位置(如sys.c或其他与这个函数联系紧密的文件)添加新的内核函数作为系统调用,形如


asmlinkage long sys_foo(void) {

}


2.加入系统调用表。ARM架构存放于/arch/arm/kernel/call.S中,形如CALL(sys_foo);x86架构放于/arch/x86/kernel/syscall_table_32.S中,形如.long sys_foo。


3.定义系统调用号。ARM架构存放于/arch/arm/include/asm/unistd.h中,形如


#define __NR_foo (__NR_SYSCALL_BASE+361);


x86架构放于/arch/x86/include/asm/unistd_32.h中,形如


#define __NR_foo 333


4.使用方法:编译修改后的内核,在用户空间中使用syscall()调用。


关键字:ARM架构  系统调用 引用地址:ARM架构下添加系统调用(与32位x86区别)

上一篇:交叉编译生成模块的makefile写法
下一篇:linux4.1.36 2440 启用 RTC 支持

推荐阅读最新更新时间:2024-11-01 22:20

基于arm的linux系统调用分析
1系统调用的作用 linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用,最简单的如read,write,open等等。用户可以通过系统调用命令在自己的应用程序上调用他们,从某种角度来看,系统调用和普通函数调用非常相似。区别在于系统调用由操作系统核心提供,运行在内核态,而普通函数调用由函数库或用户自己提供,运行于用户态。实际上,很多已经被我们习以为常的C语言标准函数,在linux平台上的实现都是靠系统调用来完成的,所以如果想对系统底层原理作深入的了解,就得掌握各种系统调用时初步的要求。 2 系统调用是如何工作的 我们知道一般进程是不能访问内核的,系统调用时用户空间访问内核空间唯一合法的途径。早期linux采用OA
[单片机]
基于arm的linux<font color='red'>系统</font><font color='red'>调用</font>分析
英特尔重返手机处理器市场:或用ARM架构
据外媒报道,英特尔在移动处理器市场上一直被ARM架构的产品打压,虽有Atom处理器产品线能拿得出手,但是吃长表现并不好,而且还遭到了停止开发的命运。不过,英特尔客户端和物联网部门总裁文卡塔 伦度金塔拉透露,英特尔并咩有放弃智能手机处理器市场。 早前,英特尔对外宣布停止面向智能手机Atom处理器的开发,并取消原计划为平板电脑和二合一PC开发的新一代Atom处理器。这被外界解读为英特尔将彻底退出智能手机芯片市场。 对此,文卡塔 伦度金塔拉强调,停止开发数款移动片上系统,这不足以得出Intel放弃智能手机处理器的结论,而现在他们在移动平台方面上的态度是少说多做。同时,文卡塔 伦度金塔拉还暗示,英特尔下一款智能手机处理器
[手机便携]
AMD发布首款ARM架构服务器处理器
      威锋网 1 月 29 日消息  AMD 今天发布首款基于 ARM 架构的服务处理器芯片,该芯片采用 28nm 工艺制作,命名 AMD Opteron A1100,代号 Seattle(西雅图)。该芯片的推出表明了 AMD 欲引领 ARM 服务器 CPU 市场的决心,同时也象徵着数据管理新时代黎明的到来。   AMD 服务器业务部门副总裁 Andrew Feldman 说,这不是只有一代,未来还有一代接着一代处理器,而每一代处理器的性能都会提升,与软件硬件更密切结合。   据了解,AMD Opteron A1100 处理器基于 ARM 的 64 位 Cortex-A57 架构,拥有四个或者 8 个核心。开发者套装包括有一
[手机便携]
ARM架构X86架构的区别
1.什么是CPU 中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字面意思看运算器就是起着运算的作用,控制器就是负责发出CPU每条指令所需要的信息,寄存器就是保存运算或者指令的一些临时文件,这样可以保证更高的速度。 CPU有着处理指令、执行操作、控制时间、处理数据四大作用,打个比喻来说,CPU就像我们的大脑,帮我们完成各种各样的生理活动。因此如果没有CPU,那么电脑就是一堆废物,无法工作。移动设备其实很复杂,这些CPU需要执行数以百万计的指示,才能使它向我们期待的方向运行,而CPU的速度和功率效率是至关重要的。速度影响用户体验,而效率影响电池寿命。最完美的移动设备是高性能和低功耗相结合。 2.复杂指令集和精
[单片机]
arm架构与体系结构
1.cpu与soc 内核版本号与soc版本号由arm公司确定。 芯片型号由各半导体公司确定。 soc包括cpu与一些基本内设。(一般提到CPU都指的是soc,实际上cpu只是soc的一部分)。 RISC与CISC RISC复杂指令集:指令繁多,但是效率高。Intel等桌面pc使用这种指令集。功耗大。 CISC精简指令集: 指令少,但是效率略低。优点是功耗低适合嵌入式设备。 统一编址&独立编址   内存通过CPU的地址总线来寻址定位,然后通过CPU数据总线来读写。CPU的地址总线的位数是CPU设计时确定的,因此一款CPU所能寻址的范围是一定的,而内存是需要占用CPU的寻址空间的。内存与CPU的这种总线式连接方式是一种直接连接
[单片机]
<font color='red'>arm架构</font>与体系结构
x86的android模拟器能模拟arm架构系统
网上介绍共计三种模拟器比较常用,分别是bluestacks、andy和Genymotion,前者支持ARM架构,中者支持远程控制,后者启动速度快,各有优缺点。 如果要用genymotion模拟arm的话,还是放弃吧,直接用bluestacks。 houdini 是intel 研发的ARM binary translator 解决Android x86 系统的兼容性问题 可以安装各种安卓中文输入法,允许各种安卓游戏,号称可以兼容90%以上的安卓应用! 关键词:Android x86中文输入法应用兼容性。 在玩Android x86 系统的时候,很多童鞋们都发现没有什么应用可以用,连中文输入法都找不到。然而4.0 rc2 系统发
[单片机]
浅析Arm Linux操作系统调用流程详细解析 .
系统调用是os操作系统提供的服务,用户程序通过各种系统调用,来引用内核提供的各种服务,系统调用的执行让用户程序陷入内核,该陷入动作由swi软中断完成. At91rm9200处理器对应的linux2.4.19内核系统调用对应的软中断定义如下: #if defined(__thumb__) //thumb模式 #define __syscall(name)/ push {r7}/n/t / mov r7, # __sys1(__NR_##name) /n/t / swi 0/n/t / pop {r7} #else //arm模式 #define __syscal
[单片机]
软件标准化有望 ARM架构进军嵌入式应用添助力
在工业、交通、零售等产业应用领域,采用ARM处理器与Linux或Android操作系统的嵌入式装置,虽然在软硬件成本上有其优势,但由于其生态系统太过自由发散,因此在应用开发的过程中,常常会因为欠缺标准化而遇到许多麻烦,导致其成本优势被抵消殆尽。 有鉴于此,研华科技与安谋国际(ARM)、Canonical、Lineo、Retronix和Witekio等众多软硬件业者,日前携手成立嵌入式Linux/Android联盟(Embedded Linux Android Alliance, ELAA),将致力于在工业嵌入式市场推动开放、标准化的Linux和Android软硬件架构, 建立完善软硬件产业生态体系,协助物联网业者快速运用ARM处理
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多开源项目推荐

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved