关于低版本移植到高版本报错

1.error:固件库模板编程:关于core_cm3.c的4个错误解决方法 一、用Keil5进行固件库编程,出现下列错误: Rebuild started: Project: Template *** Using Compiler 'V6.14', folder: 'E:\Keil5\ARM\ARMCLANG\Bin' Rebuild target 'Target 1' Libraries/CMSIS/core_cm3.c(445): error: non-ASM statement in naked function is not supported uint32_t re. 阅读详情
AI摘要

本文详细介绍了在使用STM32F10x系列微控制器进行项目开发时遇到的编译错误,具体表现为在启动文件和头文件中出现的语法错误。通过调整项目设置,移除不适用的STM32F10X_HD宏定义,成功解决了编译问题。

Rebuild started: Project: RTC
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Users\Administrator\AppData\Local\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'RTC'
assembling startup_stm32f10x_md.s...
compiling misc.c...
..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(298): error:  #67: expected a "}"
    ADC1_2_IRQn                 = 18,     /*!< ADC1 and ADC2 global Interrupt                       */
..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(472): warning:  #12-D: parsing restarts here after previous syntax error
  } IRQn_Type;
..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c: 1 warning, 1 error
compiling stm32f10x_can.c...
..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(298): error:  #67: expected a "}"

报这样的错误。

一时手足无措,百度一下。发现只要在项目设置中STM32F10X_HD去掉就行了,据说是已经包含了这个。先试试

c++这里有个,STM32F10X_HD,去掉。

然后编译正常。

研究了一下,这个STM32F10X_HD其实是个启动文件。

.s启动文件
  ST提供的3个启动文件,分别适用于不同容量的STM32芯片。
    这三个文件为: 
        startup_stm32f10x_ld.s
        startup_stm32f10x_md.s
        startup_stm32f10x_hd.s
    其中,ld.s适用于小容量 产品;md.s适用于中等容量产品;hd适用于大容量产品;
    这里的容量是指FLASH的大小.判断方法如下:
       小容量:FLASH≤32K
       中容量:64K≤FLASH≤128K
       大容量:256K≤FLASH
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.youkuaiyun.com/ddidi111/article/details/139442942

在keil里,遇到的奇奇怪怪的问题合集 keil编译器问题及解决合集①Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'②JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.③error: L6235E: More than one section matches selector - cannot all be FIRST/LAST. 问题及解决合集 这篇主要是写,在使用keil作为 阅读详情

相关推荐

CODESYS项目移植总报错?三招搞定库缺失问题(含低版本库添加技巧)

本文针对CODESYS项目移植中常见的库缺失问题,提供了三套实用解决方案,包括智能库管理器操作、报错信息反推法以及低版本CODESYS的特殊处理技巧。特别介绍了如何手动添加低版本库和离线库包强制安装方法,帮助工程师快速解决PLC编程中的库版本兼容性问题,确保工业自动化项目顺利移植。

gray5的博客 845

keil中“*** Using Compiler ‘V5.06 update 7 (build 960)‘, folder: ‘D:\Installation\keil_arm\keil_v5\AR”

将C99勾选住,问题解决;

shuer_wang的博客 1万+

CODESYS项目移植总报错?用这招批量修复缺失库(含低版本库添加技巧)

本文针对CODESYS项目移植中常见的库依赖问题,提供了一套批量修复缺失库的实用解决方案,特别包含低版本库添加技巧。通过深入解析CODESYS库管理机制,分享高效修复步骤和疑难案例处理方法,帮助工程师快速解决PLC开发中的库版本兼容性问题,提升工业自动化项目迁移效率。

weixin_29292535的博客 349

2024版本:解决!Using Compiler ‘V5.06 update 7 (build 960)‘, folder: ‘D:\soft\Bin‘

2024版本:解决!Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\soft\Bin'

w851596747的博客 4945

CubeIDE移植letterShell报错怎么办?教你

[TOC]] lettershell 开源地址: https://github.com/NevermindZZT/letter-shell 参考mculover666的博客文档移植; https://blog.csdn.net/Mculover666/article/details/105141286 在这里与上述链接不同的是——使用了CubeIDE——故需要多一个步骤。 如果没有添加这个步骤,就会 报错 即使你自己定义了这两个变量,还是运行不了 [] 那么是添加什么步骤呢? 查阅gith

KuanShaw的博客 1487

Arm Compiler 5.06 update 7 (build 960) Lin32 -“官网最新版”Arm处理器的编译工具

最新发布的MDK5.37已经不再安装Arm Compiler 5(ARMCC)编译器了,因为点击魔术棒后,在Target选项卡中选择编译器时,会看到missing:compiler version 5,如果要使用compiler version 5,需要自己安装。 ‌Arm Compiler 5.06 update 7 (build 960)‌是ARM编译器的一个更新版本,旨在提供更好的性能和更高的稳定性。这个版本的编译器具有更高的优化能力和更多的功能,可以帮助开发人员编译和优化ARM代码,以获得更好的性能和效果。具体来说,这个版本的更新主要包括以下几个方面的改进:‌提高优化能力,增加功能,修复错误和问题。 此外,使用这个版本的编译器可以保证代码的兼容性和稳定性,用户在更新到ARM Compiler 5.06 update 7之后,可以期望在编译代码时获得更好的性能和质量。

