Chinaunix首页 | 论坛 | 博客
  • 博客访问: 699722
  • 博文数量: 255
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 2811
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-09 13:29
个人简介

IT业行者,行者无疆

文章分类

全部博文(255)

文章存档

2011年(121)

2010年(134)

我的朋友

分类: LINUX

2011-05-04 09:40:44

问:

小弟刚开始接触ARM,从网上下载的讲解ARM开发流程的资料都是基于GCC交叉编译环境的:选ARM芯片-->BOOTLOADER等等!但是公司用的是ADS综合开发环境。小弟想问一下,GCCADS有什么异同?从网友的资料来看,GCC交叉编译环境的建立还挺复杂的,既然这么复杂,为什么还要用它?为什么不用ADS?哪位老大给解释一下?

版主:

    这么说吧,你只用裸机的程序,不用操作系统的话那直接用ADS就行了,不需要交叉编译环境。

但是如果要跑操作系统,那么怎么编译操作系统就需要用交叉编译环境。

一般来说ADS又不知道怎么编译你的操作系统(经过修改也是可以的),这就需要用交叉编译器来编译。

简单来说交叉编译器就是在PC模拟一个ARM处理器的环境(借鸡下蛋),将编译后的二进制文件down进取运行。BootLoader就是一个引导程序,相当于PC机的Bios,也就是你的arm处理器的Bios,对硬件进行一些初始化,然后进入操作系统运行。

谢谢斑竹,再问两个问题:

1、如果不跑操作系统,ADS调试ARM是不是和Keil调试C51差不多?

2、如果要跑操作系统,将GCC编译好的操作系统影像文件和BootLoader烧录到FLASH之后,整个ARM系统还是不是可以继续在ADS下调试?如果可以的话,是不是意味着GCC在整个过程中只起到编译操作系统的作用,生成操作系统影像文件后,GCC就可以功成身退了?

版主:

第一个问题可以,就是和跑裸机的单片机一样。
第二个问题,一般来说,编译过的影像文件不可以在ADS下调试(ADS怎么知道操作系统有哪些文件,怎么链接)。但是网上也有一些作了一些其他的工作可以调试一下(ADS调试uclinux内核等),但我觉得还是不好用。

 

 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

一般LINUXUCLINUX 的移植于开发都用GCC

而不带OS或者移植简单的ucos,多用ADS进行开发。在Windows PC,多用于ADS.

LINUX的操作系统或者通过虚拟机的LINUX,多用GCC.

 

ads直接编译生成的.bin文件可以在没有os的板子上跑啊,干嘛还要什么gcc编译? 你只要设置ads的配置参数就行了呀。

如果是在linux下,就要下载一个交叉编译工具,解压后把工具的路径设置成环境变量,然后arm-linux-gcc 编译,就可以生成你要的在板子上跑的代码了。

 

 

阅读(1510) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~