ARM9开发之学习过程总结

一路摸爬滚打,时至今日,与心爱的TQ2440相伴已有一年,从当初的一无所知到今天的得心应手,其间经历的种种,实在难以言表。想起第一次在串口打出一个字符的时候,那种心情,简直激动得快要爆了,这里先将我学习ARM中的整个过程简单总结一下,以后再详细的针对每个知识点写写东西。希望对刚接触的朋友有个提示作用,也希望高手不吝赐教,给些学习建议,欢迎拍砖^_^。需要说明的是,这仅仅说是ARM,其间涉及到别的知识也是需要很多时间去学习的,这里我就不列举了。

开发板的配套光盘有很多资料文档,在学习之前,大概浏览一下是非常不错的,强烈建议,特别是S3C2440的技术参考手册。
1,熟悉开发板的硬件资源(TQ2440的原理图)
2,熟悉SRAM,SDRAM,Nor Flash,Nand Flash。
3,熟悉内存控制器的初始化,程序要在SDRAM中运行,首先要初始化SDRAM。
4,熟悉ARM920T的启动方式(Nor Flash/Nand Flash)。
5,学会程序下载例程运行(TFTP方式或者USB方式)。
6,搭建开发环境(GCC交差编译)。
7,学习ARMv4指令集,编写简单的汇编程序,下载运行。
8,务必非常熟悉串口UART的使用,后边你自己的程序调试都需要通过串口来输出。
9,学习ARM汇编与C语言的混合编程,GCC内联汇编,掌握参数传递方式和ARM过程调用标准(APCS)即可。
10,到了这一步,基本上就可以用板子上的硬件资源来练习了,LED,按键,IIC接口的EEPROM, LCD等(板子上的蜂鸣器,
LED,串口都可以用来当调试工具,观察它们的现象,判断你的程序执行情况)。
11,现在要学习ARM工作模式,异常处理机制,要非常熟悉中断处理,会编写中断处理程序。
12,自己可以写一个bootloader,写DM9000网卡驱动程序,实现ARP,IP,UDP,TFTP协议,从而用你自己的bootloader实现从服务器下载数据到开发板(我已经实现了一个,大家需要的,可以留言说明,我会联系大家)。
13,当第12步完成后,你可以尝试用你的bootloader从PC的TFTP服务器下载Linux内核镜像到开发板,然后启动Linux。
14,现在可以学习uboot了,就是你的开发板一上电就运行的那个东西,主要是学习移植。
如果你把12,13步完成了或者理解了,那么你也理解uboot了,它和你自己写的bootloader是一样的东西,只不过它功能更强大而已,可以做很多事情。
(但是最主要的就是,获取Linux内核镜像,初始化硬件环境,运行Linux)。
15,此刻,若你依然深爱着ARM920T,那么你可以在上面写一个操作系统(或者称为调度器),使用ARM920T的MMU。再编写或移植一套GUI,实现一个文件系统,实现一个TCP/IP协议栈(只要你想得到的,都可以在上面实现,目前我也在做)。

