Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1300243
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

分类: LINUX

2011-03-06 20:37:42

  1. linux人员培训后应该掌握以下知识:

  2. 1. bootload与内核怎样传参
  3.     ---1:设寄存器:传三个参数:0, 机器号(每个CPU对应)S3C2440:362, 启动参数
  4.      2:CPU模式为SVC, 关MMU, 关FIQ,IRQ, 关CACHES(指令可不关)
  5.      3:跳转到内核入口: mov pc, 0x30008000(SDRAM入口)
  6.      4:内核就启动了.



  7. 2. ARM Linux内核启动详细流程
  8.     ---首先看顶层Makefile,然后根据链接脚本找到每一个段:
  9.         它关中断,SVC,初始化CPU, enable mmu建立内核页表(4k),拷贝
  10.     在start_kernel中
  11.         初始化
  12.         根据bootload


  13. 3. 字符设备、块设备驱动的整体框架及怎么样与上层用户交互数据

  14. 4. ARM linux内核中断怎样处理
  15.     
  16.     一\用户
  17.         外部来一个KEY,就会产生对应电平变化(0)->SOC的中断控制器->CPU->发生异常,保存当前的工作模式,跳到异常向量表对应的工作模式, 如果是中断,就会跳到IRQ,就会bl do_irq

  18.     二\LINUX内核
  19.         1:驱动:
  20.             request_irq(注册中断处理函数)
  21.         2:中断向量表
  22.             会在start_kernel->trap_init
  23.         3:初始化中断
  24.             start_kernel->init irq:bang定了驱动注册的处理函数和异常向量表跳转的函数指针
  25.         4:当中断发生:就调到了中断处理函数

  26. 4. 几种内核锁的使用环境
  27.     .spin_lock:
  28.         多CPU, 中断中
  29.     .semaphort:
  30.         长时间上锁或上下文中有休眠函数



  31. 5. 根文件系统的制作
  32.     .busybox
  33.     根文件系统以RamDisk表示 -> 内存起来 -> 磁盘驱动 -> 大的真的文件系统
  34.     根文件系统中有init进程,且还有rc.local(它可以加载所有的模块)
阅读(567) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~