ARM

带你梳理下ARM代码编译与链接调试的工作流程

梳理下下ARM代码编译链接的工作流程,以及过程中需要的相关概念信息,不具体关注编译链接的具体命令。

一、编译过程

编译过程就是把源代码编译生成目标代码的过程。而采用ARM编译命令,可以将源代码编译成带有ELF格式的目标文件。除了编译命令可以选择相应的编译选项之外,源代码中的pragmas以及特别的关键字也会对编译过程/结果产生一定影响。

1、makefile文件

Makefiile类似一个脚本文件,这个文件用来定义了编译过程,其中包含了需要编译的文件、文件顺序,编译的宏定义等等,可以看做完整编译需要的信息及过程的集合。

2、ELF格式文件

ELF文件:(Executable and Linkable Format) ELF文件出了包含编译出的二进制代码,还包含其他链接需要信息,ELF格式提供了相应代码/数据对应编译出的地址信息、文件信息等内容。

二、链接过程

ARM Linux Kernel浮点运算(软浮点、硬浮点)

硬浮点Hard-float

编译器将代码直接编译后给硬件浮点协处理器(浮点运算单元FPU)去执行。FPU通常有一套额外的寄存器来完成浮点参数传递和运算。使用实际的硬件浮点运算单元FPU当然会带来性能的提升。因为往往一个浮点的函数调用需要几个或者几十个时钟周期。

软浮点 Soft-float

编译器把浮点运算转换成浮点运算的函数调用和库函数调用,没有FPU的指令调用,也没有浮点寄存器的参数传递。浮点参数的传递也是通过ARM寄存器或者堆栈完成。

软浮点支持是由交叉工具链提供的功能,与Linux内核无关。当使用软浮点工具链编译浮点操作时,编译器会用内联的浮点库替换掉浮点操作,使得生成的机器码完全不含浮点指令,但是又能够完成正确的浮点操作。

在 ARMv7 体系结构之前,VFP 代表矢量浮点体系结构,并曾用于矢量运算。

对于许多应用来说,设置硬件浮点至关重要,在与 NEON™ 多媒体处理功能结合使用时,硬件浮点可用于增强图像应用程序的性能(如缩放、2D 和 3D 转换、字体生成和数字过滤)。

一文看懂ARM里的RAM和SDRAM有什么区别

RAM介绍
  
RAM:随机存取存储器。

在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。

存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器简称内存,内存在电脑中起着举足轻重的作用,一般采用半导体存储单元。因为RAM是内存其中最重要的存储器,所以通常我们直接称之为内存。

“”

内存就是存储程序以及数据的地方,比如当我们在使用WPS处理文稿时,当你在键盘上敲入字符时,它就被存入内存中,当你选择存盘时,内存中的数据才会被存入硬盘。
  
RAM就是既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。我们通常购买或升级的内存条就是用作电脑的内存,内存条(SIMM)就是将RAM集成块集中在一起的一小块电路板,它插在计算机中的内存插槽上,以减少RAM集成块占用的空间。

嵌入式开发arm技术JTAG接口解读

通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。

一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能则由具体的软件决定。例如下载程序到RAM功能。了解SOC的都知道,要使用外接的RAM,需要参照SOCDataSheet的寄存器说明,设置RAM的基地址,总线宽度,访问速度等等。有的SOC则还需要Remap,才能正常工作。运行Firmware时,这些设置由Firmware的初始化程序完成。但如果使用JTAG接口,相关的寄存器可能还处在上电值,甚至时错误值,RAM不能正常工作,所以下载必然要失败。要正常使用,先要想办法设置RAM。在ADW中,可以在Console窗口通过Let 命令设置,在AXD中可以在Console窗口通过Set命令设置。

下面是一个设置AT91M40800的命令序列,关闭中断,设置CS0-CS3, 并进行Remap,适用于AXD(ADS带的Debug)

三界大融合:AXIOM完美融合Arduino,ARM及FPGA

作者:清风流云

历时两年时间,AXIOM板卡终于面世了。AXIOM在开始之初,主要由欧洲七家不同的企业单位支持。其中有三所研究机构/高校:锡耶纳大学,巴塞罗那超级计算中心和Fourth,四家科技公司:SECo,Vimar,Evidence和Herta安全。

AXIOM板卡首次将三个不同系列产品结合在 一起:Arduino,ARM处理器以及FPGA。在AXIOM的设计中选择了最好的器件,使得整个板卡可以用尽可能少的资源和能量消耗来取得最大的实时硬件加速。换言之,AXIOM板卡完成了高性能计算,嵌入式计算以及信息-物理融合系统的完美结合。同时,它也是完成对短时内超大数据量进行数据分析的理想平台,比如机器学习,神经网络,服务器集群,比特币挖掘等。

