
单片机
ngany
这个作者很懒,什么都没留下…
展开
-
数据存储方式与内存分配方式
数据存储方式: 1、未初始化的全局变量(.bss段) 2、初始化过的全局变量(.data段) 3、常量数据(.rodata段) 4、代码(.text段) 5、栈(stack) 6、堆(heap) 内存分配方式: 1、从静态存储区域分配。内存在程序编译时就已经分配好,这块内存在程序的整个运行期间都存在,如全局变量、static变量等。 2、在栈上创建。在执行函数时函数内局部变量的存...原创 2018-12-22 14:04:07 · 443 阅读 · 0 评论 -
超范围读写造成的破坏
1、malloc/free要配对使用。内存分配了不释放我们称为内存泄漏(Memory Leak),内存泄漏多了迟早会出现Out of memory的错误,再分配内存就会失败。当然释放时也只能释放分配出来的内存,释放无效的内存或者重复free都是不行的,会造成程序crash。分配多少内存用多少,分配了100 B就只能用100 B,不管是读还是写,都只能在这个范围内,读多了会读到随机的数据,写多了会造...原创 2018-12-22 14:12:58 · 184 阅读 · 0 评论 -
Program Size: Code=200412 RO-data=5212 RW-data=1076 ZI-data=60788
CM3 M2S010 flash 256K SRAM 64K 代码占用ROM=Code+(RO-data)+(RW-data) RAM=(RW-data)+(ZI-data) 占用: ROM = 200412 + 5212 = 200k RAM = 1076+60788 = 60k 即将占满ram和rom空间。 工程中有个.map文件可以看到各个...原创 2018-12-11 11:04:22 · 741 阅读 · 0 评论