完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
继上节介绍完stm32的开发流程和文本编辑工具之后,本节将介绍工具链中最重要的两个工具:编译器和下载器。
一、编译器 百度百科对编译器的解释:编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables) 编译器的工作流程很多,但对于使用者来讲关键的步骤可以归纳为两个,分别是【编译】和【链接】。
本文选用arm-gcc作为编译工具,与vim一样,接触过Linux的读者对gcc的名字也不会陌生,gcc本身是PC平台的编译器,但后来有人在gcc的基础上将其改造为了可编译ARM平台代码的编译器。 下载
arm-gcc安装比较简单,双击按照提示走就行了。 安装完成后会弹出如下界面,记得勾选“Add path environment variable”这一项,这样windows系统能正确找到arm-gcc的位置。 安装完成后验证,按win+r,然后输入cmd+回车,呼出控制台(win是键盘上印着windows的logo的按键),然后输入arm-none-eabi-gcc回车,如果出现以下输出则表示安装成功。 使用 本段简要介绍arm-gcc的使用方法,编写一个测试文件让arm-gcc编译,但由于目标平台是ARM,因此生成的文件不能在电脑上运行,仅作为概念性示范。
void test(void) { int i; for(i=0;i<100;i++) { } }
arm-none-eabi-gcc -S test.c -mcpu=cortex-m3 -o test.s #编译选项 -S 指定编译器只生成汇编代码 test.c 输入文件 -mcpu=cortex-m3 指定目标平台为cortex-m3,即stm32f103的内核 -o test.s 指定输出文件的名字为test.s 回车后能看到编译生成的汇编代码 示例中并没有main函数,这是因为编译阶段并不检查函数是否有定义,这步工作会在链接时完成。 2、openocd下载、安装和使用 有了编译器,还需要能将生成的二进制文件下载(烧写)到stm32的工具,这里的工具有两个,一个是硬件下载器,如stlink、jlink、cmsis-sap等,软件工具就是这里介绍的openocd。 关于openocd更详细的介绍-> 安装
验证 打开控制台,在控制台中输入openocd并回车,如果出现以下结果表明openocd安装成功,否则请检查你的环境变量是否设置正确。 openocd使用
下一节将介绍编译控制和工程管理工具make。 |
|
|
|
只有小组成员才能发言,加入小组>>
3309 浏览 9 评论
2988 浏览 16 评论
3490 浏览 1 评论
9050 浏览 16 评论
4084 浏览 18 评论
1168浏览 3评论
601浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
592浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2329浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1892浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 11:54 , Processed in 1.082590 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号