当前位置: 嵌入式研究室 > 课程介绍 > 短期强化嵌入式技术课程 >

ARM体系 移植及Bootloader开发


UEA-ARM ARM体系 移植及Bootloader开发 课程描述:

       ARM在嵌入式处理器领域拥有60%以上的份额,是嵌入式智能设备处理芯片中的王者,尚观曾经报道过iphone第一代就采用ARM11处理器,目前不论 Nokia、HTC还是Moto 索爱都采用ARM处理器作为智能设备的首选平台,甚至ARM已经向上网本等领域进军,尚观嵌入式研究室报道过2009年初已经出现了1.3G的ARM芯片。本课程从ARM体系架构上开始进行分析,引导学员一步步用自己的编码来直接控制ARM处理器的各个部分,完成ARM平台的Bootloader、网络控制器、存贮等部分的控制程序编写,能否自己手写代码而非简单移植是衡量ARM体系掌握程度的标准,尚观ARM平台超出一般点到为止的所谓ARM培训。尚观2007年就专门开设了ARM11的课程,对ARM体系结构有着深入的了解。

教学目标:

       强调从零开始写驱动,让学员真正掌握ARM平台的编程能力,让学员可以熟练掌握ARM汇编、ARM体系结构、ARM平台的直接控制程序(裸驱动)。同时学员将会在ARM开发板上直接自己动手书写硬件控制程序以及Bootloader等,一定不是简单的移植,而是真正理解并且亲自书写。同时熟悉ARM微处理结构、指令和外围器件,可以进行ARM处理器平台下的深层次开发,可以开发裸板驱动(无操作系统直接驱动硬件),同时不只可以进行bootloader移植,并且可以自己开发bootloader

面向行业及岗位:

       消费类电子(手机、PDA、游戏机)、数字多媒体(网络点播、机顶盒)、汽车电子(导航仪)、医疗电子、工业控制等行业的研发工程师,软件工程师,嵌入式软件工程师。

培养对象:

       希望掌握ARM平台底层编程技术的学员;以及希望从事移动终端开发的爱好者、工程师、程序员、已及相关行业的工程技术人员;有志于从事嵌入式核心研发的软件开发技术人员和正在学习计算机、软件、通信专业的学生,以下是主要应用方向:
       ◆ 手机内核驱动软件开发;
       ◆ 智能设备的驱动软件开发;
       ◆ 芯片公司的操作系统级开发;

课程特色:

    ◆本课程设计者为8年嵌入式技术项目经理经验的李老师,他对MIPS PPC等技术都有涉及。
    ◆从零开始手写裸驱动和控制程序,直接用自己的代码控制ARM处理器。
    ◆从零开始手写Bootloader(启动装载器)。
    ◆全新案例教学,自己编写ARMUart控制程序、LCD控制程序、触摸屏控制程序、IIS控制程序,网卡控制程序 。
    ◆高强度授课,全部项目型教学,每个环节都有案例。
 
