ARM学习笔记:从新手到入门的ARM9260探索

5星 · 超过95%的资源 需积分: 9 45 下载量 27 浏览量 更新于2024-12-18 1 收藏 11KB TXT 举报
"这篇文章是关于作者在学习ARM处理器,特别是ARM9260型号时的心得体会。作者在经过近半年的学习和实践后,感觉自己逐渐入门。文章主要讨论了在ARM开发过程中的一些关键知识点,包括启动流程、内存配置、编程模型以及调试工具的使用等。" 在ARM处理器的学习过程中,首先要理解的是其架构基础。ARM9260是一款基于ARM9系列的微处理器,广泛应用于嵌入式系统中。它支持32位指令集,具备高性能和低功耗的特点。对于初学者来说,掌握处理器的基本工作原理,如中断处理、寄存器配置以及寻址模式是至关重要的。 在实际项目中,通常需要配置存储器系统。例如,Norflash和SRAM的设置是常见的任务。Norflash用于存储固件代码,而SRAM则作为运行时的数据和程序存储空间。在ARM9260中,可能需要通过特定的寄存器(如PMC_PCER)来启用或禁用这些外设。例如,设置AT91C_BASE_PMC->PMC_PCER = (0x1 << 3)可以启动Norflash。 开发环境的选择也对学习进程有重大影响。文中提到了IAR和GCC两种编译器。IAR通常被认为更适合初学者,因为它提供了更友好的界面和全面的调试工具。而GCC是开源的,适用于更多高级开发者,但其配置和调试可能较为复杂。在IAR中,确保正确配置工程,更新必要的库文件,如armlibsupport.dll,是避免错误的关键。 在程序启动阶段,低级初始化(lowlevelinit())扮演着重要角色。这通常包括设置系统时钟,比如设置PMC_MCKR寄存器以选择PLL时钟源。如果遇到问题,如IAR报错“armlibsupport.dll可能丢失或损坏”,需要检查库文件的完整性和路径。 调试工具如JTAG和H-JTAG是进行硬件调试的关键。它们可以连接到开发板,通过读取和修改CPU寄存器及内存来调试代码。JLink是一种常用的JTAG接口设备,可以配合IAR或GCC进行调试。Wiggler则是早期的调试接口,现在较少使用。在使用H-Flasher进行闪存编程时,需要确保正确配置起始地址和闪存分区,以避免数据覆盖问题。 掌握ARM9260的开发需要理解处理器架构、存储器配置、编程工具的使用以及调试技巧。随着经验的增长,开发者可以更加深入地研究中断服务、实时操作系统(RTOS)的集成以及优化代码性能等高级主题。