关于Keil编译输出bin文件大小被限制在32K的问题探索

项目场景:

由于开发IAP升级相关功能,需要Keil输出bin文件以供升级使用。
使用互联网中常见的设置方法,在Keil工程设置中的User页面,设定After build要执行的命令


问题描述

烧录bin文件后发现程序无法运行
经过Keil直接下载和通过bin升级烧录的比对,发现输出的bin文件代码缺失
此时注意到……Keil输出的bin文件大小只有32K,实际正常的bin应该远超过32k


原因分析:

通过在CMD中手动运行转换命令xxxx\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --bincombined -o ./objects/xxxx.bin ./objects/xxxx.axf(上述命令隐去了路径和文件名,不要直接复制使用)发现可以得到正常大小的bin文件输出,但Keil调用同样的命令则只能得到大小在32K以下的bin文件
目前判定是Keil在调用命令时出现异常,由于互联网上出现类似问题的情况较少,怀疑可能和本人使用的工作电脑中的加密软件有关


解决方案:

将需要执行的命令存储为bat脚本,然后在Keil的After build中选择调用该bat脚本,问题可得到解决

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PWM是一种通过改变电平的占空比来控制舵机转动角度的技术。在Keil程序中,可以通过编写相应的代码来实现这个功能。 首先,我们需要配置相应的引脚和定时器来生成PWM信号。在Keil中,可以使用GPIO库和定时器库来完成这一任务。首先,我们需要定义一个GPIO引脚来连接舵机控制线,然后将其初始化为输出模式。接下来,我们需要选择一个定时器来生成PWM信号,并进行相应的配置,包括定时器的时钟源、计数模式和工作模式等。 在程序的主循环中,我们需要控制PWM信号的占空比来控制舵机的角度。可以使用定时器库提供的函数来设置定时器的计数值和占空比,从而实现舵机的转动。通过改变占空比的大小,可以改变舵机的转动角度,例如将占空比设置为50%,舵机会转动到中间位置;将占空比设置为0%,舵机会转动到最小角度;将占空比设置为100%,舵机会转动到最大角度。 需要注意的是,舵机的转动角度可能受到物理限制,因此需要根据具体舵机的规格和性能来选择合适的占空比范围和步长。另外,舵机的响应时间也会受到定时器的精度和舵机的物理特性的影响,因此需要进行调试和优化,以实现更精确的控制效果。 通过以上的步骤,我们可以在Keil程序中使用PWM控制舵机的转动角度。这种方法简单且灵活,可以广泛应用于各种舵机控制系统中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值