OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 17559|回复: 23

建议使用GCC

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
25
金钱
25
注册时间
2011-7-16
在线时间
0 小时
发表于 2011-7-16 23:35:43 | 显示全部楼层 |阅读模式
由于公司做安全产品加急需要,购买了一块Alientek板子,偶然逛到这里,有一点不是很舒服,

和ourdev一样,大部分的人对新手教程都是使用Keil MDK之类有版权的编译器

公司这几年从培训班招的一些学生也都是如此。

此外,这些IDE掩盖了很多技术细节,离开了IDE或者换IDE很多人都一抹黑了。

之前遇到一个合作小公司的技术头,也是ADS、MDK出来的,换了特殊芯片后就悲剧了,很多东西一知半解

写程序不怕不懂,最怕半解。反倒是他手下一个刚毕业的熟悉GCC的对新IDE上手极快,虽然这颗芯片过于专业,gcc不支持

所以还是使用GCC+GNU Makefile吧,招聘这么多年已经习惯优先考虑熟悉GCC+GNU Makefile的学生了。

嵌入式远远不止ARM,M3,MIPS,还有很多奇形怪状的芯片。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2011-3-8
在线时间
0 小时
发表于 2011-7-17 15:16:41 | 显示全部楼层
就单纯的写程序来说,GCC和KeilC并没有太大差别,但涉及到编译、链接的时候GCC的要求就比较高,
最基本的来说,Keil里你连startup和link文件都不用写,这就躲掉了很多问题,
没有研究过标准库的话,retarget一个printf都能要你命。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-7-17 16:02:46 | 显示全部楼层
这个看情况吧!不是人人都需要懂编译原理的,也不是一定要会汇编才能写代码,尤其在天朝,版权像个鸟,只能看得见,很难抓的到。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

13

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2010-12-17
在线时间
0 小时
发表于 2011-7-17 20:33:08 | 显示全部楼层
“版权像个鸟”,其实不光是版权,太多的东西都变样走形了,实实在在做事情总会觉得越走越窄直到走不下去
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-7-17 23:51:00 | 显示全部楼层
所以适者生存。先生存,后改变!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

38

主题

248

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
463
金钱
463
注册时间
2011-2-11
在线时间
12 小时
发表于 2011-7-18 18:37:47 | 显示全部楼层
支持楼主。其实很多细节和底层的东西,还是要掌握的。否则从hw到sw,总是有些东西不明白,任督二脉不通,永远成不了高手。
Openedv大力支持的开源RTOS  --Trochili RTOS(飞鸟)
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2011-7-21
在线时间
1 小时
发表于 2011-7-21 20:59:59 | 显示全部楼层
首先有stm32的gcc的,sourcery G++好像,之前编译过,这个软件业有商业版本的,基于固件库使用没啥本质的区别。
个人博客,欢迎关注。http://blog.csdn.net/haozi_1989
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-12-14 22:34:42 | 显示全部楼层
想用 Codeblocks + sourcery g++ 的 ... 结果不会 ... 网上有人弄出来的步骤也写的不清不楚的 ... 只能有时间再研究了 ...
https://github.com/roxma
回复 支持 反对

使用道具 举报

96

主题

762

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1228
金钱
1228
注册时间
2012-10-19
在线时间
15 小时
发表于 2012-12-15 10:58:04 | 显示全部楼层
会就会吧,不会就不会,我们总不可能学习很多东西去等着去用吧!
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2012-12-15 14:16:12 | 显示全部楼层
用的盗版XP,AD,OFFICE谈版权。
很可笑啊。
呵呵。
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-12-15 15:04:10 | 显示全部楼层
回复【10楼】无名氏:
---------------------------------
我觉得很多软件能给你用盗版是公司睁一只眼闭一只眼, 难道软件上不能偷偷的检查你是不是通过破解手段吗? 
过去的 M$ 系统黑屏就是一经典的例子. 
小客户带来不了多少利润, 睁一只眼闭一只眼就算了, 很多学生也给不起钱. 再加上, 比如M$过去这么纵容盗版也可以挤竞争对手的生存空间.
如果是在企业里用盗版, 人家也不是没办法追踪到的, so~ 追究起来还是要承担法律责任的~
https://github.com/roxma
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-12-15 16:28:00 | 显示全部楼层
成功在 CodeBlocks 上使用 Sourcery g++ lite 了, 
不过还不能调试
有时间再写详细的文档吧, 有些细节自己也不太清楚, 尤其是链接脚本那一块, 唉 ... 之前的 ARM9 白学了 ...