课程大纲:(共160学时,每天8学时,共20天- 1个月授课)

   案例实践: (根据各地的环境以及老师的不同可能实际案例有一定变化,案例为以下其中几个)
             a. ARM模拟器开发。
             b. Uart控制程序 (bootloader上执行)。
             c. LCD控制程序 (bootloader上执行)。
             d. 触摸屏控制程序 (bootloader上执行)。
             e. IIS控制程序 (bootloader上执行)。
             f. 网卡控制程序。
             g. TCP/IP协议栈移植。
             h. bootloader开发--my-boot。
             i. 文件系统制作。
             j. ARM-Linux移植。
         1、ARM体系结构与ARM处理器的体系结构
            .IP核、芯片与开发板。
             .处理器结构。
            .处理器模式。
            .寄存器。
            .流水线结构。
            .C语言内嵌汇编格式 与编程实例
        2、ARM指令系统
            . 算术逻辑指令。
            . 指令对状态寄存器的影响。
            . 比较指令。
             . 分支指令。
             . 移位。
             . 指令位图。
             . 识别机器指令。
        3、内存访问与内存控制
            . 数据总线与地址总线的使用与实例。
             . STR/LDR。
        4、ARM过程调用标准
            . LDM/STM。
             . 反汇编。
             . APCS。
             . C语言函数与汇编的互相调用。
        5、ARM AT&T汇编
            . AT&T汇编语法详解。
            . gas工具的使用。
             . label标签的作用。
             . 数据与代码的分布。
        6、链接脚本ld-script
            . 段地址的确定。
            . 编写ld-script。
            . ELF格式与libc函数库的关系。
        7、时序电路基础
             . 电平信号。
             . 电路图分析。
             . 时序图分析。
             . datasheet查看。
            . s3c2440的外围器件结构。
            . GPIO操作。
        8、AMBA总线标准
             . AMBA总线标准。
            . FCLK/HCLK/PCKL频率分配与设置。
            . Watchdog计时操作。
            . UART操作。
        9、ARM中断体系
            . 异常向量表。
            . ARM模式切换。
            . ARM中断控制器。
            . 软中断。
            . Linux系统调用的实现。
        10、Nand Flash控制器
             . Flash原理。
            . Nand控制器原理及时序分板。
            . k9f1208时序分析。
        11、内存控制器
            . s3c2440物理地址分布。
            . SDRAM原理与时序。
            . 内存控制器的物理连接。
            . 地址对齐。
            . SRAM访问。
        12、内存管理单元
             . MMU的原理。
            . ARM协处理器指令。
             . section模式。
            . small page模式。
            . I & D TLBs。
             . I & D Cache。
            . 哈佛结构的原理与实现。
         13、DMA 直接内存访问的机制与使用
             . DMA的状态机。
            . DMA的控制。
         14、触摸屏接口与ADC接口与实例
             . ADC原理。
            . 触摸屏接口与控制。
         15、LCD控制器
            . 图形显示原理。
             . LCD控制器。
            . LCD时序。
            . LCD驱动相关的框架与体系。
        16、I2S音频总线
             . 音频硬件原理。
            . I2S时序。
             . s3c2440上I2S的操作。
            . 音频设备的裸驱动讨论。
         17、CS8900网卡控制
             . 逻辑链路层与MAC层。
            . CS8900原理与时序分析。
            . 后续网卡裸驱动讨论与体系结构 。
         18、TCP/IP协议栈移植,与网络体系结构
            . LwIP TCP/IP协议栈简介。
             . LwIP配置与编译。
            . tftp配置与编译。
         19、Bootloader原理与移植
            . u-boot的配置、编译。
            . u-boot启动过程分析。
            . ARM-Linux的启动要求。
            . ARM-Linux kernel的ld-sript分析。
            . u-boot到ARM-Linux的跳转代码分析。
            . 使用mkimage制作启动镜像文件。
         20、ARM-Linux原理与移植
            . ARM-Linux的配置、编译。
            . ARM-Linux启动代码分析。
            . ARM-Linux 地址映射的关系。
            . Busybox的配置、编译 。
 
实验环境:

  处理器:ARM9 S3C2440A。
  内存:SDRAM 64M。
  存储器:NorFlash+NandFlash。
  外围设备:RS-232、Ethernet、USB、IIC、IIS、CF Card、SD Card。

适用对象:

    熟练使用Linux平台开发工具。
    熟练使用C语言及数据结构。

 


  • NO1 : 所有嵌入式授课都由尚观直营中心授课,尚观没有授权加盟中心讲授嵌入式高端技术,因为加盟中心无法保证授课质量,尚观对所有的学员必须全权负责。
  • NO2 : 签订全国唯一的双保就业协议(绝非模糊不清的就业协议),保就业,保底薪,不就业100%退还所有学费。尚观通过3个开发就业方向来保证就业:Linux内核驱动开发、UNIX环境高级编程、嵌入式应用编程。
  • NO3 : 评估嵌入式培训深度的指标就是学生有多少能写出真正的驱动来,尚观的嵌入式内核驱动开发课程让学员从零开始手写至少五种驱动程序。绝不是移植和改写,一定是从零开始独立完成。
  • NO4 : 必须通过考试才能培训,不通过考试不能入学。授课过程中,每个阶段都有考试,学不会免费重听。尚观每天强制学习到晚上8:30,配有专门的辅导人员,并且在实际老师讲课后还有免费的视频培训。人手一机,每天面授6小时,另外4小时有专人辅导。
  • NO5 : 尚观学员就业信息每月更新,张贴在各个培训中心接受所有新老学员监督,尚观是全国唯一每月实时更新就业信息的培训机构,尚观绝对不会使用以往学员就业信息循环滚动播放,网上查看学员就业信息的网址是:
  • NO6 : 尚观是嵌入式培训中最富有进取心的,在2007年全国最先推出 ARM11(iPhone的平台)课程,这个是最难的ARM体系课程。2007年12月,全国首家移植成功Android(Google手机操作系统)。2008年全国首家推出保8万年薪的核心层内核驱动课程。
  • NO7 : 尚观就业课程一定是全职讲师授课,因为兼职讲师没有责任心,无法对教学负责。尚观讲师介绍中的讲师明确写出是全职还是兼职。
  • NO8 : 全程实践案例授课,我们为每个就业课程设计的大型的案例,而且是企业实际使用的案例,有了这些案例,可以直接对找工作有支持和促进作用。
  • NO9 : 尚观嵌入式研究室从2005年就在开设嵌入式长期就业课程(不是周末的短期兼职业余老师班级),是国内最早开展嵌入式专业长期课程的培训机构。至今已经有近4年多的长期班职业嵌入式培训经验,毕业学员上千人。合作企业多达数百家,最重要的是这些企业对尚观的学员充分肯定。