历史上的今天
返回首页

历史上的今天

今天是:2025年02月26日(星期三)

正在发生

2020年02月26日 | stm32新手入门遇到的问题

2020-02-26 来源:eefocus

1,在使用FW3.5搭建工程时,由于stm32f10x.h头文件里面包含了LD、MD及HD全系列的芯片,所以,在实际使用过程中,需要首先配置你当前使用的是那一类存储量的芯片。


#35:#error directive:“please...”


问题出在stm32f10x.h的第95行:


#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)


 #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"


#endif


这个错误,其实在stm32f10x.h第75行有提示:


在target option里面的C++选项下的define里面加入USE_STDPERIPH_DRIVER, STM32F10X_HD_VL即可


2.keil编译时报错:error: L6002U: Could not open file .***core_cm3.o


网上找图( 我自己也遇到过)

我之前也遇到过这个问题,原因可能是之前我安装过keil4,卸载后有残留的文件在c盘,后面运行keil5的stm32历程时,编译就出现冲突了。我是重装系统,解决的,用的win10系统。


网上找到了比较科学的解释和解决方法: 正如各位大师所分析的那样是库版本引起的冲突,MDK4.7的库已经升级到CMSIS2.X版本以上了,这次的MDK5.X版已经使用的是CMSIS3.X以上,并且最重要的就是很多元件包没有需要自己根据需要安装,我在安装完ST的元件后,手贱又安装了ARM.CMSIS.3.20.3.pack,这个文件会安装到windows的目录中去,于是版本造成的冲突在卸载MDK5.0后,再安装此前的版本却因ARM.CMSIS.3.20.3并没卸载和删除而始终出错.解决办法就是将windows目录中的这个文件找到卸载并完全删除,然后再安装MDK新版,工程用CMSIS2.1版(我现在用的是官网下载的3.02版).安装后按照几位师傅指导重新加载工程,编译通过,下载后程序跑起来了!


这个是网友的解决办法


如果你是跟着秉火的板子学的他会让你新建个group命名为CMSIS里面存放CORE_M3的文件,最简单的就是直接把这两个从工程中删去然后重新编译就解决了


3.


在建立main函数后,初步编译使出现的另外两个问题:


lphaff.axf:Error:L6218E:Undefined symbol RCC_APB2PeriphResetCmd (referred from stm32f10x_gpio.o).


lphaff.axf:Error:L6218E:Undefined symbol main (referred from rtentry2.o).


原因:


 


如上图1所示,在该程序中实际上使用了stm32f10x_RCC.c里面的函数RCC_APB2PeriphResetCmd函数,却没有在工程里面添加这个源文件。


单片机握手失败的问题:


有些朋友碰到下载的时候提示握手失败,如何解决呢?

解决方法: 请把下载的波特率调成高低都为 4800

如果再不行再调成功 2400:

这样这个问题就解决了。

总结:windows 系统版本不一(有的家庭版、有的旗舰版、有 的正版、有的盗版、有的简化了、

有的不稳定)。出现在问 题各种问题,归纳一下把波特率调低能 100%解决问题


4..Usercore_cm3.h(1569): error: #20: identifier "IRQn_Type" is undefined


出错是因为你当前运行的文件调用到了core_cm3.h,而core_cm3.h文件中包含了有IRQn_Type类型名,但是此类型名是在“stm32f10x.h”中定义的,所以你需要在当前文件包含#include "core_cm3.h"之前先包含#include "stm32f10x.h”

推荐阅读

史海拾趣

Hengstler GmbH公司的发展小趣事

Helium Systems Inc.公司发展的五个故事

故事一:从物联网初创到区块链转型

Helium Systems Inc.的故事始于2013年,由Napster的联合创始人Shawn Fanning和知名游戏设计师Amir Haleem等人共同创立。最初,公司名为Skynet Phase 1,灵感来源于《终结者》系列电影中的电脑系统,旨在为物联网(IoT)创建无线网络。然而,在经历了几年的产品开发和市场探索后,该项目并未取得显著成功。直到2017年,Helium团队意识到区块链技术的潜力,决定将项目转型为基于区块链的分布式无线网络项目,即后来的Helium Network。这一转型为Helium带来了全新的发展机遇。

故事二:Helium Network的迅速崛起

自2019年Helium Network正式启动以来,该项目迅速吸引了全球用户的关注。用户只需购买并部署Helium热点设备,即可为周围的物联网设备提供无线连接,并因此获得Helium的加密货币HNT作为奖励。这种创新的挖矿模式迅速吸引了大量用户参与,Helium网络在短时间内实现了全球范围内的快速扩张。到2021年,Helium网络已经覆盖了超过160个国家和地区,拥有数十万个热点,成为全球领先的分布式无线网络之一。

故事三:融资与合作伙伴的加入

