最近开始学习ARM9,使用TQ2440,但是发下板子太新了,现成的资料很少啊,学起来比较费劲。
但是没办法啊,慢慢搞吧。先列一些要学的内容,参考亚嵌培训的内容吧
嵌入式系统概述与ARM简介
1 ARM处理器与其他体系结构处理器异同比较
2 ARM芯片选型
3 ARM外围硬件设计
4 ARM程序和算法
5 ARM操作系统(uC/OS-II/ARMLinux/uCLinux/WinCE)
ARM知识体系
1 ARM的特点(体系结构/流水线/异常处理/寄存器组织)
2 ARM内核概述(内核命名/应用内核/嵌入式内核/安全内核)
3 ARM内核系列
ARM结构与编程
1 ARM的工作模式
2 ARM存储器格式
3 ARM运行模式
4 ARM寄存器组织
5 ARM的异常
6 流水线
7 AHBA总线
ARM指令系统与汇编语言编程
1 ARM指令概述与特点
2 ARM寻址方式
3 ARM指令集
4 Thumb指令集
5 ARM汇编语言编程
使用ARMADS 开发工具的方法、流程和技巧
1 编译器参数(armcc/armcpp/armasm)
2 链接器使用(armlink/scatter-file)
3 调试器及调试工具(axd/jtag)
4 辅助开发工具(fromelf/armprof/nmake/Makefile)
5 内存地址重映射(memory remap)
6 堆栈初始化(stack&heap)
7 RO/RW/ZI 段地址分配
8 系统呼叫机制(SoftWareInterrupt)
ARM启动代码工作原理
1 启动代码基本概念和执行流程
2 全局变量和局部变量的存储结构
3 程序的存储和加载过程
4 RO、RW以及ZI 段的存储特性
5 启动代码的搬移过程
6 启动代码的初始化流成为程
ARM异常和中断处理
1 异常向量表(exception vector table)
2 异常响应
3 产生异常后的处理过程
4 未定义指令异常的特殊用途
5 SWI 软中断指令与系统调用
6 异常返回处理流程
ARM 开发工具实验 (实验1-8)
实验1:安装开发工具实验 (ADS+AXD)
实验2:ADS 编程实验 (helloworld)
实验3:AXD 调试实验 (debug)
实验4:ARM 工具链实验 (armcc+armasm+armlink)
实验5:fromelf 实用工具实验 (fromelf)
实验6:uuencode 编码工具实验 (uuencode)
实验7:使用 Jtag 调试开发板实验
实验8:使用 Bootloader 下载执行实验
ARM 体系结构与汇语编言实验(实验9-16)
实验9: ARM 数据处理指令操作数寻址方式实验
实验10:ARM 内存访问指令寻址实验
实验11:ARM 堆栈指针寄存器实验 (r13)
实验12:ARM 返回连接寄存器实验 (r14)
实验13:ARM 程序计数器实验(r15)
实验14:ARM 程序状态寄存器实验(cpsr+spsr)
实验15:ARM 工作模式切换实验(svc+irq)
实验16:ARM 汇编与C语言混合编程实验
ARM 开发板外设接口实验(实验17-24 )
实验17:ARM 开发板-启动代码烧写实验
实验18:ARM 开发板-LED显示灯实验
实验19:ARM 开发板-七段数码管实验
实验20:ARM 开发板-四位拨段开关实验
实验21:ARM 开发板-蜂鸣器实验
实验22:ARM 开发板-中断按钮实验
实验23:ARM 开发板-定时器实验
实验24:ARM 开发板-串口通讯实验
ARM Bootloader 编写实验(实验25-32)
实验25:ARM Bootloader-ledblink实验
实验26:ARM Bootloader-uart driver实验
实验27:ARM Bootloader-printf实验
实验28:ARM Bootloader-stdio实验
实验29:ARM Bootloader-shell实验
实验30:ARM Bootloader-command实验
实验31:ARM Bootloader-flashwrite实验
实验32:ARM Bootloader-autoboot实验
ARM 异常和中断处理实验(实验33-40)
实验33:ARM异常向量表实验
实验34:ARM软中断 SWI 异常发生和响应实验
实验35:ARM GPIO中断源使能触发实验
实验36:ARM GPIO中断处理和响应实验
实验37:ARM Timer定时器中断源使能触发实验
实验38:ARM Timer定时器中断处理和响应实验
实验39:ARM中断流程代码分层实验
实验40:ARM中断驱动框架实验
红色部分是正在做的工作,当然了,肯定不能完全按培训的过程来,
这些都是接近底层的软件开发,基本和51的用法相近,也就没法完全体现ARM的优势了,
学完底层就要开始学习ucOSII操作系统,之后再是Linux,网上资料比较少,压力还是比较大的。
希望各位只用TQ2440的朋友多多分享,大家共同学习,共同进步,这才是学习之道啊~