控制/MCU
由于在暑假匆忙接收的嵌入式项目中需要使用特别大的数组,非分页RAM的内存不够用了,没办法,硬着头皮尝试使用分页RAM,但是完全没有单片机的基础,导致极其的困难。之前写程序都是按照纯软件的思维,主要考虑架构,不会考虑到每个变量具体存在哪个物理地址这么底层的问题,结果被飞思卡尔这分页地址、prm文件什么的搞得一头雾水,而网上的资料又少,讲的又大同小异的笼统,最后写出来的程序因为这分页地址的原因存在各种问题(还以为把变量放到分页RAM了,结果现在稍微懂了点回去看,发现其实很多根本还是分配在非分页区。晕倒~。但是居然还能相对正常运行也是很神奇)。这些天各种找相关的资料,结果发现在CodeWarrior的官方文档资料里其实把我想知道的都讲的很清楚了(还是官方文档给力,以后学什么东西直接找官方文档,不去到处找网上一堆零零散散的资源来学了)。本着学习的态度,将逐步把官方文档翻译一遍,供大家一起交流学习进步。
翻译的资料是公开的,我想应该不会有什么版权问题,如涉及版权问题,请联系我删除文章,原文档在这里(https://www.nxp.com/pages/codewarrior-development-studio-for-hcs12x-microcontrollers-classic-ide-v5.2:CW-HCS12X?&tab=Documentation_Tab&linkline=Users-Guides),另感谢NXP提供的学习资料。
使用CodeWarrior的构建工具选项来优化HC12/HCS12/HCS12X/HCS12XE内核的性能译者注:译者博客(),转载请保留这条。此为官方文档AN4195,仅供学习交流使用,请勿用于商业用途。
目录
1. 介绍
2. 优化速度
3. 优化代码大小
这篇文档描述了CodeWarrior工具中的两个能为HC12/HCS12/HCS12X/HCS12XE内核生成更优化的代码的选项集。一个选项集优化了代码的速度;另一个则优化了代码的大小。
你可以使用这篇文档中描述的构建工具选项来优化性能,但是构建工具的设置必须与开发的应用相兼容。
欲了解更多关于S12(X)编译器的信息,请参考Freescale的S12(X) Build Tools Reference Manual。
优化速度为了减少代码的总机器周期,给编译器如下选项:
-Ot -Cu -Ous -Onf -Oi -OiLib -OnB=al
优化代码大小为了更优的代码大小,给编译器如下选项:
-Os -Ous -Of
下面的选项接受一个选项集的列表作为输入,并指示编译器使用每一个选项集来运行,并为每个函数保留最佳性能的那个。
-Odocf
比如,-OdocF=”-Or”
注意: 编译时间会以传递给编译器的选项集的个数为倍数而增长。为了获得代码大小的额外优化建议,请参考S12(X) Build Tools Reference Manual 中的 Generating Compact Code 主题。你还可以使用CodeWarrior HC(S)12(X)编译器的MemoryBanker和SmartSliders功能来优化代码的速度和大小。
使用MemoryBanker你可以通过在项目向导中选择Custom地址模型来激活MemoryBanker(图1)。你可以使用这个功能来降低应用的内存占用,但是small或banked地址模型会给你更好的结果。
为了获得更多关于S12(X) MemoryBanker的信息,请参考Freescale提供的文档 TN262:在S12(X)项目中使用MemoryBanker。
图 1. 激活MemoryBanker
为了在创建CodeWarrior项目后使用SmartSliders或称Smart Controls:
打开 Edit>Standard Settings(或者按Alt + F7)。
从Standard Settings对话框中,选择Compiler for HC12并点击Smart Sliders按钮。
调整滑块以获得想要的应用性能。
.
图 2. Compiler Smart Control
全部0条评论
快来发表一下你的评论吧 !