在学习单片机的时候学的比较快,在学51和AVR的时候都可以说是得心应手。可能就是手前面学习的影响,认为学ARM也会比较顺利。到开始学习ARM的时候才知道要入门是多么“痛苦”,每天就对着教程、资料折磨。没有多少是学的明白的,完全不知道怎么学起。它涉及的内容和知识太多了。我整理了一下这段时间的学习资料,我已经看完的和我接下来要用的,总共29 G,我前10年读书用的资料都可能没有这么多。
学ARM不能再和以前学单片机那样,刚开始时,不能说从哪里开始学。只有拿着资料、教程慢慢磨。久了就积累了一定的知识就会明白了,这个过程的滋味只有做过才能体会。前些天也实在很困惑无从下手。然后就下定决心从Entry入手,从CPU的第一条指令开始,跟着走下去。这样做的阻力更加大,像在Bootload里面我就只会读C和汇编,Makefile、连接脚本、脚本文件、配置文件就没有办法读了。所以根本就不明白它是这么编译的。
很多人都说不要把ARM当做单片机来学。我觉得学嵌入式应该分开内容学习,第一步就是要把它当单片机学起 。把它当单片机学就是要彻底把开发板上的硬件驱动程序全部都学会了(液晶、Nandflash、Norflash、网卡、声卡等)。对片上资源(串口、usb、ad、DMA等等)的驱动和CPU的汇编指令熟练掌握。这样就为移植bootload打下了扎实的基础。
把硬件搞定后就学软件了。学习Linux系统也是个漫长的过程啊!!!!
刚刚见到Linux的时候,“天啊这东西这么能用啊”。要学会Linux的命令和操作(各个软件的操作、各项参数的配置),会使用Linux了就学习Linux下的编程(shell编程、Makefile、连接脚本、C编程),然后就深入学习Linux的内核代码,把Linux的目录结构弄熟了。把它里外都搞定了。
能做到上面的了,那么移植U-Boot和移植Linux内核就小意思了。
整个学习内容分为了几大部分:
1:把ARM当单片机(学它的汇编、开发板上硬件的驱动)
2:Linux的使用(命令、参数配置、编程等)
3:深入学习Linux内核
4:U-boot和Linux内核的移植
5:制作文件系统
6:Linux设备驱动开发
7:应用程序开发(QT)
这些内容对每一个学习的人来说都是要命的工作啊,对于我来说最要命的是,在这个学习过程中的大部分文件和软件都是纯英文的啊!!!!!!慢慢熬吧。要把这些都学了我想最快也要一年吧!不过对于一个人来说,不一定要把所有的都要学会了。
关键字:嵌入式系统 ARM Linux
引用地址:
学习嵌入式系统(ARM)的一些想法
推荐阅读最新更新时间:2024-03-16 13:06
ARM指令ADR和LDR浅析
LDR指令本身是数据读取,将内存中的值载入到寄存器中,因为ARM的MOV指令不支持由内存直接向寄存器中传数。LDR指令的这个含意是比较容易理解的。例如: LDR R0, _START ;指将_START标记的内存位置的值载入到R0。 但是,ARM汇编器又为LDR赋予另一个伪指令含义:用于地址读取。这完全是两种不同的应用,但都是用LDR表示,所以很容易混淆。 用于地址读取 是指将用于表示 地址 的值写入到寄存器中,该寄存器中存储的就是地址,这非常类似于指针。LDR作为伪指令的用法是:在标号或立即数前面加上等号表示地址。例如: LDR R0, =_START ;表示将_START标号所在的地址写入R0 LDR
[单片机]
ARM裸机程序设计—按键中断程序设计
首先是按键中断处理过程: 1、中断控制器汇集各类外设发出的中断信号,然后告诉CPU 2、CPU保存当前程序的运行环境(各个寄存器等),调用中断服务程序(ISR,Interrupt Service Routine) 3、在ISR中通过读中断控制器、外设的相关寄存器来识别这是哪个中断,并进行相应的处理 4、清楚中断:通过读写中断控制器和外设的相关寄存器来实现 5、最好恢复中断程序的运行环境(即上面保存的各个寄存器等),继续执行 按键中断程序设计流程: 1、按键以及按键中断初始化 1)对按键中断端口初始化,设置为特殊功能模式(10) 2)设置外部中断触发方式(EXTINTn低电平触发000、高电平触发001、上升沿触
[单片机]
Linux系统下超线程感知的调度算法研究
随着计算机应用的日益普及,用户对计算机的处理能力的需求成指数级增长。为了满足用户的需求,处理器生产厂商采用了诸如超流水、分支预测、超标量、乱序执行及缓存等技术以提高处理器的性能。但是这些技术的采用增加了微处理器的复杂性,带来了诸如材料、功耗、光刻、电磁兼容性等一系列问题。因此处理器设计人员开始寻找新的途径来提高处理器的性能。Intel公司于2002年底推出了超线程技术,通过共享处理器的执行资源,提高CPU的利用率,让处理单元获得更高的吞吐量。
1 超线程技术背景
传统的处理器内部存在着多种并行操作方式。①指令级并行ILP(Instruction Level Paramllelism):同时执行几条指令,单CP
[嵌入式]
基于S3C2410的嵌入式Linux系统构建
目前,在嵌入式系统中基于ARM微核的嵌入式处理器已经成为市场主流。随着ARM技术的广泛应用,建立面向ARM构架的嵌入式操作系统成为当前研究的热点问题。 已经涌现出许多嵌入式操作系统,如VxWork,windows-CE,PalmOS,Linux等。在众多的嵌入式操作系统中,Linux以其开源代码及免费使用倍受开发人员的喜爱。本文选用的微处理器S3C2410是基于32位ARM920T内核的微处理器,基于此处理器构造一Linux嵌入式操作系统,将其移植到基于32位的ARM920T内核的系统中,在此基础上进行应用程序开发。 l开发环境介绍 1.1 基于S3C2410 ARM920T的硬件平台 该系统
[单片机]
ARM9矿井风机设计方案
0 引言 矿井主扇风机是矿山的主要通风设备,任务是排除矿井中的粉尘和污浊气体,降低矿井内的瓦斯浓度。但国内大多数煤矿产业中使用的主扇风机控制技术,多年来一直没得到改善,没有完善的安全监控仪表设施和装置,而且需要24 h值守的工作人员。因此,要提高煤矿生产的安全性,改善主扇风机工作人员生产环境恶劣和生活的极度不方便等问题,必须解决风机自动化控制技术和监测技术。本文介绍了一种自适应矿井主扇风机监控系统的设计方法,有效地解决了以上问题。 该系统采用DCS结构形式,可扩展性和可维护性强。控制层通过RS 485总线将采集到的信息传输到监控屡。为实现可靠的变频控制,采用了一种鲁棒性和自适应能力强的积分分离PID控制算法。对硬件和软件的
[单片机]
基于ARM异常中断处理的方法解析
介绍一种简洁、高效、灵活的ARM异常中断处理方法。 在ARM中,由于所有的中断都使用同一个异常中断入口地址,即0x00000018。因此需要在异常中断处理程序中根据相应的中断号调用对应的中断服务函数。 一般有两种处理方式: 1. 在汇编中保存现场,然后调用C语言编写的中断处理程序,任务处理完成之后,再返回到汇编中恢复现场,并返回到断点。其中C语言编写的中断处理程序,通过switch语句对INTOFFSET进行判断,然后散转执行对应的服务函数。 IMPORT IRQ_EXCEPTION 0x00000018 LDR PC,=IRQ_ENTRY IRQ_ENTRY STMFD SP!,{R0-R8,LR} BL IRQ_EXC
[单片机]
意法半导体采用下一代ARM技术,开发先进的手持多媒体设备
ARM Cortex-A8 处理器为下一代设备提供独一无二的低功耗与高性能 ARM 公司 今天宣布:意法半导体 授权 获得高性能的 ARM Cortex-A8 处理器。随着在下一代移动设备市场业务的扩展,意法半导体决定为其移动技术产品系列部署 Cortex-A8 处理器,为众多 价格适中 的手机和便携式多媒体设备提供台式电脑的性能。通过将 ARM Cortex-A8 处理器的性能和功耗优势同其自有的、应用广泛的 Nomadik 多媒体应用处理器相结合,意法半导体可为终端用户带来先进的性能和功能。 多媒体电子制造商必须实现内容与通信的融
[新品]
Nordic Semiconductor 与 Arm 扩展合作关系
签署最新低功耗处理器设计、软件平台和安全 IP 许可协议 Nordic签署 Arm Total Access 授权许可协议,确保其现有和未来的多协议、Wi-Fi、蜂窝物联网和DECT NR+ 产品具备业界领先的处理器和安全技术 挪威奥斯陆 – 2024年2月20日 – Nordic Semiconductor宣布与世界领先的半导体设计和软件平台企业Arm签署一项多年期Arm Total Access (ATA)授权许可协议 。ATA 保证为Nordic当前和未来的产品 (包括多协议、Wi-Fi、蜂窝物联网和 DECT NR+ 解决方案) 提供广泛的Arm® IP、工具、支持和培训。 两家企业的合作始于 2012
[物联网]