当前位置:网站首页>Embedded development: Tools - optimizing firmware using DRT
Embedded development: Tools - optimizing firmware using DRT
2022-07-24 09:28:00 【Guangdong embedded Education】
Not only from a business perspective , And from the perspective of microcontroller , Embedded development is usually carried out under severe resource constraints . Upgrading to a higher end processor may make the project economically infeasible , Especially for mass applications where every penny can play a role . A group called DRT Of GCC Firmware optimizer , It produces some very interesting optimization results .
When optimizing embedded systems , Developers may want to optimize three main areas : Code size 、 Speed and energy use . When optimizing , Often a trade-off must be made , For example, larger code size for faster processing .DRT What's interesting about , The tool is optimized in all three areas at the same time , To provide the best overall results .

DRT Tools optimize the entire program , And perform an optimization called reordering optimization . Reordering optimization is performed after the program is compiled , And as a special linker . The reorder will be optimized by doing the following :
Load relative instructions for loading relative addresses
Branch target
Keep sharing
Data shuffling
Exit truncation
Function reordering
Instruction scale
Remove the extra nop
Remove unused code / Data sequence
Small constant load
The reorder optimizer will adjust the code size 、 Energy use and processing speed have a significant impact . For applications between two different microcontroller sizes or device choices , Using such an optimizer alone is enough to use a cheaper microcontroller .
DRT Tools do 30 Days of usage , You can experience , See how much extra performance an application can get .30 After the trial period of days , The cost of this tool is about the same as that of high-end debugger probes . Not terrible price restraint , But it may be beyond the price range of most individual or small team Embedded developers . However , If appropriate trade studies are carried out , The price savings of microcontroller costs may greatly exceed the cost of tools .
边栏推荐
- Detailed sequence traversal of leetcode102 binary tree
- Six pictures show you why TCP shakes three times?
- [Luogu p5829] [template] mismatch tree (string) (KMP)
- RxJS Beginner Guide
- 华为无线设备安全策略配置命令
- IdentityServer4入门
- 【笔记】什么是内核/用户空间 从CPU如何运行程序讲起
- Account 1-2
- DP longest common subsequence detailed version (LCS)
- Problems and abuse of protocol buffers
猜你喜欢

Detailed explanation of the whole process of R & D demand splitting | agile practice

Foreign lead operation takes one month to collect money, and the sideline still needs it

Android系统安全 — 5.2-APK V1签名介绍
![[assembly language practice] solve the unary quadratic equation ax2+bx+c=0 (including source code and process screenshots, parameters can be modified)](/img/5e/782e5c33accc455994aae044970431.png)
[assembly language practice] solve the unary quadratic equation ax2+bx+c=0 (including source code and process screenshots, parameters can be modified)

Es document CRUD

Android system security - 5.2-apk V1 signature introduction
![[MySQL] - deep understanding of index](/img/a6/6ca1356fe11bd33ec7362ce7cdc652.png)
[MySQL] - deep understanding of index

Linked list - 24. Exchange nodes in the linked list in pairs

Racecar multi-point navigation experiment based on ROS communication mechanism
![[leetcode] 31. Next arrangement](/img/83/50a3cc17fc252582458bf32d1dd36b.png)
[leetcode] 31. Next arrangement
随机推荐
Getting started with sorting - insert sorting and Hill sorting
Re6: reading paper licin: a heterogeneous graph based approach for automatic legal stat identification fro
DSP development, using CCS software to establish engineering and burning
Re6:读论文 LeSICiN: A Heterogeneous Graph-based Approach for Automatic Legal Statute Identification fro
Leetcode94 detailed explanation of middle order traversal of binary tree
C#/VB. Net: convert word or EXCEL documents to text
Es search summary
Leetcode question brushing series -- 174. Dungeon games
ASI-20220222-Implicit PendingIntent
One year after I came to Ali, I ushered in my first job change
IdentityServer4入门
[don't bother to strengthen learning] video notes (III) 3. SARS (lambda)
Promise基础总结
Cloud primordial (12) | introduction to kubernetes foundation of kubernetes chapter
云原生(十二) | Kubernetes篇之Kubernetes基础入门
Vector control of permanent magnet synchronous motor (I) -- mathematical model
Account 1-3
Gin framework uses session and redis to realize distributed session & Gorm operation mysql
Build practical product help documents to improve user satisfaction
03_ UE4 advanced_ illumination