stm32相关内容

如何使printf在STM32F103上工作?

我对STM32F103还是陌生的.我有一个用于STM32F103的演示代码,我正在使用arm-none-eabi进行编译. 我尝试了在Google上可以找到的东西,但到目前为止没有任何效果.我已经花了三天时间解决这个问题. 任何人都可以给我一个有关printf的演示代码,该代码可以正常工作吗? 我的makefile的一部分: CFLAG = -mcpu=$(CPU) - ..
发布时间:2020-05-05 11:50:31 其他开发

Arm:objcopy如何知道小精灵的哪些部分要包含在二进制或ihex中?

我正在一个项目中,该项目涉及解析arm elf文件并从中提取节. 一个elf文件中显然有很多部分没有加载到Flash中,但是我想知道objcopy如何确切地知道要包含在二进制文件中的哪些部分要直接刷新到Flash中? 例如,以下是arm elf文件的readelf: 部分标题:[Nr]名称类型Addr Off Size ES Flg Lk Inf Al [0] NULL 0 ..
发布时间:2020-05-01 03:36:45 其他开发

匹配STM32F0和zlib中的CRC32

我正在运行Linux和STM32F0的计算机之间建立通信链接.我想对我的数据包使用某种类型的错误检测,并且由于STM32F0具有CRC32 hw,并且我在Linux上具有带有CRC32的zlib,所以我认为对我的项目使用CRC32是一个好主意.问题在于,在不同平台上,对于相同数据,我不会获得相同的CRC值. #include #include ..
发布时间:2020-04-23 10:37:28 服务器开发

STM32F4在外部RAM中运行FreeRTOS

在工作中我们有一个论文项目,那些人正试图让外部RAM为STM32F417 MCU工作。 这个项目正在尝试一些真正耗费资源,内部RAM不够的问题。 现在的问题是如何做到最好。 目前的方法是将链接脚本(gnu ld)中的RAM地址替换为外部RAM的地址。 这种方法的问题是,在初始化期间,由于FSMC尚未初始化,芯片必须在内部RAM上运行。 似乎工作,但一旦pvPortMall ..
发布时间:2018-04-21 10:40:33 其他开发

GCC - 如何阻止malloc被链接?

我正在努力将我的代码缩小到最小的裸露尺寸!我使用的STM32F0只有32k的闪存,需要很大一部分闪存用于数据存储。我的代码已经在大约20k的闪存大小!其中一些原因是由于使用了STM32的HAL功能,我可以考虑并在以后进行优化。如果需要的话。 然而,我最大的flash使用者是隐含的库例程。我似乎无法删除这些功能。他们不会在我的代码或任何HAL代码中被调用。诸如_malloc_r(1.3k字节) ..
发布时间:2018-04-20 17:36:09 其他开发

gcc如何决定隐含地包含哪些库?

参照这个问题 a>: 在一个小型微型嵌入式项目中,我发现我的编译代码大小比预期的要大得多。原来,这是因为我包含了使用assert()的代码。在包含的代码中使用assert是合适的,但是导致我的编译代码大小几乎翻倍。 问题不在于if / when应该使用断言,而是编译器/链接器决定包含断言的所有必要开销。 我从另一篇文章的原始问题: 如果有人能够向我解释当调用assert时g ..
发布时间:2018-04-20 17:35:07 C/C++开发

在C中写入STM32L4x1闪存

我正在使用Windows 7上的JTAG ST-Link / V2写入STM32L476的闪存。不需要上传任何软件,我只需要在非易失性的地方写入数据即可读取和删除。 作为一个关于硬件的新手,只有在编程非嵌入式常规C时才有效,恐怕我可能会对闪存造成危害或修改。另外,我不太确定我能做什么或不能做什么。 我已经找出了阅读手册在 0x08000000 内存地方似乎是一个好主意。使用C代码调用 ..
发布时间:2017-08-15 21:15:16 HTML/CSS

在C中与STM32芯片的内存进行交互

我想与STM32芯片的内存进行交互, STM32L476 ,首先以读取和存储其电子签名(MCU_ID)和然后在其内存中写入数据。我正在使用一个链接到JTAG的 STM32QFP64 套接字 ST-LINK 。 我在C还好,但是真正开始嵌入式编程,所以我选择了 Atollic Studio IDE ,因为它似乎相当完整,基于我已经有的Eclipse已经使用过。 我的问题是,我找不到列出功 ..
发布时间:2017-08-15 21:15:01 HTML/CSS

自动波特率检测STM32L0

我无法通过 STM32L0 获得自动波特率检测功能。我正在使用硬件抽象层(HAL)。 我的启动代码是: / * USART1 init function * / void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 300; huart1.Init.Wor ..
发布时间:2017-08-15 20:56:02 HTML/CSS

重复一个指令一定次数而没有“循环”?

我之前使用过PIC,现在我正在使用STM32F415。 在我的代码的时间关键部分,我需要非常精确的延迟来调整正在协同工作的DAC-DMA周期以创建周期性模拟信号。 我想添加的延迟从0到63个时钟周期(如果我能够做10-63个时钟周期,那将是正常的)。在PIC24F程序集中,有一个指令“REPEAT”允许我重复下一个指令一定次数。这对我来说很有用,因为我可以做到这一点: REPEAT ..
发布时间:2017-08-15 20:51:25 HTML/CSS

SIGTRAP尽管没有设定断点;隐藏的硬件断点?

