推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

ARM自动编译工具的设计与开发

更新时间:2020-02-13 05:30:17 大小:1M 上传用户:gsy幸运查看TA发布的资源 标签:arm自动编译脚本语言 下载积分:4分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

Linux环境中编译ARM工程,必须使用ARM交叉编译工具和MAKE工具,通过Makefile文件实现编译过程。ARM工程在Windows平台和Linux平台下的语法区别很大,编译工具链也不一样。

  选题来源于某公司设计平台升级,需要一个把 ARM工程从 Windows平台移植到Linux平台并进行编译连接。由于编译器的区别,若要在 Linux平台下开发原来在Windows平台下的ARM工程,首先必须要修改ARM工程,使其符合Linux平台下GCC的编译规则,其次为了满足此公司的项目开发需求,需要实现ARM工程目录结构的自动定义,最后对编译连接生成的二进制文件进行分割处理,生成设计平台其他的部分需要的vhx文件。由此可得出 ARM自动编译工具的功能需求是:ARM汇编文件的自动移植、ARM C源文件的自动移植、地址映射配置文件的自动移植、自动定义目录结构、配置编译连接参数、分割二进制文件等。

  根据需求,本文分为三个模块:移植模块、编译模块和接口模块,详细设计如下:

  移植模块的主要功能是将Windows平台下ARM工程自动转换成Linux平台下ARM工程。移植模块主要包括三个脚本:ARM汇编文件移植脚本、C源文件移植脚本和地址映射配置文件移植脚本。论文首先详细分析了ARM工程的汇编源文件、ARM C源文件以及地址映射配置文件在Windows平台下和Linux平台下的区别和联系,然后采用了Python正则表达式的匹配功能,将各个文件在Windows平台相关的关键字转换成Linux平台下的相关关键字,以达到自动移植的目的。

  编译模块的主要功能有三个:定义ARM工程目录、配置编译连接参数、分割二进制文件。ARM工程目录的定义包括输入文件目录、输出文件目录以及库文件目录的定义。由于在方案选择的时候ARM自动编译工具的设计方向是适用于该公司目录结构的任意ARM架构的ARM工程的编译工具,所以目录结构的自动定义直接在Makefile文件中实现,在该公司ARM工程目录结构的基础上目录的变化不会影响工具的使用。配置编译连接参数是在配置脚本中实现的,本文以 ARM7为例配置了一些编译连接的参数,如果需求或ARM架构改变只需要修改相关参数即可。最后二进制文件根据项目环境...

部分文件列表

文件名 大小
ARM自动编译工具的设计与开发.pdf 1M

全部评论(0)

暂无评论