当前位置:高校自动化网 >> stm32 >> 浏览文章

Keil编程环境下STM32内存管理

文章来源:EDN 作者:佚名


该文章讲述了Keil编程环境下STM32内存管理.

  Keil编程环境下STM32内存管理研究

  非常简单的一个工程,没有用到任何IO操作,与STM32有关的仅仅只有芯片的选择,即其SRAM大小有区别。图1是工程示意图,从图中可以看出,除了自己编写的代码外,仅仅增加了2个文件,即system_stm32f10x.c和startup_stm32f10x_hd.s,其中为了对startup_stm32f10x_hd.s进行修改,将其从库文件夹复制到了项目文件夹中。

点击浏览下一页

图1

  代码1

  int main()

  {

  int a,b,c,d;

  a=10;b=20;

  c=a+b;

  for(;;);

  }

  myex1.c(3): warning: #550-D: variable "c" was set but never used

  linking...

  Program Size: Code=796 RO-data=336 RW-data=20 ZI-data=1636

  FromELF: creating hex file...

  "myex1.axf" - 0 Error(s), 1 Warning(s).

  代码2

  int main()

  { const int x=16;

  int a,b,c,d;

  a=10;b=20;

  c=a+b;

  for(;;);

  }

  myex1.c(2): warning: #177-D: variable "x" was declared but never referenced

  myex1.c(3): warning: #550-D: variable "c" was set but never used

  linking...

  Program Size: Code=800 RO-data=336 RW-data=20 ZI-data=1636

  FromELF: creating hex file...

  "myex1.axf" - 0 Error(s), 2 Warning(s).

  说明:

  (1)Code增加了4字节

  (2)其余没有任何变化

  代码3

  int main()

  { const int x=16;

  int myArry[100];

  int i;

  int a,b,c,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" was declared but never referenced

  myex1.c(3): warning: #550-D: variable "myArry" was set but never used

  myex1.c(5): warning: #550-D: variable "c" was set but never used

  myex1.c(5): warning: #177-D: variable "d" was declared but never referenced

  linking...

  Program Size: Code=816 RO-data=336 RW-data=20 ZI-data=1636

  FromELF: creating hex file...

  "myex1.axf" - 0 Error(s), 4 Warning(s).

  分析:程序中增加了数组myArry,Code增加为816字节,但是RO-data等仍未变化

  代码4

  int main()

  { const int x=16;

  int myArry[100]={1,2,3,4,5,6};

  int i;

  int a,b,c,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" was declared but never referenced

  myex1.c(3): warning: #550-D: variable "myArry" was set but never used

  myex1.c(5): warning: #550-D: variable "c" was set but never used

相关文章:
  • STM32开发入门教程(五) - 唱歌
  • 利用STM21单片机做的PLC的方案
  • USB工作过程 STM32 USB设计
  • 上一篇:Cisco STM-1 技术与模块配置
    下一篇:没有了
    最近更新