当前位置: 首页 > news >正文

网站搜索引擎优化公司xuzhou网站制作

网站搜索引擎优化公司,xuzhou网站制作,win10 中国建设银行网站,佛山新网站建设策划本文介绍MCU平台下确定栈空间大小的方法。 通常使用IDE开发MCU程序在生成Image文件时#xff0c;Image文件被划分为代码区#xff0c;数据区#xff0c;BSS区#xff0c;堆区#xff0c;栈区。其中#xff0c;代码区#xff0c;数据区#xff0c;BSS区空间大小由编译器…本文介绍MCU平台下确定栈空间大小的方法。 通常使用IDE开发MCU程序在生成Image文件时Image文件被划分为代码区数据区BSS区堆区栈区。其中代码区数据区BSS区空间大小由编译器最终决定对于MCU堆区一般设置为0唯一不好确定的就是栈区空间的大小了。栈空间大小由非常关键弄不好会导致栈溢出后果非常严重。本文基于实测的方式确定栈区空间的大小。 1.基本概念 栈空间分为静态栈空间和动态栈空间。 1)静态栈空间 静态栈空间大小一般可由编译器分析函数调用关系及调用深度来确定顾名思义它只能分析固定的函数调用关系而我们的MCU程序运行过程中可能会有中断造成函数的调用关系及深度是无法预料的如果仅按静态栈大小来设置栈空间大小很有可能是不够的。查看静态栈空间大小有助于我们确定最小的栈空间大小。 如Keil中可以在Link中增加“--callgraph”来生成静态调用图其中也包括栈的使用也可以用“--infostack”或“--infosummarystack”列出所有全局符号的栈的使用情况。 2)动态栈空间 动态栈空间大小就是我们的程序在运行过程中包含中断的栈空间大小。实际使用的栈空间大小是动态变化的随中断及函数调用而变化确定栈空间的大小就是要确定动态栈空间最大能有多大再预留一定的裕量就是我们在编写程序时需要设置的栈空间大小。也是本文后续要介绍的。 2.方法步骤 1)预先分配一个足够大的栈空间大小这个空间在确定栈空间大小后会修改。这个在Keil中通过“startup.s”文件进行设置在gcc编译器中可通过“.ld”文件确定。同时我们也知道栈顶的位置通常在RAM空间的最后。 2)编写一小段程序初始化这段栈空间大小为一个确定的数字如“0xDEADDEAD”。代码如下 InitStack(0x20003ffb, 0x400);void InitStack(uint32_t Address, uint32_t nLength) {while ((int32_t)nLength 0){*(volatile uint32_t *)Address 0xDEADDEAD;Address - 4;nLength - 4;} } 3)运行我们的程序我们可以进行一系列的测试包括外部中断及各种输入以确保程序执行中函数调用关系处于最深的情况。 4)当程序执行完毕后我们检查2)中特定数值被修改的位置这个位置和栈顶的偏移就是我们实际需要的栈空间大小。如我们使用JLink-Commander的“Mem32”指令可在程序运行过程中读取指定地址及长度的数据。指令如下连接过程略 Mem32 20003ffb 0x100 5)获得栈空间大小后为了以防万一步骤3)测试不充分可以再保留一定的裕量如50%将此值作为最终的栈空间大小的设定值。 总结本文介绍了MCU平台下确定栈空间大小的方法。
http://www.tj-hxxt.cn/news/230279.html

相关文章:

  • 国家住房和城乡建设部官方网站长沙网站排名
  • 网站建设的硬件平台wordpress转微信小程序
  • 建设部网站资质人员查询厦门免费自助建站模板
  • 单位建设的网站属于无形资产吗阎良区网站建设
  • php购物网站开发成品页面设计课后反思
  • 小型电子商务网站规划创建网页
  • 网站技术解决方案校园门户网站 建设方案
  • 网站开发流程图和自己做电影网站需要的成本
  • 网站上的广告位图片怎么做呢站内内容投放计划
  • 网站营销有哪些一级门户网站建设费用
  • 网站的竞争对手河南省实名举报
  • 广告网站有哪些重庆市城市建设档案馆官方网站
  • 网站制作如何做西安造价信息网官网
  • 公司网站域名价格市场营销推广方案
  • 重庆所有做网站的公司新闻今天的最新新闻
  • 珠海建设改革有哪些网站高品质网站建设公司
  • 免费手机网站appWordPress手机aop主题
  • 个人网站怎么做内容比较好盘锦市建设局网站地址
  • 仿美团版网站开发制作网站建设的基本步骤
  • 做透水砖的网站深圳广告策划公司排名
  • 网站界面设计策划书怎么做wordpress如何配置前端用户中心
  • 六盘水南宁网站建设昆明网站建设知名企业
  • 上海城市建设网站专业软件开发培训机构
  • 网站建设seo基本要求自己做一个网站难不难
  • 偷dede网站模板打开网站建设中是什么意思
  • 网站必须做电子标识信息罗湖做网站公司排名
  • 南阳提高网站排名网站建设计划书1200字
  • 昆明市建设局官方网站查学校去哪个网站
  • 网站升级建设方案工业云网站建设
  • 无锡网站制作中心我想要个网站