资源描述:
《Keil编程环境下STM32内存管理研究.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Keil编程环境下STM32内存管理研究 非常简单的一个工程,没有用到任何IO操作,与STM32有关的仅仅只有芯片的选择,即其SRAM大小有区别。图1是工程示意图,从图中可以看出,除了自己编写的代码外,仅仅增加了2个文件,即system_stm32f10x.c和startup_stm32f10x_hd.s,其中为了对startup_stm32f10x_hd.s进行修改,将其从库文件夹复制到了项目文件夹中。图1代码1 intmain(){ inta,b,c,d; a
2、=10;b=20; c=a+b; for(;;);}myex1.c(3):warning: #550-D:variable"c"wassetbutneverusedlinking...ProgramSize:Code=796RO-data=336RW-data=20ZI-data=1636 FromELF:creatinghexfile..."myex1.axf"-0Error(s),1Warning(s).代码2 intmain(){ constintx=16;
3、 inta,b,c,d; a=10;b=20; c=a+b; for(;;);}myex1.c(2):warning: #177-D:variable"x"wasdeclaredbutneverreferencedmyex1.c(3):warning: #550-D:variable"c"wassetbutneverusedlinking...ProgramSize:Code=800RO-data=336RW-data=20ZI-data=1636 FromELF:
4、creatinghexfile..."myex1.axf"-0Error(s),2Warning(s).说明:(1)Code增加了4字节(2)其余没有任何变化代码3intmain(){ constintx=16; intmyArry[100]; inti; inta,b,c,d; a=10;b=20; c=a+b; for(i=0;i<100;i++) myArry[i]=i; for(;;);} myex
5、1.c(2):warning: #177-D:variable"x"wasdeclaredbutneverreferencedmyex1.c(3):warning: #550-D:variable"myArry"wassetbutneverusedmyex1.c(5):warning: #550-D:variable"c"wassetbutneverusedmyex1.c(5):warning: #177-D:variable"d"wasdeclaredbutneverreferencedlinki
6、ng...ProgramSize:Code=816RO-data=336RW-data=20ZI-data=1636 FromELF:creatinghexfile..."myex1.axf"-0Error(s),4Warning(s).分析:程序中增加了数组myArry,Code增加为816字节,但是RO-data等仍未变化 代码4intmain(){ constintx=16; intmyArry[100]={1,2,3,4,5,6}; inti; inta,b,c
7、,d; a=10;b=20; c=a+b; for(i=0;i<100;i++) myArry[i]=i; for(;;);}myex1.c(2):warning: #177-D:variable"x"wasdeclaredbutneverreferencedmyex1.c(3):warning: #550-D:variable"myArry"wassetbutneverusedmyex1.c(5):warning: #550-D:va
8、riable"c"wassetbutneverusedmyex1.c(5):warning: #177-D:variable"d"wasdeclaredbutneverreferencedlinking...ProgramSize:Code=1024RO-data=360RW-data=20ZI-data=1636 FromELF:creatinghexfile..."myex1.axf"-0Error(s),4Warning(s).分析:(1)由于myArry作了初