第一课:ARM底层开发笔记之ARM基础概念

arm
1.arm的概念
2.arm体系架构版本
3.arm处理器系列
4.arm开发板
5.bootloader
6.tftp

1.arm的概念
ARM:Advanced RISC Machine,一个英国公司的名称,一类微处理器的统称,一种处理器架构 IP core的名称。
ARM公司是一家知识产权(IP)供应商,它与一般的半导体公司最大的不同就是不制造芯片且不向终端用户出售芯片,而是通过转让设计方案,由合作伙伴生产出各具特色的芯片。

2.arm体系架构版本
arm体系架构的版本就是它所使用的指令集的版本。arm架构支持32位的arm指令集和thumb指令集,后者代码的存储空间小。
arm指令集版本:v1, v2 , v3, v4, v5 , v6, v7
还在使用的arm指令集:ARMv4,ARMV4T,ARMv5TE,ARMv5TEJ,ARMv6

  1. ARMv4: 只支持32位的指令集,支持32位的地址空间。
  2. ARMV4T: 增加了16位的Thumb指令集:可以产生更为紧凑的代码,同时具备32位代码的所有优点。
  3. ARMv5TE: 1999年,改进了Thumb指令集,增加了一些 “增强型DSP指令”,简称 E指令集。
  4. ARMv5TEJ: 2000年,增加了jazelle技术,用于提供java加速功能。相比仅用软件实现的java虚拟机,java代码运行速度提高8位,功耗降低80%。
  5. ARMv6: 2001年,改进方面:存储系统,异常处理,对多媒体功能的支持。 支持SIMD媒体功能扩展。还引进了Thumb-2与TrustZone技术。Thumb-2:之前的版本中arm指令集与thum指令集分别运行在不同的处理器状态,执行不同的指令集需要进行切换。Thumb-2技术增加了混合模式的功能,定义了一个新的32位指令集,可以运行32位指令与传统16位指令的混合代码。增加代码密度。TrustZone:提供两个隔离的地址空间,安全域,非安全域,给系统提供一个安全机制。
  6. ARMv7:使用Thumb-2技术,NEON技术。将DSP和媒体处理能力提高了4倍。并支持改良的浮点运算。满足 3D图像,游戏物理应用等要求。

3.arm处理器系列
通用处理器: ARM7,ARM9, ARM9E, ARM10
其他:ARM11,
Cortex系列:基于ARMv7架构,分为Cortex-A,Cortex-R,Cortex-M。Cortex-A:基于虚拟存储的操作系统与应用程序设计,支持ARM,Thume和Thume-2指令集。Cortex-R:针对实时系统设计。,Cortex-M:面向具有确定性的微控制器应用的成本敏感型解决方案。
SecurCore:专为安全需要而设计的。
OptimoDE Data Engines:针对高性能的嵌入式信号处理应用而设计。

4.arm开发板
一般开发版:arm SOC,nand flash, sdram,网卡,声卡,显示屏。。。
arm SOC: arm内核,其他外设:timer,ad/da,pwm,iis,iic, uart,usb。。。
借助pc机开发:通过串口,网口与pc交互
串口:将arm板运行的显示信息通过串口映射到pc机的屏幕上。
网口:一般通过tftp服务,完成arm开发板与pc机的文件传输。

串口工具:
linux:minicom
window: secureCRT,putty
minicom配置命令:minicom -s

5.bootloader
bootloader: u-Boot,硬件初始化(初始化内存)

开发板一上电,硬件自动把外部的nand flash中的程序拷贝到arm内部的sram中,然后程序把nand flash中剩余的程序拷贝到外接的SDRAM,然后再运行。

u-boot: c shell语法
printenv:打印
setenv ipaddr 192.168.0.7:设置网址
saveenv:保存修改
reset:重启板子
ping 192.168.0.3:检测网是否连通
tftp 30000000 a:将a文件通过网络传输到arm板的30000000地址处
md 30000000:Memory display,显示内存中3000000处的内容

6.tftp
网络文件传输
注意:要修改板子的serverip地址为pc网址。即服务器地址。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当出现"make: arm-linux-gnueabihf-ld: Command not found"的错误提示时,这表示系统无法找到arm-linux-gnueabihf-ld这个命令。这通常是由于缺少必要的编译工具链或者相关的库文件导致的。解决这个问题的方法有以下几种: 1. 确保安装了正确的编译工具链:arm-linux-gnueabihf-ld是GNU链接器的一部分,用于链接目标文件生成可执行文件。请确认已经正确安装了与arm-linux-gnueabihf-gcc相匹配的工具链,包括GNU链接器。 2. 检查系统的PATH环境变量:请确保arm-linux-gnueabihf-ld所在的目录已经添加到系统的PATH环境变量中。可以通过在Terminal中运行`echo $PATH`命令来查看当前的PATH设置,并确认是否包含了arm-linux-gnueabihf-ld所在的目录。 3. 检查编译工具链的安装位置:如果arm-linux-gnueabihf-ld确实存在于系统中,但仍然无法找到,可能是因为它被安装在了非标准的位置。可以尝试使用完整路径来运行该命令,例如`/path/to/arm-linux-gnueabihf-ld`,其中"/path/to"是arm-linux-gnueabihf-ld命令所在的实际路径。 4. 确保相关的库文件已安装:arm-linux-gnueabihf-ld可能依赖于某些库文件,如果缺少这些库文件,也会导致无法找到该命令。可以通过查看编译工具链的文档或官方网站,找到arm-linux-gnueabihf-ld所依赖的库文件,并确保这些库文件已正确安装在系统中。 总结:当出现"make: arm-linux-gnueabihf-ld: Command not found"的错误提示时,需要检查是否正确安装了arm-linux-gnueabihf-ld所在的编译工具链,并确保相关的库文件已正确安装。另外,还需要确认系统的PATH环境变量是否包含arm-linux-gnueabihf-ld所在的目录。如果问题仍然存在,可以尝试使用完整路径来运行该命令。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [sudo: arm-linux-gnueabihf-gcc: command not found解决方法](https://blog.csdn.net/weixin_47715886/article/details/108963986)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [make: arm-linux-gnueabihf-gcc: Command not found](https://blog.csdn.net/HGGshiwo/article/details/120479087)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值