STM32关于编译不通过,错误提示 Error: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o

2023-11-14

今天正式开始学习stm32的开发板,在学习的时候,发现连例程都不能够通过编译,然后测试了好久,发现都是这种错误


然后上网查找到了答案,

找到了解决的方法,这里来记录一下:
转载来自:

http://blog.sina.com.cn/s/blog_542bad910101g1h5.html



此问题错误提示已经十分清楚的告诉你错在哪里了,Undefined symbol SystemInit ,翻译过来就是:SystemInit 这个符号没有定义,随后的小括号告诉你了,是在startup_stm32f10x_md.o这个文件里面被提及的,这个.o文件在工程里面并没有,它是一个在编译的时候根据.c/.s文件生成的。所以我们只需要找到工程里面的.s或者.c即可,这里对应这个名字的就是startup_stm32f10x_md.s了。

   在此文件里面可以找到SystemInit的所在:
Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
     IMPORT  __main
     IMPORT  SystemInit
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
  
 原来在复位中断服务函数里面,调用了SystemInit这个函数,而这个函数在.s文件里面没有定义。
    所以解决的办法有两个。
   
1,在外部(其他任何.c文件里面)定义SystemInit这个函数,哪怕是个空函数也可以。
   2,把                
                 LDR     R0, =SystemInit
                 BLX     R0

      这两句话去掉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32关于编译不通过,错误提示 Error: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o 的相关文章

  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • XServer启动后运行shell脚本? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 XServer 和 lightdm 启动时运行 shell 脚本 我尝试在 etc 目录中使用 init d 和 rc local
  • 找不到主类,java错误

    我一直在测试我一直在制作的java swing程序 在我的一台电脑上 也就是我最初制作它的电脑上 它运行得很好 我已经在 3 台不同的计算机上测试了相同的程序 当我从 ide 中启动它时它会运行 但是当我双击 jar 时 我会收到一个标题为
  • 如何在每次启动时运行我自己的脚本

    我有一个问题 如何在 Ubuntu 中每次启动时运行自己的 bash 脚本 假设我有一个正在执行特定类型工作的脚本 现在我希望它在启动 Ubuntu 系统时自动运行 你应该学习如何使用暴发户 看this http upstart ubunt
  • 毕设开题分享 单片机智能教室系统(智能照明+人数统计)

    1 简介 Hi 大家好 今天向大家介绍一个学长做的单片机项目 单片机智能教室系统 智能照明 人数统计 大家可用于 课程设计 或 毕业设计 项目分享 https gitee com feifei1122 simulation project
  • npm 错误!代码 ELIFECYCLE(起始问题)

    感谢您阅读本文并帮助解决该问题 我正在尝试在 Windows 计算机上运行 nodejs 并在安装 expo cli 后启动 expo 客户端 最初它工作正常 除了实时刷新或任何其他刷新不起作用 所以我尝试再次删除 卸载 重新安装nodej
  • 库函数点亮Led

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • 仅在启动时无法找到运行时版本?

    我有一个非常简单的控制台应用程序 只是一个Console Write 来测试一些启动功能 我将其放在 Window 7 的启动文件夹中 但当它运行时 我收到 无法找到运行此应用程序的运行时版本 奇怪的是 如果我进入启动文件夹并实际运行该程序
  • 脚本在 PyCharm 中运行,但不是从命令行运行

    当我尝试从 PyCharm IDE 运行我的程序时 一切正常 但如果我输入 Fedora python myScript py 在 shell 提示符中 我从模块 1 中收到导入错误 ImportError No modue named m
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • 从没有中断引脚并且在测量准备好之前需要一些时间的传感器读取数据的最佳方法

    我正在尝试将压力传感器 MS5803 14BA 与我的板 NUCLEO STM32L073RZ 连接 根据 第 3 页 压力传感器需要几毫秒才能准备好读取测量值 对于我的项目 我对需要大约 10 毫秒来转换原始数据的最高分辨率感兴趣 不幸的
  • 如何在启动时运行命令?

    我试图弄清楚如何在启动时运行命令 就像我将其输入控制台一样 我在 Raspberry Pi 上使用 Rasbian 但我认为这个问题对于 Debian 来说通常是相同的 我尝试运行的命令是 sudo screen mono server e
  • 在 Windows 7 用户登录之前运行批处理文件以启动 VLC Web 界面

    我想运行一个批处理文件 该文件在用户登录之前执行以下操作 start VLC web Interface C Program Files x86 VideoLAN VLC vlc exe I http 目前我的启动文件夹中有此文件 但我希望
  • 如何捕获Tomcat启动日志

    如何捕获Tomcat启动日志 要在Windows中启动Tomcat 可以执行命令 卡塔琳娜运行 在你的 tomcat bin 文件夹中 Tomcat 启动的输出将保留在当前窗口中 以便您可以对其进行分析
  • 应用程序启动后我可以收到 iOS 启动通知吗?

    我正在寻找一种在 iOS 上检索 UIApplicationLaunchOptionsLocalNotificationKey 的方法 该方法不涉及使用应用程序委托 即我不想实现以下内容 BOOL application UIApplica
  • 将符号链接添加到脚本到 rc.d 文件夹中以在系统启动期间启动进程[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我使用的是 Fedora 15 我正在尝试添加 MYSql 守护进程以在系统启动期间启动 我明白我必须将其添加到rc5 d因为它是默认目标并且是gra
  • 使用 STM32F0 ADC 单独读取不同的输入

    STM32F072CBU 微控制器 我有多个 ADC 输入 并且希望单独读取它们 STMcubeMX 生成样板代码 假设我希望按顺序读取所有输入 但我无法弄清楚如何纠正这个问题 这篇博文 http blog koepi info 2015
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • Xamarin.Android 应用程序仅在干净编译时找到启动器活动

    我有一个Xamarin Android标记为 MainLauncher 的活动称为 Login 当我第一次按 F5 时 应用程序在模拟器中正常启动 然后我停下来 进行一些代码更改 再次按 F5 我可以看到应用程序在模拟器中启动 当我收到以下
  • 移动数组中的元素

    我需要一点帮助 我想将数组中的元素向上移动一个元素 以便新位置 1 包含位置 1 中的旧值 new 2 包含 old 1 依此类推 旧的最后一个值被丢弃 第一个位置的新值是我每秒给出的新值 我使用大小为 10 的数组 uint32 t TE

随机推荐

  • XYZZY 【POJ - 1932】【SPFA】

    题目链接 有N个点 然后输入1 N个点 输入从它到其他点的血量变化 然后有几个点能到达 最后是这几个点 我们起点为1 终点为N 然后求的是我们是不是有可能或者达到终点 gt 0 直接SPFA跑最长路 感觉是在造样例 6 0 1 2 1000
  • 文件通配符

    一 文件通配符 通配符主要用通过设定一定的条件来查找匹配到的字符 匹配任意个字符包括0个 匹配任意单个字符 username 匹配username的家目录 cp root file1 tom 把file1文件复制到tom用户的家目录中 匹配
  • C语言算法复杂度大O表示法

    算法 程序运行的次数 O 1 常数复杂度 printf hello world O log n 对数复杂度 for int i 1 i lt n i i 2 printf hello world n O n 线性时间复杂度 for int
  • linux消息分发机制,linux下使用hiredis异步API实现sub/pub消息订阅和发布的功能

    最近使用redis的c接口 hiredis 使客户端与redis服务器通信 实现消息订阅和发布 PUB SUB 的功能 我把遇到的一些问题和解决方法列出来供大家学习 废话不多说 先贴代码 redis publisher h gt File
  • ElasticSearch快速入门笔记,ElasticSearch基本操作以及爬虫(Java-ES仿京东实战)(狂神说)

    文章目录 ElasticSearch 库 表 记录 笔记 ElasticSearch概述 ELasticSearch VS Solr总结 ElasticSearch安装 ELK的下载地址 核心概念 IK分词器插件 RESTful风格说明 关
  • MySQL 日期时间加减

    now 当前具体的日期和时间 curdate 当前日期 curtime 当前时间 1 MySQL加减某个时间间隔 设置当前日期变量 set dt now 设置当前日期 select dt 查询变量值 加减某个时间间隔函数date add 与
  • 微信小程序源码-图书馆预约系统的计算机毕业设计(附源码+论文)

    大家好 我是职场程序猿 感谢您阅读本文 欢迎一键三连哦 当前专栏 微信小程序毕业设计 精彩专栏推荐 安卓app毕业设计 Java毕业设计 基于微信小程序的图书馆预约系统 java 演示 源码下载地址 https download csdn
  • 简单实现数据库DAO

    一 什么是DAO DAO Data Access Object 是一个数据访问接口 数据访问 顾名思义就是与数据库打交道 夹在业务逻辑与数据库资源中间 DAO是把对数据库的操作全部封装在里面 DAO把底层的数据访问逻辑和高层的业务逻辑分开
  • 原神服务端搭建架设教程win系统(附客户端+服务端+环境配置)

    原神服务端搭建架设教程win系统 附客户端 服务端 环境配置 大家好 我是艾西原神一款开放世界冒险3D游戏以七种元素 分别为风 雷 岩 火 水 草 冰 交汇的幻想世界 提瓦特 创造的游戏世界 以角色扮演的RPG游戏还是有非常多的玩家热爱 以
  • ERROR conf.Configuration: error parsing conf mapred-site.xml

    Hadoop进行namenode格式化时报错 ERROR conf Configuration error parsing conf mapred site xml com ctc wstx exc WstxParsingException
  • MTCNN

    Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks 使用多任务级联卷积网络的联合人脸检测和对齐 摘要 由于各种姿势 光照和遮挡
  • Java基础 类访问权限

    转载自https www cnblogs com jinggod p 8425423 html java基础 七 java四种访问权限 引言 Java中的访问权限理解起来不难 但完全掌握却不容易 特别是4种访问权限并不是任何时候都可以使用
  • Visual Studio 远程调试正在运行的进程

    使用场景 当项目在测试环境上有bug 需要运行代码调试一下 这时就需要在测试环境上安装一个调试工具 然后在本地运行代码 远程链接到测试环境服务器来调试代码 假期鸽了这末长的时间 方式一 工具下载 https visualstudio mic
  • PHP 并发场景的几种解决方案

    PHP 并发场景的几种解决方案 在秒杀 抢购等并发场景下 可能会出现超卖的现象 在 PHP 语言中并没有原生提供并发的解决方案 因此就需要借助其他方式来实现并发控制 列出常见的解决方案有 使用队列 额外起一个进程处理队列 并发请求都放到队列
  • AI换脸小程序是否能实现更高水平的面部融合?

    随着人工智能技术的不断进步 面部识别技术在AI换脸小程序中的应用也日益成熟 这项技术的发展趋势逐渐朝着实现更加精准和逼真的面部融合效果 本文将探讨当前面部识别技术的发展趋势 并分析其在AI换脸小程序中实现更高水平的面部融合效果的可能性 一
  • flutter之Container

    Container类似于iOS中的UIView 具有绘制 定位 调整大小功能 通常用来装载其它子控件 假如Container没有子控件 它将自动填充整个屏幕 反之 会根据子控件大小 调整自身大小 从而达到自适应效果 注意 使用Contain
  • Unity PlayerSetting Android打包设置介绍

    Unity 版本 2018 3 0f2以下部分内容来自Unity文档和网上资料 如有错误 请在评论区指正 我看到后会进行改正和更新 Icon 后续更新 略 Resolution And Presentation 后续更新 略 Splash
  • python实现链表的旋转

    python实现链表的旋转 链表是一种常用的数据结构 实现起来也不难 但当我们需要将链表中的元素旋转时 就会有一些困难 本文介绍基于python语言的链表旋转实现方法 实现思路 链表旋转可以通过移动节点的位置来实现 我们可以找到需要旋转的位
  • 第二节 分支和循环语句

    第二节 分支和循环语句 目录 一 什么是语句 二 分支语句 选择结构 三 循环语句 本章重点 分支语句 if switch 循环语句 while for do while goto语句 一 什么是语句 C语句可分为以下五类 表达式语句 函数
  • STM32关于编译不通过,错误提示 Error: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o

    今天正式开始学习stm32的开发板 在学习的时候 发现连例程都不能够通过编译 然后测试了好久 发现都是这种错误 然后上网查找到了答案 找到了解决的方法 这里来记录一下 转载来自 http blog sina com cn s blog 54