[资料分享与下载] K60(Cortex-M4)开源开发探索(四)—— 交叉编译环境设计

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

 楼主| niuyaliang 发表于 2015-2-28 17:05 | 显示全部楼层
二、交叉编译环境结构
      在Linux下进行嵌入式开发已经非常成熟,网上的资料非常多,一般都是使用gcc+eclipse的结构。结合移动机器人的应用,我设计的交叉编译环境的总体结构如下:
 楼主| niuyaliang 发表于 2015-2-28 17:05 | 显示全部楼层
 楼主| niuyaliang 发表于 2015-2-28 17:06 | 显示全部楼层
(1)核心:arm交叉编译工具链。
         嵌入式产品的资源往往十分有限,一般采用Host/Target的模式进行开发,既在PC上开发,然后在嵌入式系统中运行的方式。所以在PC上编译出ARM架构可执行文件的交叉编译器就是十分重要了。交叉编译器主要完成的工作如下:
 楼主| niuyaliang 发表于 2015-2-28 17:06 | 显示全部楼层
 楼主| niuyaliang 发表于 2015-2-28 17:06 | 显示全部楼层
(2)人机交互:Eclipse

          Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse的插件功能十分强大,可以把我们使用到的所有软件工具结合在GUI界面下。CodeWarrior也是基于Eclipse设计的。
 楼主| niuyaliang 发表于 2015-2-28 17:07 | 显示全部楼层
(3)守护进程:OpenOCD
QQ图片20150228170720.png
 楼主| niuyaliang 发表于 2015-2-28 17:07 | 显示全部楼层
openocd是一个开源的JTAG上位机,可以将gdb命令转换成jtag使用的电平信号,并且实时监控连接状态。openocd也可以独立访问硬件设备,所以可以在烧写程序之前,通过openocd初始化好硬件。详细资料可以参见官网:http://openocd.sourceforge.net/
 楼主| niuyaliang 发表于 2015-2-28 17:08 | 显示全部楼层
4)调试器:OpenJTAG
           与BDM和jtag相比,openjtag可以实现前者的所有功能,并且可以多系统通用。而且在官网上(http://www.openjtag.org/)可以下载到PCB等技术资料。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

2427

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部