据说 keil 也是可以支持 gcc 编译器的, 可以用 keil 来调试, 有时间再折腾一下

比较吸引我的地方是它用的是目前最新的 gcc 编译器 4.7.2, 算是对新的 c++ 标准 C++11 支持最好的编译器之一了, 比如 constexpr 就比较实用, 还有 auto 自动类型推导, 连 lambda 表达式都支持, 引进了 Java 的关键字 final, 强类型 enum, static_assert 关键字等等, 具体可以参考 wiki 百科 http://zh.wikipedia.org/wiki/C++0x

编译速度比 mdk 快很多, 不过感觉它对代码的优化能力不如 mdk, 估计 Cortex-M3 对 gcc 来说太低端了吧
https://github.com/roxma
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-12-15 18:41:32 | 显示全部楼层
可以在 MDK 下软件仿真了 ... 参考这里 http://lishutong.me/1170.html
不过好像不能进行源码级仿真 ... 看寄存器的内容, 汇编代码什么的倒是可以 ...

后来发现好像是版本问题, 新版本的 gcc (我用的是gcc 4.7.2) 生成的调试信息都不能让 mdk 识别 ...

不过这个问题以已经解决了, 还是参考 http://lishutong.me/1170.html 的回复 ...
https://github.com/roxma
回复 支持 反对

使用道具 举报

11

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2012-12-8
在线时间
0 小时
发表于 2012-12-15 19:54:35 | 显示全部楼层
GCC+GNU Makefile 教程 || 经验总结 太少了
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2011-12-23
在线时间
0 小时
发表于 2012-12-15 21:33:24 | 显示全部楼层


http://hi.baidu.com/yl19890225/item/87d75d700f0acd326e29f679


Ubuntu + Eclipse + Code Sourcery + OpenOCD + j-link + STM32


回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-12-15 21:42:25 | 显示全部楼层
Eclipse 貌似挺多人弄出来的, 不过嫌 Eclipse 臃肿, java 写的在程序在我的电脑上跑都都比较慢, 所以更倾向于 Codeblocks, 但是调试又比较难搞, 所以还是得用 keil 来做 IDE...
https://github.com/roxma
回复 支持 反对

使用道具 举报

11

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2012-12-8
在线时间
0 小时
发表于 2012-12-16 16:20:31 | 显示全部楼层
vc6.0 + visual assist
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2012-12-17 10:48:08 | 显示全部楼层
回复【11楼】Pony279:
---------------------------------
你的KEIL MDK是正版的???????
呵呵。
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-12-17 10:54:04 | 显示全部楼层
回复【18楼】无名氏:
---------------------------------
不是正版的...不过如果用 gcc 作为编译器,在编译的时候是不会提示 32k限制的,除非要使用MDK的仿真功能。

https://github.com/roxma
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2012-12-17 13:14:48 | 显示全部楼层
回复【19楼】Pony279:
---------------------------------
谢谢。GCC配置麻烦,版本更新后,还的折腾,工具就是工具,有时间搞搞界面,算法,等等,与你共勉。
呵呵。
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-12-19 12:56:26 | 显示全部楼层
话说版权风险还是有的 ...
http://tech.163.com/12/1219/11/8J368ON2000915BD.html
https://github.com/roxma
回复 支持 反对

使用道具 举报

7

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2013-3-2
在线时间
67 小时
发表于 2013-3-2 22:10:32 | 显示全部楼层
可以用emIDE:
http://www.emide.org/
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2013-3-4 12:33:03 | 显示全部楼层
看了一下, emIDE 是基于 CodeBlocks 做出来的,
作者的意思是 CodeBlocks 在嵌入式开发的调试方面有些 bug, 所以自己弄了一个.
不知他为什么不直接加入 CodeBlocks 项目去帮助改进, 而是自己另外写一个...
https://github.com/roxma
回复 支持 反对

使用道具 举报

7

主题

75

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2012-12-30
在线时间
41 小时
发表于 2013-3-4 12:55:57 | 显示全部楼层
CoIDE,免费,基于gcc的ARM Cortex MCU 开发工具,支持厂商库并且有一套自己的通用库
http://www.coocox.org/cn/CooCox_CoIDE.html
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-22 19:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表