Helium Systems Inc.在发展过程中获得了多轮融资支持,其中包括来自a16z和Tiger Global等知名投资机构的巨额投资。这些资金为Helium网络的进一步扩展和技术创新提供了有力保障。同时,Helium还积极寻求与全球范围内的合作伙伴建立战略合作关系,包括电信运营商、物联网设备制造商等。这些合作伙伴的加入不仅丰富了Helium网络的应用场景,还进一步提升了其市场影响力和竞争力。

故事四:技术挑战与解决方案

在Helium网络的发展过程中,团队也面临了诸多技术挑战。例如,如何确保网络的稳定性和安全性、如何优化热点设备的部署和性能等。针对这些问题,Helium团队不断进行技术创新和优化,推出了多项新技术和解决方案。例如,他们开发了独特的PoC(Proof of Coverage)共识机制,通过该机制可以确保热点设备在提供有效覆盖时才能获得奖励,从而有效防止了作弊行为的发生。此外,Helium还加强了与区块链安全公司的合作,共同提升网络的安全性。

故事五:公司更名与未来发展

为了更好地推动Helium网络的发展,Helium Systems Inc.在2022年宣布将公司更名为Nova Labs,并启用新的品牌形象。这一更名举措旨在进一步凸显Helium网络作为分布式无线网络联盟的地位和影响力。同时,Nova Labs还宣布完成了D轮融资,并计划将资金用于进一步扩展网络覆盖范围、提升技术性能和加强市场推广等方面。展望未来,Nova Labs将继续致力于推动Helium网络的发展和创新,为全球用户提供更加安全、高效、便捷的物联网连接服务。

Altera (Intel)公司的发展小趣事

Altera是一家以FPGA(可编程逻辑器件)和相关技术为主的半导体公司,于1983年成立于美国加利福尼亚州的圣塔克拉拉。以下是关于Altera公司发展的五个相关故事:

  1. 成立与早期发展:Altera公司由Robert Hartmann和Michael Magranet等人创立,最初以设计和制造EEPROM(可擦除可编程只读存储器)为主。1984年,Altera推出了全球第一个可编程逻辑器件EP300系列,开创了FPGA行业。随后,Altera不断扩大产品线,致力于FPGA技术的研发和推广。

  2. FPGA技术创新:Altera在FPGA技术方面持续进行创新,推出了一系列新产品和技术。1992年,公司推出了第一个基于SRAM(静态随机存储器)的FPGA器件,从而实现了更高的速度和灵活性。随后,Altera不断改进器件结构、设计工具和软件支持,提高了产品性能和用户体验。

  3. 与竞争对手的竞争:在FPGA市场,Altera与Xilinx是两大竞争对手。两家公司在技术、产品性能、市场份额等方面展开激烈竞争。为了在市场上取得优势,Altera不断加大研发投入,推出了更具竞争力的产品,并积极开展营销和销售活动。

  4. 收购与合并:Altera在发展过程中进行了一系列收购与合并,以扩大市场份额和提升技术实力。2015年,英特尔公司以约160亿美元的价格收购了Altera,将其并入英特尔旗下,成为英特尔的子公司。这一收购使英特尔获得了Altera在FPGA领域的技术优势和市场份额,进一步巩固了英特尔在半导体行业的领先地位。

  5. 公司发展与创新:作为英特尔的子公司,Altera继续发展和创新。公司不仅致力于FPGA技术的进一步改进和推广,还在其他领域进行探索和拓展,如数据中心、人工智能、物联网等。Altera不断推出新产品和解决方案,满足不同行业和应用领域的需求,保持了在半导体行业的竞争优势。

以上是关于Altera公司发展的五个相关故事,这些故事展示了Altera从成立初期到被英特尔收购的发展历程,以及其在FPGA技术领域的技术创新、市场竞争和业务拓展等方面的重要进展。

AMI [American Megatrends Inc]公司的发展小趣事

AMI(American Megatrends Inc)是一家全球领先的硬件和软件解决方案提供商,主要专注于计算机主板固件、嵌入式系统管理和云计算服务。以下是关于AMI公司发展的五个相关故事:

  1. 公司创立与起步阶段:AMI公司于1985年成立于美国佐治亚州的诺克罗斯,并在当地建立了总部。公司创始人为S. Shankar和Pat Sarma。最初,AMI专注于为个人计算机和服务器等设备提供BIOS(基本输入/输出系统)固件,为计算机硬件行业奠定了基础。

  2. BIOS技术创新:AMI在BIOS领域进行了持续的技术创新,不断推出新的功能和改进。公司开发了多个版本的AMI BIOS,包括AMI WinBIOS、AMI Aptio和AMI UEFI BIOS等。这些BIOS版本在计算机硬件市场上得到了广泛应用,为用户提供了稳定可靠的固件解决方案。

  3. 嵌入式系统管理解决方案:除了BIOS固件,AMI还致力于开发和提供嵌入式系统管理解决方案。这些解决方案包括远程管理、监控、诊断和维护等功能,用于企业服务器、网络设备、嵌入式系统和物联网(IoT)设备等领域。

  4. 合作伙伴关系与生态系统建设:AMI与全球各种硬件和软件供应商建立了紧密的合作伙伴关系,共同推动技术创新和产品发展。公司与主板制造商、芯片厂商、系统集成商和软件开发商等合作,为客户提供全面的解决方案和支持服务。

  5. 云计算服务和新兴技术领域:随着云计算和人工智能等新兴技术的发展,AMI也开始拓展业务领域,提供云计算服务和相关解决方案。公司致力于为客户提供高性能、高可靠性的云计算平台和服务,以满足不断增长的数据处理和存储需求。

