版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARMLinux用户状态中断状态(IRQImterruptRequest)快中断状态(FIQ,FastImterrupt监管状态终止状态无定义状态系统状态ARM-Linux内存管理和表”,当CPU访问内存的时候:者页面映射表项中的2位的“访问权限”AP为staticstructmap_descxsbase255_io_desc[] initdata=/* rwcb0xE8000000,0x000000000x02000000DOMAIN_IO0100片选0CS0IntelStrataFlash0xF0000000,0x040000000x00100000DOMAIN_IO0100片选1CS10xf0110000,0x080000000x00010000DOMAIN_IO0100片选2CS2ExtendPORT0,扩充的{0xf0120000,0x08100000,0x00010000,DOMAIN_IO,0,1,0,0},//CS2:Extend0xf1000000,0x0C7000000x00010000DOMAIN_IO0100片选CS3USBHost(Ez-ARM-LinuxARM-Linuxstructhw_interrupt_type{constchar*typename;unsignedint(*startup)(unsignedintirq);void(*shutdown)(unsignedintirq);void(*enable)(unsignedintirq);void(*ack)(unsignedintirq);void(*end)(unsignedintvoid(*set_affinity)(unsigedintirq,unsignedlong每一个中断请求线都有一个structirqdesc数typedeftypedefstructunsignedintstatus; /*IRQstatus*/hw_irq_controller*handler;structirqaction*action;/*IRQactionlist*/unsignedintdepth; /*nestedirqdisables*/spinlock_tlock;
Structvoidhello(void)voidhello(void)printk(“helloarch/arm/kernel/call.S中添加新的系 NR_syscalls-( syscall_end- syscall_start)/4实验一创建和使用一个新的系统调用obj-yobj-y:=arch.ocompat.odma.o$(ENTRY_OBJ)entry-common.oirq.oprocess.optrace.osemaphore.osetup.osignal.osys_arm.o\time.otraps.o$(O_OBJS_$(MACHINE))mysyscall.o实验一创建和使用一个新的系统调用 ("swi#include<stdio.h>#include“test.h”intmain(void)printf("starthello\n");printf("end实验一创建和使用一个新的系统调用##arm-linux-gcctest.c-o#./test#./teststarthellohelloworldendhello化函数,以完成kernel内存初始化(创建和设置内部及通用创建uidtaskcountSLAB创建文件创建目录创建与虚存相关的创建信号队列创建内存文件描述符表kswapd内核线程。 do_execve()执行具体的操作do_exit(longcode)带一个参数code,用实现终止:sys_exit()sys_reboot()ARM-Linux在内核应用中直接调用被动调用Linuxmodule载入内核后,它就成为内核lsmodkernel中已经安装的modulesinsmodmodulekernelrmmodmodule从kerneldepmodmoduledependencyfile,以告诉将insmod要去哪儿找modules来安装structmodule{structmodule*next;structmodule_ref*ref;/*thelistofmodulesthatrefertome*/structsymbol_table*symtab;constcharintsize; /*sizeofmoduleinpages*/void*addr; /*addressofmodule*/intstate;void(*cleanup)(void);/*cleanuproutinestructsymbol_tableintsize;/*total,includingstringtable!!!*/intn_symbols;intstructinternal_symbolsymbol[0];/*actualsizedefinedbyn_symbols*/structmodule_refref[0];/*actualsizedefinedbyn_refs根据需要载入module(demandloaded调用系统调用sys_create_moduleLinux8内核、2.6内核和LynuxOS4.0在最好Linux2.6内核移植制作BootLinux2.6内核移植\h\hARMLinux是基于标准Linux内核为ARM做的\h.uk\h上下\h$makeLinux2.6内核移植$make修改t-linux文件,在TARGET_LIBGCC2_CFLAGS加上- $cdgcc-$cdgcc-$./configure--target=arm-linux--prefix=/arm-linux--with-headers=/root/linux-2.6.10/include--enable-languages=c--disable-shared--disable-threadsLinux2.6内核移植SUBARCH:=(shelluname–m|sed–es/i.86/i386/es/sun4u/sparc64/es/arm.*/arm/es/sa110/arm/)SUBARCH:修改编译器选项:CROSS_COMPILE=arm-linux-Linux2.6内核移植在SYSTEMTYPE目录中选择正确的CPU,在IntelImlementations选项中选择Int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45410.5-2026光学和光子学望远镜系统试验方法第5部分:透射率
- 消防水池冬季施工组织设计方案
- 项目六 现代服饰之美
- 幼儿园组织与管理
- 人教A版(2019)高中数学必修二 期末专题复习 等比数列小题 专题
- 绿色纺织印染循环产业园配套污水处理厂项目可行性研究报告模板-立项拿地
- 2025年陕西省烟草专卖局招聘75人笔试历年参考题库附带答案详解
- 2025年江苏全省政府采购评审专家考试(交通类)复习题及答案
- 2026届江苏扬州市高三三模高考政治试卷试题(含答案详解)
- 2025年江苏省综合评标评审专家库专家考试(交通专业知识)全真冲刺试题及答案
- GB/Z 177.2-2026人工智能终端智能化分级第2部分:总体要求
- 2026年广东东莞市初二学业水平地理生物会考试题题库(答案+解析)
- 新生儿呼吸窘迫综合征应急预案演练脚本
- 职业病防护设施与个体防护用品的使用和维护
- JTG F80-2-2004 公路工程质量检验评定标准 第二册 机电工程
- 预激综合征护理课件
- 数系的扩充与复数的概念课件-2022-2023学年高一下学期数学人教A版(2019)必修第二册
- 公路工程施工突发环境污染事件应急预案
- 卫生事业管理学重点题库含答案
- 工程公司临建工程审批和验收管理办法
- GB/T 3920-2008纺织品色牢度试验耐摩擦色牢度
评论
0/150
提交评论