[Thinking in C] gcc对数组越界的处理

1. 刚做了道编程题: 给出一个不多于5位的整数, 要求 1、求出它是几位数 2.分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123 样例输入 12345 样例输出 5 1 2 3 4 5 54321 2.我提交的代码如下: #include <stdio.h> #include <string.h> int main() { int len;...

编程菜汝狗 1137

Arm Compiler 5.06 update 7 (build 960) Lin32

Arm Compiler 5.06 update 7 (build 960) Lin32

低版本GCC程序向高版本移植的兼容性问题

将低版本gcc编译过的程序移植到高版本GCC时, 可能会出现一些兼容性问题. 原因是, 为了适应新的标准,一些旧的语法规则被废弃了. 关于这方面的一些具体资料可从该处查询. 这里只是自己遇到的其中一个问题. 错误提示: In instantiation of ‘int t(T) [with T = int]’ required from here error: ‘f’...

weixin_30379531的博客 1099

X猫免费小说安卓逆向分析

七猫免费小说安卓逆向分析 难度(♥♥) 文章目录七猫免费小说安卓逆向分析 难度(♥♥)1. 查壳2. 抓包分析3. sign1. Frida-rpc2. Native函数分析快3点了. 睡觉~ 白天再继续写! 1. 查壳 我这边使用的是ApkTool, 拖进去显示未加壳。 2. 抓包分析 POST https://xiaoshuo.wtzw.com/api/v1/login/index HTTP/1.1 net-env: 1 channel: qm-cbcpa056_wm is-white: 0 platf

Qiled的博客 4368

【图神经网络】从0到1使用PyG手把手创建异构图

异构图的准确定义如下:异构图(Heterogeneous Graphs):一个异构图GGG有一组节点V=v1,v2,...,vnV=v_1,v_2,...,v_nV=v1​,v2​,...,vn​和一组边E=e1,e2,...,emE=e_1,e_2,...,e_mE=e1​,e2​,...,em​组成,其中每个节点和每条边都对应着一种类型,用TvT_vTv​表示节点类型的集合,TeT_eTe​表示边类型的集合,一个异构图有两个映射函数,分别将每个节点映射到其对应的类型ϕv:V→Tv\phi_v:V\rig

小哲的博客 7833

如何向openwrt mtk7628n中移植高版本第三方工具库

        向openwrt中移植高版本的第三方软件包遇到的问题很多,我这里以向mtk7628n中移植lighttpd-1.4.49为实例,向大家介绍如何向openwrt中移植高版本的第三方软件。 步骤一,找到lighttpd编译所需第三方库。 ①下载lighttpd           https://download.csdn.net/download/caofengtao1314/...

caofengtao1314的专栏 2721

高数 | 【极限与等价无穷小】两个重要极限 & 经典错误 & 什么情况下求极限可以直接带入

一. 第一个重要极限 二. 第二个重要极限 三. 导数定义式 全文见【高等数学】两个重要的极限 - 知乎

"You are worthy! You can do it!" 6万+

解决高版本GCC与低版本Glibc兼容性:源码编译定制工具链实践

在Linux系统开发中,GCC编译器与Glibc库的版本依赖是构建环境的核心基础。Glibc作为C语言标准库的实现,提供了系统调用的封装和基础运行时支持,其版本直接决定了系统能运行的软件ABI兼容性。当需要在老旧生产环境或嵌入式平台使用新语言特性时,高版本GCC对高版本Glibc的依赖成为主要障碍,直接升级系统Glibc风险极高。通过源码编译定制GCC工具链,配合sysroot机制指定目标系统头文件与库路径,可以构建出与低版本Glibc兼容的独立编译器环境。这种方案特别适用于CentOS 7等长期支持系统维

weixin_28829479的博客 265

YOLOv8改进,YOLOv8添加DCNv3可变性卷积,无需编译

DCNv3在DCNv2版本上进行了改进,上一期我们在YOLOv8中添加了DCNv2,这一期我们将添加DCNv3,DCNv3代码详解可以参考链接:代码详解——可变形卷积(DCNv3)

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 5021

HyperLynx(十五)多板仿真

在对话框的“Design file#1”下拉列表中选择“B00,Mainboard”,在其下方的“Reference designators”列表中选择元器件“J1”,然后在“Designfile#2”下拉列表中选择“BO1、RAM1”,在其下方的“Refer ence designators”列表中选择元器件“J1”,单击“Insert”按钮,为这两个元器件建立互连映射。在“Assign Models”对话框中,选择“B00 Motherboard”,将“U16.B12”设置为输出。

小幽余生不加糖 5061

CODESYS项目移植库缺失三招解决:诊断、对齐与低版本添加

