历史上的今天

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

正在发生

2018年10月13日 | arm-none-eabi-gcc编译STM32优化删除代码解决办法

发布者:牟牟的侬 来源: eefocus关键字:arm-none-eabi-gcc  编译  STM32  优化  删除代码 手机看文章 扫描二维码
随时随地手机看文章

前两天使用arm-none-eabi-gcc编译STM32F103C8程序,就是一个简单的流水灯程序。
#include "stm32f10x.h"

int main(void)
{
        int i;
        RCC->APB2ENR=0xFFFFFFFF;
        GPIOC->CRL=0X33333333;//outpp at 50M
        GPIOC->CRH=0X33333333;
        while(1)
        {
                GPIOC->BSRR=(1ul<<13);
                for(i=0;i<720000;i++);
                GPIOC->BRR=(1ul<<13);
                for(i=0;i<720000;i++);
        }
}

编译很成功,也生成了bin文件,但是当烧进单片机的时候,流水灯却没有闪,这是什么原因呢?请各位版主或者玩过GCC的大神给个指导。
启动文件和链接文件都是在ST官网V3.50库文件中trueStudio中的,应该没错。连接文件选择的是F103B文件夹中的,链接文件写的FLASH是128KB,我的单片机是64KB,RAM都是20KB。
编译.c文件的命令行: -Wall -mcpu=cortex-m3 -march=armv7-m -mthumb -Os -Wl,--gc-sections -g -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
编译启动文件的命令行:-mcpu=cortex-m3 -march=armv7-m -mthumb



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


使用gcc编译器 对于像延时这样的操作 记得基本的变量加volatile 
意思是 
int i; 
改为 
volatile int i; 
不谢

没事 不至于这么客气 我以前也遇到过 我是基于windows下用的gcc编译器 也曾经遇到过这种情况 最后单步调试后发现延时根本就没有执行过 然后才发现是编译器把延时的那个局部变量给优化了 


关键字:arm-none-eabi-gcc  编译  STM32  优化  删除代码 引用地址:arm-none-eabi-gcc编译STM32优化删除代码解决办法

上一篇:STM32在Ubuntu上编写USB上位机程序实现
下一篇:STM32F407 PC13-PC15作为GPIO的方法

推荐阅读

注意USB烧写方法:1、因为没有裁剪的u-boot达到500K,但是我们自带的u-boot烧写分区没有这么大,所以不能使用u-boot来烧写u-boot,只能使用u-boot里的指令来烧写: 烧写到nand flash: usb 1 30000000 用DNW发送文件过去 nand erase 0 80000 nand write 30000000 0 80000 把开关拨到nand重启有输出,说明现在支持...
人工智能技术已经成为探测机器人领域很重要的一部分,可以为机器人提供非常重要的反馈。比如视觉SLAM算法可以构建环境地图并确认摄像机自身在地图中的位置。图像匹配技术和三维重建技术,可以为机器人定位或转向提供一个快速的反馈。手势识别,手眼协调,人体运动识别,能给予机器人不同的人机交互模式。 机器人的市场规模 报告数据显示,全球机器人市...
据网友投递,三星 Galaxy S20 系列现已推送系统更新:改善了相机性能,应用 Android 定期的安全补丁(9 月 1 日)。  版本号:G9860ZCU2BTI8/G98600ZL2BTI8/G9860ZCU2BT18  更新包体积大小:446.52 MB IT之家了解到,三星 S20 系列机型上次更新是在 9 月 3 日,相对更新内容更多。  此外,三星盖乐世社区官方于 ...
检测过程经工程师检测,发现是仪器控制板模拟单元损坏导致的仪器故障。维修过程更换控制板模拟单元组件,调整检测仪器。维修结果测试正常,维修完成。

史海拾趣

问答坊 | AI 解惑

Rohde &amp; Schwarz推出结合频谱分析仪和相位噪声测试仪的设备

      罗德与施瓦茨(Rohde & Schwarz)公司最新发布该公司第一款专门设计用于测量相位噪声和产生RF信号源的仪器,R&S FSUP。该仪器结合了该公司多年开发高品质频谱分析仪的以及低噪声振荡器和合成器的 ...…

查看全部问答∨

如何快速创建开关电源的PCB版图设计

如今的开关稳压器和电源越来越紧凑,性能也日益强大,而越来越高的开关频率是设计人员面临的主要问题之一,正是它使得PCB的设计越来越困难。事实上,PCB版图已经成为区分好与差的开关电源设计的分水岭。本文针对如何一次性创建优秀PCB版图提出一些 ...…

查看全部问答∨

主板的一些知识

分享一下啊!!! [ 本帖最后由 ch0823 于 2008-10-23 21:34 编辑 ]…

查看全部问答∨

我想要份单片机方面的中英资料

我想要份单片机方面的中英资料,大家帮帮我…

查看全部问答∨

看《风声》电影 谈数据传输加密

来源:http://bbs.c114.net/viewthread.php?tid=372433 国庆60周年,电影市场中涌现出大量关于抗ri、建国的影片,如***、风声、邓稼先等,其中风声让我感觉特别亲切。不是周迅一贯冷酷的演技感动了我,也不是李冰冰优美气质的身段刺激了我;而是风 ...…

查看全部问答∨

高质量C 编程指南

如题,对写好代码很有帮助。…

查看全部问答∨

后PC时代,高校纷纷转向嵌入式专业

作为后PC时代及后网络时代的新秀,嵌入式系统凭借其在网络安全、智能家电、车载电子、消费类电子、工业控制、医疗电子等领域内日益广泛地应用和发展,已无疑成为后PC时代的擎天之柱,现在的电子技术俨然已成为嵌入式系统技术的天下。 2010年 ...…

查看全部问答∨

[请问]怎样在EVC4.0SP4中引用miracl库函数?

我在工程的Header Files里添加了miracl.h和mirdef.h两个头文件,还添加了ms32.lib文件,但在编程中使用otnum()等等miracl库中的函数时仍提示错误。 Repw.obj : error LNK2019: unresolved external symbol "int __cdecl otnum(struct bigtype *, ...…

查看全部问答∨

求助:c6000修改代码段代码的问题~

我想在代码中动态修改指定函数的代码,向指定函数地址写入新的代码后,用内存窗口或汇编窗口查看,新代码都是写入了的,但 是当我转到这段新代码执行时,依然执行的是原来的指令,软件仿真硬件仿真都不行~~愁死了~,我的代码段分在L2SRAM,memory ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved