当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]系统调用是应用程序和操作系统内核之间的功能接口。其主要目的是使得用户可以使用操作系统提供的有关设备管理、输入/输入系统、文件系统和进程控制、通信以及存储管理等方面的功能,而不必了解系统程序的内部结构和有关硬件细节,从而起到减轻用户负担和保护系统以及提高资源利用率的作用。

一、源码修改

1下载一个与所用系统内核版本接近的内核,放在/usr/src下,解压,作个链接ln -s linux-2.6.18.1 linux

2修改:修改三个地方

1)/usr/src/linux/kerner/sys.c中添加,

asmlinkage int sys_mysyscall(int a)

{

return a;

}

2)定义系统调用号,/usr/src/linux/include/asm-i386/unistd.h

#define _NR_sysmycall 318 //不能与前面已有的重复

#define _NR_syscalls 319//修改系统中所用系统调用数目

3)在系统调用向量表里添加自定义的系统调用函数入口位置,

/usr/src/linux/arch/i386/kernel/syscall_table.S,以前老版本是entry.s

.long sys_mysyscall

二、内核编译

1.在/boot下复制配置文件,到/usr/src/linux下,改名位config,make menuconfig,可以不用修改,直接退出

2.make clean 清空以前的编译痕迹

3.make,编译出来的是bzImage

4.make modules,make modules-install//编译、安装config里配置的模块

如不执行次步骤,对于有的系统,制作不了initrd文件。系统就启动不了

5.如果直接make install,系统会自动制作initrd文件,并复制initrd和bzimage文件到/boot下,修改grub.conf文件,重启系统,选择进入新内核

6.不使用make install命令。复制bzImage到/boot下,改名位vmlinuz-2.6.18.1,手工制作initrd文件,/mkinitrd initrd-2.6.18.1.img 2.6.18.1,initrd文件名位initrd-2.6.18.1

7.修改grub.conf文件,复制原来已有的启动设置,把title和kernel和initrd改名为新制作的即可

三、编写代码测试

int main(void)

{

int a=syscall(318,100);//318是系统调用号,100是参数

printf("%d\n",a);

return 0;

}

syscall是内核提供为用户程序的一个函数,

如果不使用syscall函数,也可以使用宏定义,但是在2.6.20以后的版本里,没有宏定义,需要自己从其他版本里复制过来添加。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

新加坡和阿姆斯特丹2026年10月12日 /美通社/ -- 在 Euronext Amsterdam 上市的 SWI Group(“SWI”;股票代码:SWICH)今日宣布获...

关键字: GROUP AI IC 代码

企业无需将敏感代码、数据或工作流移出其可控的基础设施,即可使用 AI 赋能的软件开发与现代化能力。 北京2026年10月12日 /美通社/ -- IBM(纽约证券...

关键字: IBM AI BSP 软件开发

香港2026年10月9日 /美通社/ -- 华钦科技集团公司(纳斯达克代码:CLPS,以下简称"华钦科技")今日宣布将于下周五2026年10月16日开盘前发布2026财年下半年及全年财报。 华钦科技...

关键字: PS BSP 代码 COM

台湾新竹 – 2026 年 10 月 1 日 –––全球半导体领导供货商新唐科技股份有限公司(Nuvoton Technology Corporation)正式推出 NuMicro® MA35D0 系列最新 LQFP12...

关键字: MPU Linux 智能网关

旅游零售龙头品牌部署玩美移动 Skincare Pro AI 肤质分析技术,为出行旅客提供个性化护肤选购建议 上海2026年9月29日 /美通社/ -- 全球领先的增强现实(AR)和人工智能(AI)美妆科技领导者——玩...

关键字: 移动 AI 数字化 代码

连续四年获此殊荣 彰显推动可持续发展的坚定承诺  支持香港迈向碳中和未来 香港2026年9月24日 /美通社/ -- 新意网集团有限公司(“新意网”; “本公司”...

关键字: 可持续发展 数据中心 数码 代码

米尔电子 MYD-LR3576 Android V2.0.1 现已正式发布。继 V1.0.0 版本支持 Android 14 后,本次发布将系统升级至 Android 15,并围绕系统基线、板级功能和使用体验进行三重升级...

关键字: 开发板 Android 15 Linux

ARM工业网关跑软PLC,适合把“少量逻辑控制+协议转换+上云”合并到一台设备:本地用IEC 61131-3做启停/联锁/计数,外接DI/DO、RS485、CAN、以太网,再通过Modbus TCP/OPC UA/MQT...

关键字: ARM软PLC Linux 网关IO

摩尔斯微电子的 Wi-Fi HaLow软件现已面向 Zephyr开放,Zephyr是嵌入式设备领域应用最广泛的开源实时操作系统之一

关键字: 嵌入式设备 Wi-Fi HaLow Linux

中国上海,2026 年9月17日 — 安富利旗下全球电子元器件产品与解决方案分销商e络盟正在扩大 Emerson NI Nigel™ AI 供应范围,这是一款专为测试与测量打造的 AI 技术。客户现可通过 e络盟体验全新...

关键字: AI 代码 自动化
关闭