当前位置:网站首页>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 .
边栏推荐
- [assembly language practice] (II). Write a program to calculate the value of expression w=v- (x+y+z-51) (including code and process screenshots)
- What are the 6% annualized products?
- MySQL基础篇(一)-- SQL基础
- Tiktok shop will add a new site, and the Singapore site will be launched on June 9
- S2b2b system standardizes the ordering and purchasing process and upgrades the supply chain system of household building materials industry
- Dorissql syntax Usage Summary
- Data center: started in Alibaba and started in Daas
- The difference between classification and regression
- Android系统安全 — 5.3-APK V2签名介绍
- 分类与回归的区别
猜你喜欢

唐宇迪opencv-背景建模

What is the component customization event we are talking about?

Un7.22: how to upload videos and pictures simultaneously with the ruoyi framework in idea and vs Code?

ASI-20220222-Implicit PendingIntent

Re6: reading paper licin: a heterogeneous graph based approach for automatic legal stat identification fro

Android系统安全 — 5.2-APK V1签名介绍

Assignment operator (geritilent software - Jiuye training)

Android system security - 5.3-apk V2 signature introduction
![[example of URDF exercise based on ROS] use of four wheeled robot and camera](/img/c5/babce5c6921b9cb54f018dc83a3b87.jpg)
[example of URDF exercise based on ROS] use of four wheeled robot and camera

如何通过NFT GO,来简要判断、分析NFT市场?
随机推荐
Re6: reading paper licin: a heterogeneous graph based approach for automatic legal stat identification fro
【汇编语言实战】(二)、编写一程序计算表达式w=v-(x+y+z-51)的值(含代码、过程截图)
Tiktok's "online celebrity" was poached by Amazon and broadcast on Amazon live platform
OPENCV学习DAY5
The difference between classification and regression
Makefile variables and dynamic library static library
代码随想录笔记_链表_25K个一组翻转链表
PHP Basics - session control - Session
[don't bother with reinforcement learning] video notes (I) 3. Why use reinforcement learning?
Seven data show the impact of tiktok's combination of payment and organic content
Ue5 film and television animation rendering MRQ layered learning notes
财务数字化转型
[don't bother to strengthen learning] video notes (II) 2. Write a small example of Q learning
[MySQL] - deep understanding of index
Linked list - 19. Delete the penultimate node of the linked list
Jenkins post build script does not execute
PHP Basics - PHP magic method
CodeBlocks shortcut key operation Xiaoquan
唐宇迪opencv-背景建模
Nuggets manufacturing industry, digital commerce cloud supply chain collaborative management system to achieve full chain intelligent management and control