这些故事展示了AMI公司从创立初期到如今在BIOS技术创新、嵌入式系统管理、合作伙伴关系建设和拓展新兴技术领域等方面取得的重要进展。AMI作为一家全球知名的硬件和软件解决方案提供商,持续致力于为客户提供创新的产品和卓越的服务。

Hoffman Engineering公司的发展小趣事

在Harry Hoffman的领导下,Hoffman Engineering不断扩展其产品线。从最初的压力机安全保护装置,公司逐渐研发出蒲公英掘具、碟靶投掷器、厨房用电动搅拌器等一系列创新产品。这些产品不仅丰富了Hoffman Engineering的市场布局,也展现了公司在不同领域的技术实力。特别是Hoffman的机柜系列产品,如接线箱和电源插座,逐渐成为市场上的热门产品,为公司带来了稳定的收入来源。

China Semiconductor Corp公司的发展小趣事

CSC公司成立于21世纪初,当时正值中国半导体产业刚刚起步。面对国际巨头的垄断和技术封锁,CSC公司从零开始,凭借一腔热血和坚定的信念,开始了艰难的创业之路。公司初期,资金匮乏、人才短缺,但CSC人凭借着对技术的执着追求和对市场的敏锐洞察,成功研发出多款具有自主知识产权的半导体产品,打破了国外技术的垄断,为中国半导体产业的崛起奠定了基础。

Gamma Microelectronics ( APM )公司的发展小趣事

为了提高DSSC的转换效率和长期稳定性,G24i积极寻求技术合作。公司与离子液体供应商BASF公司签署了合作协议,共同开发性能更优的离子液体和电解液配方。此外,G24i还与国内外多家科研机构建立了紧密的合作关系,共同推进DSSC技术的研发和创新。这些合作不仅为G24i带来了先进的技术支持,也促进了整个DSSC行业的快速发展。

问答坊 | AI 解惑

如何将驱动程序打包

我现有一个驱动的.sys文件和.inf 文件 以及一个用VC编写的应用程序(.exe)的文件,我想把它打包成一个安装文件,请高手指点一个! 由于本人是新会员,没有什么积分!不过请不吝赐教!!!…

查看全部问答>

专业提供驱动开发外包服务和支持

欢迎访问:http://www.drivercoding.com.cn MSN或者QQ,Mail都可以,基本在线…

查看全部问答>

关于子类化控件的PreSubClassWindow函数内如何识别是在资源中创建还是用Create创建的

我想创建一个CMyStatic继承自CStatic,我重载了PreSubClassWindow函数,但是在这个函数中不知道如何识别出这个控件是放在对话框资源上创建的,还是用Create方式创建的,同样的问题在XP下却容易,因为XP下对于Create创建的控件在PreSubClassWindow函数内 ...…

查看全部问答>

S3c2410上电时,关于SDRAM的默认初始值与手册上的不一样是怎么回事?

S3c2410上电时,关于SDRAM的默认初始值与手册上的不一样是怎么回事? 我没有将BOOTLOADER下载进去,也没有从外部初始化SDRAM,因此正常的话应该是手册上的初始值,但是我的全是0,不知是怎么回事? 然后 我又手工通过Multi-ICE对SDRAM进行 ...…

查看全部问答>

STM32实现SPI简单通信配置

/******************************************************* 说明:        次程序成功实现SPI简单通信配置,能实现SPI1发送 数据,SPI2接收数据简单通信功能,仅供测试使用。 *********************************** ...…

查看全部问答>

南华大学黄智伟系列 --2011年赛前赛题大分析!

本帖最后由 paulhyde 于 2014-9-15 09:27 编辑 2011.8.25全国大学生电子设计竞赛组委会专家组在网上公布本次全国大学生电子设计竞赛需要的基本仪器和主要元器件清单,以便参赛学校做好准备。通过对所公布的基本仪器和主要元器件清单进行分析,可以 ...…

查看全部问答>

LM3S中断程序调通了!

   经过奋斗,LM3S811的中断程序调通了! ** Created By:                    hu_hejiaun lai_qingmin** Created date:  & ...…

查看全部问答>

编程风格

关于C语言编程,括号必须与括号内的内容紧挨着吗?我总是喜欢把括号与括号里的内容用空格隔开空格,如:( void )。这样有什么弊端,…

查看全部问答>