在工业自动化开发中,依赖管理是确保项目可移植性的核心。CODESYS采用基于安装环境的库管理机制,与常见的包管理工具不同,库文件随安装环境而非项目分发,导致项目移植时频繁出现库缺失或版本冲突。理解库版本号构成与兼容规则,掌握库管理器诊断、标准库版本映射及低版本库手动添加技术,能有效提升工程效率,减少停机时间。这些方法广泛应用于PLC项目迁移、设备换机及团队协作场景,尤其针对CODESYS V3.5 SP15及以上版本。本文聚焦库缺失根因定位、标准库版本对齐和低版本库添加技巧,提供可复现的操作指南。

ciya3282的博客 425

【Bug已解决】openclaw max turns reached / Tool calls exceeded limit — OpenClaw 最大轮次超限解决方案

OpenClaw 在执行过程中达到最大轮次限制任务未完成,本质是 --max-turns 设置过小或任务过于复杂。文中给出增加轮次、--continue 继续、分步执行等完整方案。

一键难忘的博客 5505

win/visualstudio代码移植,报错无法找到 v142 的生成工具(平台工具集 =“v142”)

visualstuio编辑的代码在不同版本之间进行移植后解决方案需要更新

moneyxjj的博客 3901

SXU—软件测试方法和技术-朱少民-第三部分 软件测试方法大题汇总-附考点和相关习题及解答

软件测试方法和技术-朱少民-第三部分 软件测试方法—-最少测试用例个数,强一般弱一般强健壮、边界值分析、ns流程图、白盒逻辑覆盖代码、等价类划分,逻辑组合(条件)覆盖,计算圈复杂度等—附考点和相关习题及解答

weixin_63597914的博客 2212

4-都2026年了,嵌入式发展前景怎么样,还适合入行吗?

本文系统分析了嵌入式行业的发展前景,指出到2026年嵌入式将迎来由"万物智联"驱动的黄金周期。文章回顾了嵌入式技术的四个演进阶段,从专用计算机到AIoT时代,强调其技术积累的延续性。作者从人才流向、产业智能化转型、高校新增专业等角度论证嵌入式行业的蓬勃发展,并提出"铁三角"模型分析其驱动力和护城河。最后给出职业发展路径建议,认为嵌入式适合长期主义者,在智能汽车、边缘计算等领域有广阔前景。文章建议读者抓住产业升级机遇,选择这一稳定且有复利效应的技术赛道。

指尖动听知识库 390

[STM32]从零开始的STM32代码移植教程

讲解了如何移植STM32模块的驱动程序!

c858845275的博客 7815

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

低版本eclipse开环境中的android程序移植/导入到到高版本中出现的问题

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34062469的博客 136

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

CODESYS项目移植库缺失怎么办?三招搞定库报错与版本不兼容

在工业自动化开发中,CODESYS作为主流PLC编程平台,其库管理机制直接影响项目移植效率。库文件独立于工程存储,编译时依赖本地库仓库搜索,导致跨设备或跨版本时频繁出现库缺失、版本不兼容等报错。理解库搜索优先级与依赖关系,是解决此类问题的关键。通过补齐缺失库、处理版本匹配、正确添加低版本库三种方法,可有效提升工程可移植性,减少编译错误。这些技术广泛应用于汇川、台达等基于CODESYS二次开发的控制器项目,帮助开发者快速定位并修复库问题,确保工程顺利迁移与运行。

weixin_33979203的博客 653

CODESYS项目移植库报错频发?三招搞定库缺失与版本不匹配

在工业自动化领域,CODESYS作为主流PLC编程平台,其库管理机制直接关系到工程的可移植性。库文件本质上是预编译的功能模块集合,通过版本号与依赖关系实现代码复用。当工程引用的库版本与开发环境不匹配时,编译过程便会因符号解析失败而中断。掌握库依赖诊断、版本解析策略调整及工程级适配方法,能显著提升跨平台移植效率。无论是汇川PLC项目迁移,还是老工程在新版CODESYS上编译,精准定位缺失库、正确安装低版本库、灵活运用库占位符,都是解决“库未找到”报错的关键。本文总结的三招实战技巧,帮助开发者从诊断到预防,系统

weixin_34364071的博客 344

经典WinCC移植到WinCC Professional

由于经典WinCC的一些功能在WinCC Professional软件中没有直接对应的选项,所以将经典WinCC项目移植为WinCC Professional是对旧项目的功能进行删减的转换过程。我们以Portal V15.1为例,在V15.1的帮助中可以查看对应“移植工具”的安装要求。对于集成在Step7 V5.x的经典WinCC项目必须先使用“移植工具”生成扩展名为“.am15”的中间文件,才能移植到WinCC Professional软件中。参考前面的步骤1,选择“.am15”的中间文件进行项目移植。

gsjkwg的博客 1632
上一篇: 如何在keil运行时库runtime更换功能包版本
下一篇: freecad的草图在不同实体中拉伸方法和零件图标含义
CDialog
博客等级 码龄23年 245粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CDialog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值