博客
通常情况下,STM32CubeIDE会自动生成默认的链接脚本。但是有些情况下,例如,用户程序需要定义一些特别的段来放置代码或者数据的时候,我们就需要修改链接脚本文件。
目前,部分产品需要国产化,首当其冲的就是更换国产 MCU。在经过几番研究之后,最终决定使用华大的 MCU 来代替(STM32F411 -> HC32F460)。
DMA是CPU一个用于数据从一个地址空间到另一地址空间“搬运”(拷贝)的组件,数据拷贝过程不需CPU干预,数据拷贝结束则通知CPU处理。因此,大量数据拷贝时,使用DMA可以释放CPU资源。
最近,汽车电气化趋势加速了全球正在进行的向碳中和的转变。xEV车辆的普及率与更严格的环境法规、核心技术创新、成本下降相伴而生。
一般情况下,外部晶振(如32.768K)上电就能起振,但是在连接MCU的情况下,有些MCU有一个OSC模块用于对外部晶振进行控制(模式选择),这种情况下,请参考数据手册,选择正确的模式以启动外部晶振。
上拉电阻:保证IO没有外部信号输入时,STM32检测到是高电平,有信号时,跟随信号电平;下拉电阻:保证IO没有信号输入时,STM32检测到是低电平,有信号时,跟随信号电平。
最近在做便携式储能电源的项目,其中需要用flash实时存储电池的电量(1~100),由于芯片的最小擦写次数时10000次,所以,对于flash的擦写寿命进行了研究。
如果在业务逻辑比较复杂的情况下,不跑操作系统,这个问题其实是一个“很难”的问题,在单线程(裸机)情况下,处理多件事情,这个处理逻辑必须要严谨才行,否则很有可能“卡机”或“死机”。
这两天本人利用周末时间粗略的学习一下openmv的使用,目的是用openmv图像处理数据并通过串口发送数据给STM32F103的单片机,并且用TFTLCD显示屏打印数据。
使用相同FLASH和管脚数量相同的芯片,例如GDF103C8T6移植STM32F103C8T6程序。虽然两个款芯片的寄存器地址以及架构基本相同。但是需要注意的是GD32F10x主频是108兆,但是STM32F10x主频是72兆。所以需要针对以RCC时钟进行修改。