---
# System prepended metadata

title: TI F280025C -- IQmath Library Setup
tags: [TI C2000]

---

# TI F280025C -- IQmath Library Setup

使用 IQmath Library 替代原本浮點數運算，優化運算時間長度跟資源。
一般運算使用浮點數計算，在 MCU 中所使用的資源多、執行時間長，如果遇到要求更新時間短的運算則會無法達標。
使用 Q 格式運算可以大大縮減運算資源跟時間。

---

## Device

- F280025C LaunchPad™ development kit for C2000™ real-time MCU
![image](https://hackmd.io/_uploads/SJXgjX9rJe.png)

- CCS
![Untitled (1)](https://hackmd.io/_uploads/Bk8bimqS1g.png)


---

## Setting

根據文件需要準備兩個.lib，不同的 MCU 需要選擇不同的檔案
* F28002xCPU1_IQMathROM_Symbols_fpu32.lib [C:\ti\C2000Ware_5_03_00_00\libraries\boot_rom\f28002x\rev0\rom_symbol_libs\iqMath]
* IQmath_fpu32_eabi.lib
[C:\ti\C2000Ware_5_03_00_00\libraries\math\IQmath\c28\lib]

依照以下設定 CCS 設定
![image (1)](https://hackmd.io/_uploads/B10-dZCUJg.png)
![image (2)](https://hackmd.io/_uploads/ByMfdZRLyl.png)

設定 sysconfig 檔案，新增 2 個 User Defined Section
![image (1)](https://hackmd.io/_uploads/S1-bKZCL1g.png)
![image (2)](https://hackmd.io/_uploads/SJxMFb0Iyl.png)

完成上述設定後，需要 #include "IQmathLib.h"，該檔案定義了相關的運算
路徑如下
[C:\ti\C2000Ware_5_03_00_00\libraries\math\IQmath\c28\include]
![image](https://hackmd.io/_uploads/rJ-Gc-0Ukx.png)
如果使用 cpp運算則選擇 "IQmathCPP.h"

---
## Reference

[C28x IQmath Library](https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/171/C28x-IQmath-Library.pdf)