我正在调试这块STM32嵌入式系统的软件。在其中一个功能我的程序不断击中某种断点: SIGTRAP,跟踪/断点陷阱 但是,在GDB中,当我做信息断点我得到没有断点或观察点。断点实际上对应于我之前设置的断点,在另一个版本的可执行文件中。当我设置断点时,GDB会在只读内存上使用硬件断点来自动使用(或类似的消息)。 我认为硬件断点仍然在我的芯片上,尽管加载了一个新版本的软件。如果确实有一个 ..
发布时间:2017-08-15 20:30:57 HTML/CSS

stm32l0:执行MI命令失败。使用vFlashErase数据包擦除闪存错误

我正在使用带有AC6 STM32工作台(eclipse)的Nucleo STM32L031。 我写我的应用程序并进入调试模式,一直运行良好,直到我添加我应用程序中的另一个功能我注意到,当我删除/注释“ new_function ”时,软件可以再次进入调试模式。但是,当我添加“ new_function ”到代码进行调试时,会发生错误,无法进入调试模式。 错误:最终启动顺序错误 无法执行 ..
发布时间:2017-07-30 15:28:44 Java开发

push_back()使程序在进入main()之前停止,

我在c ++中为我的STM32F3发现板开发,并使用std :: deque作为队列。在尝试调试我的代码(直接在设备与ST链接或在模拟器)后,代码最终停止在断点,甚至在main()中输入我的代码。但是,SystemInit()配置板很好.. 我已经跟踪这个行为,使用push_back()(和push_front)注释从代码解决问题。通过disassmebly我发现,使用它后,执行停止在断点指 ..
发布时间:2016-10-20 23:03:25 C/C++开发

在STM32 ADC转换单

我学习上的STM32 F103x ADC编程和最简单的情况开始 - 单次转换。 内部温度传感器(连接到ADC1)值被测量,并通过使用USART发送到COM端口。将目标似乎很清楚,但是当我尝试下载源$ C ​​$ C闪烁,它不会将任何数据发送到COM端口。 USART功能效果很好,我猜的问题来自ADC配置部分,因为我被挂在循环等待完全转化: 而(ADC_GetFlagStatus(ADC1,AD ..
发布时间:2016-08-25 09:43:12 C/C++

IAR定义的内存区域的自定义数据

我想在STM32微在哪里存储一些字符串来定义一个特定的存储区。我使用IAR编译,但我没有找到一个简单的例子,可以帮助我在使用ICF文件的正确的方式来创建的区域。我怎样才能创建区域,并在code使用的区域?谢谢 解决方案 我发现这个解决方案: 在ICF文件我用这种方式定义存储区: 定义区域LANGUAGE_region =纪念品:从0x080FB000到0x080FC000] “LANG ..
发布时间:2016-08-24 14:31:10 C/C++

STM32时机ULPI接口

我工作的一个项目,我需要用USB PHY芯片进行通信。我使用的是STM32 microcontoller。 (stm32f446ret6,的http://www.st.com/web/en/resource/technical/document/datasheet/DM00141306.pdf) 要在 USB PHY 芯片沟通,我需要使用 ULPI接口。这是一并行通信。此接口为60MHz的c ..
发布时间:2016-08-24 14:16:43 C/C++开发

位域KEIL hardfault后重新启动

当我用这个结构只是闪光装置效果很好后,但在重新启动使用此结构(开/关电源)后(分配给任何位)导致HardFault IRQ。我使用的Keil uVision与STM32F205。为什么不工作?和我应该怎么更改/删除/添加到解决这个问题?直接使用GPIOC-> ODR不会引起任何问题,什么是错的,在凯尔位域? 的#pragma anon_unions工会的typedef { 结构{ ..
发布时间:2016-08-24 13:35:16 C/C++开发

STM32F103微控制器CAN报文

我想知道如果任何人都熟悉的任何STM32f10x微控制器?如果是这样,我有一些问题,配置CAN驱动。我可以运行演示code,它被设置为loop_Back模式,但我不能让Normal_Mode工作。我经历了所有的数据表读出,一切都只是在CAN_MSR寄存器中的INAK配置正确从未重置为0,如果需要,我可以提供更多的细节,但首先我需要知道是谁的人已经与STM32F103微控制器工作, CAN报文。 ..
发布时间:2016-08-23 11:11:32 C/C++开发

在半自助旅游旅行社计划使用malloc

考虑以下半自助旅游旅行社程序 #包括LT&;&stdio.h中GT; #包括“contiki.h” #包括LT&;&stdlib.h中GT;静态字符* MEM; 静态INT X; / * ------------------------------------------------ --------------------------- * / PROCESS(测试,“测试”); AUTOST ..
发布时间:2016-08-22 15:19:05 C/C++

我如何在Cortex-M3的(STM32)执行从RAM功能?

我想在Cortex-M3处理器(STM32)从RAM中执行的功能。该功能可以擦除和重写内置闪存,所以我肯定需要在RAM,但我怎么做呢? 我已经试过这就是:功能复制到使用的memcpy(检查它被正确对齐)RAM中的字节数组,设置一个函数指针指向字节数组中,然后调用的函数(指针)。 这工作得很好,也许10个指令(我可以按照与调试器执行),但是我得到一个错误总线和处理器复位。在第二次通过循环出现的错 ..
发布时间:2016-08-21 20:29:48 C/C++