历史上的今天
返回首页

历史上的今天

今天是:2024年09月10日(星期二)

正在发生

2019年09月10日 | 基于STM32从零写操作系统系列---熟悉win+linux交叉编译环境

2019-09-10 来源:eefocus

本章将讲述交叉编译环境的学习,环境平台是ubuntu,工具链是gcc-arm-none-eabi。


目的:

熟悉交叉编译环境,了解如何下载BIN格式的程序文件到单片机。


实验1:

一个简单的交叉编译与程序下载过程


环境搭建(以我的平台为例):

安装win7 64位系统,具体教程可百度

在windows系统上安装VMware虚拟机,具体教程可百度

在虚拟机上新建虚拟机,安装ubuntu系统

在ubuntu系统使用命令安装make(如果没有),gcc-arm-none-eabi交叉编译工具

在windows系统上安装ST-Link Utility软件,用于下载bin格式文件到是stm32单片机

在windows系统上安装编辑器,如notepad++

在windows系统上安装winSCP软件,用于在windows与ubuntu之间传输文件

具体实验过程:

1.在winows系统中新建一个文件夹,用作项目文件夹,命名为helloworld


2.打开编辑器(我的是notepad++),创建文件boot1.s。这段代码就实现了死循环,并没有什么实际用途,主要是练习如何下载BIN格式文件到单片机,代码如下:


3.创建文件Makefile,这是编译用的工程文件,用于编译boot1.s文件。Makefile教程,可以网上搜索或阅读Makefile文档。代码如下:

4.创建链接脚本ldboot1.ld。

5.在同一目录下,一共创建了3个文件如下

6.通过WinSCP软件,将上述的三个文件放到ubuntu系统中。在ubuntu系统中,进入这些文件所在的位置,输入make命令,将会生成.bin文件。

7.反汇编代码如下

8.打开ST-Link Utility软件,点击设置按钮具体设置如图1,点击连接按钮,连接单片机(单片机与电脑需要连接好和驱动需要安装好,打开单片机电源)。连接成功后,如图2:


图1

图2

9.下载bin文件到单片机,点击Target->Program & Verify,出现如下图的对话框。注意start address为0x08000000,即为flash的地址。确认File path是否是需要下载的文件。点击Start按钮。

10.下载成功后,如图,0x08000000处的代码与反汇编的代码相同。第一个实验到此结束,感觉上是成功了。为了验证使用ST-Link Utility软件下载bin格式文件到stm32单片机后,程序是否可以运行,在本系列的第4篇文章将做一个点亮LED的实验。


推荐阅读

史海拾趣

GD Rectifiers Ltd公司的发展小趣事

面对电子行业日益激烈的市场竞争,GD Rectifiers Ltd通过并购整合的方式加速了自身的发展步伐。公司精心挑选了几家在细分领域具有领先地位的竞争对手,通过友好协商和合理估值,成功完成了对这些企业的并购。并购后,GD Rectifiers Ltd充分利用被并购企业的技术优势和市场份额,实现了产品线的进一步丰富和销售渠道的拓展。同时,公司还加强了对内部资源的整合和优化,提高了整体运营效率和市场竞争力。

Cembre SPA公司的发展小趣事

Cembre SPA一直秉持品质至上的原则,不断追求产品质量的提升。公司建立了严格的质量管理体系,从原材料采购到生产制造,再到产品出厂,每一个环节都严格把控。同时,公司还注重持续改进,通过引入先进的生产设备和技术,不断提高生产效率和产品质量。

FETek Technology(东沅)公司的发展小趣事

在半导体测试领域取得成功后,东沅并没有停止前进的步伐。他们开始关注新兴的电子行业趋势,并决定拓展新的业务领域。例如,他们开始研发和生产与电源管理相关的Power Mosfet产品,这些产品具有高效能、高可靠度和价格优势等特点,迅速在市场上占据了一席之地。此外,东沅还积极拓展射频和模拟芯片领域的研发和销售,为客户提供更全面的解决方案。

Avalon Photonics公司的发展小趣事