基于Xilinx Zynq UltraScale+ MPSoC的AXIOM板卡
上个月,欧洲AXIOM项目组生产出他们的第一张板卡,此板卡完全基于Xilinx Zynq UltraScale+ ZU9EG MPSoC而实现的。AXIOM工程配置了灵敏度极高的可扩展的快速I/O模块,旨在解决信息-物理融合系统CPS的最新软硬件架构问题。

作者:bolvar

TSMC、三星不仅要争抢10nm工艺,再下一代的7nm工艺更为重要,因为10nm节点被认为是低功耗型过渡工艺,7nm才是真正的高性能工艺,意义更重大。现在ARM宣布已将Artisan物理IP内核授权给赛灵思(Xilinx)公司,制造工艺则是TSMC公司的7nm。该芯片明年初流片,不过2018年才会正式上市。

赛灵思是重要的FPGA芯片公司,也是TSMC公司的大客户之一,TSMC的新工艺大多是FPGA芯片首发,这次合作也不例外。ARM授权赛灵思公司在TSMC公司的7nm工艺上使用自家的Artisan物理IP内核,后者是ARM开发的PGA(Power Grid Architect),可以优化集成电路的电源栅极,号称减少10%的芯片面积,提升20%的面积利用率。

ARM、赛灵思首发TSMC的7nm工艺

30多年前,BBC成就了ARM,这次它又出手了!

作者:电子创新网张国斌
1978年3月,ARM公司的联合创始人Hauser和Sinclair公司的工程师Chris Curry一起,创办了CPU公司(Cambridge Processing Unit)(这名字真牛! )。随着当时计算机市场走热,在1979年12月,2人和Andy Hopper一起创立了Acorn公司。CPU公司变成了一个开发和控股公司,而Acorn公司不久后就开始贩卖家用电脑Atom,这比苹果电脑也晚不了一点,比IBM的PC要早。

Zynq-7000全可编程SOC架构移植快速入门指南

该指南用于帮助您借助 Zynq-7000 全可编程 SoC 加速设计

Zynq®-7000 AP SoC 将一个完整的 ARM® 处理器子系统与业界一流的 FPGA 可编程逻辑紧密结合,支持基于软件的控制和基于实时硬件处理的分析。

为了帮助设计人员将其嵌入式软件移植至基于 ARM 的平台,Xilinx 推出了移植快速启动指南,主要介绍:

  • 用于帮助制定移植策略的 Zynq 处理系统的主要特性
  • 与其它处理器的架构比较 ( 包括功能调用、中断处理和地址映射 )
  • 指向 Xilinx UltraFast™ 嵌入式设计方法指南和处理器特定移植检查清单的相关链接
  • 尤为特别的是,该指南还将为您结介绍一个流程,让您了解如何告诉您从 Intel®、MIPS、PowerPC®,或 Renesas-SH 处理器转换至 Zynq-7000 全可编程 SoC 产品系列所包含的 ARM® Cortex®-A9 双核处理器。
  • 聚焦ARM科技论坛:Micrium与Xilinx合作共赢

    作者:Kenshin

    在2015年的ARM科技论坛上,我们发现一件令人非常兴奋的事情。在Micrium的展台上展示出一个µC/OS-III系统的应用,采用的底板正是Xilinx Zynq UltraScale MPSoC架构的处理器板卡,外设配置LCD显示屏和键盘,显示屏上正显示着这款APP应用的架构设计。

    图1 ZYNQ移植uC/OS-III

    图1 ZYNQ移植uC/OS-III

    坊间一直猜测高通公司会从其老本行(移动领域)进入到云计算领域,高通日前宣布正将一个基于新的系统芯片开发平台送交顶级服务器制造商试用,从此正式进入服务器市场。

    此消息是截止目前对ARM进入服务器市场之举最好的证明,众所周知,ARM进入服务器市场的过程颇为缓慢和艰难,高通与赛灵思、Mellanox公司结下的合作伙伴关系至关重要,原因是高通的大数据中心客户都在探索利用FPGA作为协处理器的可能性,运营商也都在采用诸如网络功能虚拟化(NFV)的新型通讯架构。

    高通公司总裁Derek Aberle在新闻发布会上表示,高通拥有“悠久的开发定制IP高性能微架构的历史。我们认为我们可以利用这一专长进军世界一流的数据中心。考虑到我们在移动市场的领先地位,这一点对在数据中心领域里具有竞争力的解决方案是非常重要的。”

    高通只提供了新SoC的粗略说明,并无有关路线图的细节。高通公布的一款前期产品性质的SoC含24个用到FinFET工艺的定制ARMv8内核。该SoC还包括一个存储器控制器、存储、PCI Express和其他定制IP。高通的目标是云应用,如基础设施和平台即服务、机器学习、大数据及NFV。

    同步内容