虽然刚毕业几个月,工作中也没有接触ARM9,但是我有时间就会坚持学习ARM9这款CPU,希望有朝一日,在接触新的ARM处理器时,也能快速入手。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 领航者Zynq的FPGA开发指南主要涵盖了以下方面的内容:硬件设计基础、Vivado软件开发环境、IP核的使用、FPGA编程语言以及FPGA实现技术等。 首先,对于硬件设计基础,开发者需要了解数字电路的基本原理以及常用的集成电路,掌握硬件设计中常见的电路模块和接口设计,如时钟、锁相环、数据总线等。 其次,Vivado软件开发环境是FPGA开发中必不可少的工具。开发者需要了解工具的基本使用方法,如创建工程、IP核的选择与配置、约束文件的编写等。 IP核的使用是FPGA开发中的重点之一,它可以大大简化开发流程,并提高开发效率。开发者需要掌握IP核的选择、配置以及在设计中的应用。 FPGA编程语言也是开发者必须掌握的技能之一。VHDL和Verilog是常用的FPGA编程语言,开发者需要掌握语法、模块化设计、状态机设计等知识。 最后,FPGA实现技术也是FPGA开发中必不可少的一部分,它涵盖了从FPGA的结构设计、布局、时序分析和时序优化等方面的技术。开发者需要了解FPGA的物理实现流程,熟悉FPGA设计的标准流程,能够做出高效、可靠的FPGA设计。 总之,领航者Zynq的FPGA开发需要开发者具备广泛的硬件设计、软件开发以及FPGA实现技术方面的知识和技能。只有具备了这些基本的知识和技能,才能够充分发挥领航者Zynq的优势,快速开发高品质的FPGA应用。 ### 回答2: 领航者Zynq是一款功能强大的SoC芯片,它集成了ARM处理器和FPGA,使其在应用开发中具有很大的灵活性和处理能力。本文将介绍如何使用领航者Zynq进行FPGA开发。 首先,我们需要了解FPGA的基本概念和工作原理。FPGA是可编程逻辑器件,通过电路的可编程性,可以实现各种不同的功能。在领航者Zynq中,FPGA部分提供了大量的可编程逻辑单元,可以通过配置完成各种数字电路的设计。 其次,我们需要选取合适的开发工具和环境。针对领航者Zynq开发,Xilinx提供了专门的软件开发套件,包括Vivado设计套件和SDK软件开发工具。Vivado设计套件用于进行FPGA的逻辑设计和综合等工作,而SDK用于ARM处理器的软件开发和调试。 接下来,我们需要进行FPGA的逻辑设计。可以通过使用HDL(硬件描述语言)如Verilog或VHDL来进行设计,也可以使用Xilinx提供的高级综合工具进行快速设计。设计完成后,我们可以使用Vivado进行逻辑综合、布局和布线等操作,生成比特流文件。 然后,我们需要将生成的比特流文件加载到领航者Zynq中。可以使用Xilinx提供的硬件编程工具将比特流文件下载到FPGA中,使其开始工作。 最后,我们可以使用SDK进行软件开发和调试。领航者Zynq内部集成了ARM Cortex-A9处理器,可以运行各种嵌入式操作系统如Linux或FreeRTOS。通过SDK,我们可以进行ARM处理器的软件开发,并与FPGA部分进行通信和交互。 总结来说,领航者Zynq通过集成ARM处理器和FPGA的方式,为FPGA开发提供了更好的效率和灵活性。通过合适的开发工具和环境,我们可以进行FPGA逻辑设计、比特流加载以及软件开发和调试等工作,从而实现各种复杂的应用。 ### 回答3: 领航者Zynq是一款在单一芯片上结合了FPGA(现场可编程门阵列)和ARM Cortex处理器的综合型可编程系统芯片。它的特点在于能够同时执行硬件设计和嵌入式软件开发,因此被广泛应用于嵌入式系统和高性能计算。 领航者Zynq的FPGA开发指南主要包括以下几个方面: 1. 熟悉Zynq架构:了解Zynq系列芯片的核心构成,包括ARM Cortex处理器和FPGA的相互连接方式、内部总线结构、存储器和外设等。 2. 学习FPGA开发:熟悉FPGA的基本概念和编程模型,学习使用硬件描述语言(如VHDL或Verilog)进行FPGA设计,包括时序逻辑设计、组合逻辑设计、状态机设计等。 3. 使用开发工具:掌握Xilinx Vivado集成开发环境,该工具提供了丰富的设计和调试功能,可以帮助开发者进行FPGA设计、仿真和验证。 4. 进行系统设计:了解Zynq系列芯片与外部器件的连接方式和通信协议,设计与FPGA和ARM Cortex处理器协同工作的系统,包括硬件逻辑的设计和软件的开发。 5. 进行调试和验证:了解常见的FPGA故障排查方法和调试技巧,利用仿真和调试工具进行FPGA设计验证,并结合软件开发工具进行系统级调试。 总之,领航者Zynq的FPGA开发指南主要包括对Zynq架构的了解、FPGA开发学习、使用开发工具进行设计、系统设计与调试,以及验证和优化设计的过程。通过掌握这些知识和技能,开发者能够更好地利用领航者Zynq的强大功能,实现高性能、低功耗的嵌入式系统设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值