Avalon Photonics始终坚持以客户需求为导向,不断进行产品创新。公司研发团队根据市场反馈,不断优化产品性能,同时推出了一系列定制化服务。某知名科研机构需要一种特殊规格的光子探测器,Avalon团队迅速响应,为其量身定制了解决方案。这一成功案例不仅赢得了客户的赞誉,也为公司带来了更多的定制化订单。

Gulf Semiconductor公司的发展小趣事

随着公司的发展,Avalon Photonics开始寻求国际合作,以进一步拓展市场。公司与欧洲一家知名的科研机构建立了战略合作关系,共同研发新一代的光子学设备。这一合作不仅带来了技术上的互补,也为Avalon打开了欧洲市场的大门。通过国际合作,Avalon的产品逐渐在国际市场上获得认可,公司规模也逐步扩大。

EMC Technology RF Labs公司的发展小趣事

RF Labs非常重视产品质量和品质保证。他们建立了完善的质量管理体系,从原材料采购到生产、检测、包装等各个环节都进行严格的质量控制。同时,RF Labs还引进了先进的生产设备和技术,确保产品的质量和性能达到国际先进水平。这些举措使得RF Labs的产品在市场上享有很高的声誉和口碑。

问答坊 | AI 解惑

如何在火线零线间点亮发光二级管?

火线、零线两之间,我用一只红色发光二极管串接一个100K电阻并在火线零线之间后,发光二极管正常工作; 可是我用一蓝色发光二极管串接一个100K电阻并在火线零线之间后,为什么就不能正常工作了呢? 着急啊?请教各位大侠,用蓝灯如何接才能正常、 ...…

查看全部问答>

全球最古怪的“双面”车

据金鹰网报道 现年39岁的Vasyl Lazarenko是一位来自乌克兰西部的工匠。由于女友非常喜欢坐敞篷车去兜风,而他自己又觉得硬顶车篷很实用,于是突发奇想,决定自己打造一款世界上独一无二的“双面车”。 这辆车的左边是现代轿车的造型,而右边则 ...…

查看全部问答>

请教 华为 和 ST-Ericsson 这两个公司哪个好点啊?

请教各位前辈:     我刚刚走出校门,不清楚每个公司情况     请问做研发的话(底层驱动)     华为 和 ST-Ericsson(T3G) 这两个公司哪个好点啊?…

查看全部问答>

PCB制板说明-2010

PCB厂 发过来的制板说明 ,里面是他们关注的参数,大家可参考下。…

查看全部问答>

DEC2812与凌华CAN接口卡7841的通信

我用两根线将DEC2812的CAN接口与凌华CAN接口卡相连。两者都设置成1M波特率。 但是2812总是信息发送不出去,相应的CANTA位总不能置位。 但是,单独DEC2812自测试模式下工作正常,单独凌华接口卡CAN自己通信(双口)也正常。 请问是什么原因,应该 ...…

查看全部问答>

鑫海金工实习报告

答应过大家的要把我的实习报告给大家看看,索性传上来了嘿嘿 下面是封皮 [ 本帖最后由 鑫海宝贝 于 2011-4-13 21:17 编辑 ]…

查看全部问答>

我的24lc01的程序

我使用的是msp430f169。在SCL和SDA上加10K上拉电阻。 A2=A1=A0=0; SCL = BIT4; SDA = SDA; 本程序已经条是通过了。多谢在此过程中指教的各位。 #include "msp430x16x.h" unsigned int adjg; unsigned char ack,ctlbyte; void ysh(unsig ...…

查看全部问答>

端口没有反应

小弟近日用如下程序测试我的MSP430F149做的一个板子,本来应该输出一个方波,但是没有反应。请各位高手帮看看! #include <msp430x14x.h> void main( void ) { WDTCTL = WDTPW+WDTHOLD; P4DIR |= 0x02; for(;;) { ...…

查看全部问答>

关于MBI5024使用中的问题

不知道大家谁使用过MBI5024,使用的时候出现了什么问题?大家一起来讨论一下吧…

查看全部问答>