NXP

K60(Cortex-M4)开源开发探索(四)—— 交叉编译环境设计

2019-07-12 12:29发布

一、开源开发简介

        windows作为现在桌面系统的主流,在开源开发领域中却存在配置困难、软件支持少等缺点,而本身就是开源系统的linux在这一领域就显示了强大的性能。近几年来,开源软件依靠灵活的特性,已经主宰了嵌入式软件开发,成为了当今嵌入式市场竞争的主要推动因素。为了适应发展,具有更好的可扩展性,我也选用linux作为研究平台。基于linux 的操作系统有很多,现在应用比较广泛的应该是ubuntu,我使用的版本是ubuntu12.04。

二、交叉编译环境结构

      在Linux下进行嵌入式开发已经非常成熟,网上的资料非常多,一般都是使用gcc+eclipse的结构。结合移动机器人的应用,我设计的交叉编译环境的总体结构如下:
        (1)核心:arm交叉编译工具链。          嵌入式产品的资源往往十分有限,一般采用Host/Target的模式进行开发,既在PC上开发,然后在嵌入式系统中运行的方式。所以在PC上编译出ARM架构可执行文件的交叉编译器就是十分重要了。交叉编译器主要完成的工作如下:
          (2)人机交互:Eclipse
          Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse的插件功能十分强大,可以把我们使用到的所有软件工具结合在GUI界面下。CodeWarrior也是基于Eclipse设计的。           (3)守护进程:OpenOCD
          openocd是一个开源的JTAG上位机,可以将gdb命令转换成jtag使用的电平信号,并且实时监控连接状态。openocd也可以独立访问硬件设备,所以可以在烧写程序之前,通过openocd初始化好硬件。详细资料可以参见官网:http://openocd.sourceforge.net/            (4)调试器:OpenJTAG            与BDM和jtag相比,openjtag可以实现前者的所有功能,并且可以多系统通用。而且在官网上(http://www.openjtag.org/)可以下载到PCB等技术资料。
---------------------------------------------------------------- 欢迎大家转载我的文章。 转载请注明:转自古-月 http://blog.csdn.net/hcx25909 欢迎继续关注我的博客