单片机
文章平均质量分 62
熬夜成瘾x
这个作者很懒,什么都没留下…
展开
-
STM32的.map文件中的.bss、.data、.text、.rodata的区别及存放位置
flash的数据掉电后不会消失,ram的数据在掉电后会丢失(个人理解,数据也不是掉电丢失,而是上电的时候被初始化导致数据丢失)。STM32中的堆栈是在启动文件中配置的空间大小,位于ram,是跟在.data段和.bss段后面的一块空间。.bss段:用来存放未被初始化的全局变量和静态变量(全局和局部都是,初始化为0的好像也会被放在这里)一般.text段、.rodata段属于flash,其他的堆、栈、.data段和.bss段位于ram。在STM32中,通常堆向高地址增长(向上增长),栈向低地址增长(向下增长)原创 2023-06-06 11:15:39 · 3008 阅读 · 0 评论 -
51单片机small、compact、large模式区别以及遇到的问题
51单片机small、compact、large模式区别以及遇到的问题项目中遇到把单片机内存模式从small模式改到large模式后,程序编译下载后,工作不正常的情况,所以了解一下51单片机各内存模式的区别。51单片机的RAM分为片内和片外,标准的51内核是0x00~0x7F一共128B,而现在的大多数半导体厂商开发的51系列单片机都带了扩展片内RAM,即片内RAM区域一般是从0x00到0xFF一共256B。随着功能需求越来越多,程序量越来越大,那片内这256B也不够用了,因此又扩展了片外RAM,片外R原创 2021-01-06 19:24:46 · 5354 阅读 · 0 评论 -
VS Code + EIDE + gcc arm移植freertos
开发环境:windows软件:VS Code + EIDE插件编译器:arm-none-eabi-gcc芯片信号:STM32F103ZET6使用STM32CubeMX生成带有freertos系统的代码工程,这个网上挺多教程的。1.STM32CubeMX生成代码生成代码目录如下:2.VS Code + EIDE新建工程新建项目——Create Empty Project——Empty Cotex-M Project——工程命名, 确认第一个是新建空的工程,第二个是新建内部模板工程,会调用插原创 2021-01-19 20:00:17 · 1575 阅读 · 0 评论