From the Expert
No-Hooks Frequently Asked Questions
Q) What information do I need to run No-Hooks products?A) The follow is needed for all No-Hooks products:
- A supported processor (see our list).
- Any calibration ECU interface (NOTE: No-Hooks is independent of the ECU interface!!!)
- Same files needed for calibration (software memory image and data-time description file).
- Ability to re-flash the ECU
- Unused memory (including code-space, calibration and RAM)
Additional requirements for OnTarget
- MATLAB and Simulink from The MathWorks
Q) What C-compliers will work with No-Hooks?
A) GNU (free), Vector's CANoe compiler (charge)
Q) How much free memory space do I need on my ECU for No-Hooks?
A) Memory requirements vary depending on how many variables are being bypassed. Here are some guidelines:
- 70k bytes dual port memory available on M6 for model, No-Hooks RAM, and calibration memory
Base No-Hooks
- Code space - Typically 200-300 bytes per variable, on the ECU
- RAM - Typically 8 bytes, 0 bytes minimum. M6 dual port can be used.
- Calibration space - Typically 16 bytes, 8 bytes minimum. M6 dual port can be used.
OnTarget - simple model
- Code space - 3-5k bytes minimum. Has to be available on the target.
- RAM - 250 bytes minimum. M6 dual port can be used.
- Calibration space - 250 bytes minimum. M6 dual port can be used.
Calibration requirements can vary greatly. For example, if the model just imports two signals and multiplies them the requirement is almost nothing, but if the multiplication is replaced the with a 16*24 map the requirement will be much greater.
Q) How does model optimization affect memory requirements?
A) Simulink provides different optimization options that one can choose to reduce the Code size or CAL size. For example, turning the 'Signal storage reuse' on would reduce the RAM space used or turning the 'Block Reduction' on would reduce the memory used for CAL. The use of Inline parameters makes the most significant reduction to the calibration requirement. Usage of 'Storage reuse' and 'Inline parameters' together requires the user to them manage their own data dictionary. This is a trade-off between having more signals displayable or parameters calibratable against a small memory footprint.
Q) Does the M6 Emulator support fixed or floating point operation?
A) M6 operates in both floating and fixed point depending on strategy / CPU support
- The Power PC supports both fixed and floating point calculations. The base ECU code most commonly uses fixed point, OnTarget models can be either fixed point or floating point.
- On processors without full floating point support, fixed point bypass models will be significantly faster and smaller. On the PowerPC most Floating point instructions are single cycle so calculations are not necessary slower.
- All Floating point calculations are single precision in OnTarget
Q) How do the bypass models execute?
A) Models execute based on write to a data item or function call
- Function call support requires a .MAP file
- Data item write execution is most common for Power PC
Q) Is there any time delay associated with executing the bypass model?
A) In the simplest 'single output' case the OnTarget model runs inline. There is a small increase in the computation time, but the result of the bypass model is available in the current control iteration. This is one of the great advantages of running your bypass model OnTarget. External bypass solutions will have a greater latency than the same model running OnTarget.
Q) Which processors are supported by No-Hooks?
A)
| Microprocessor | Supplier |
|---|---|
| PowerPC eSYS MPC55xx family |
Freescale Freescale |
| TriCore | Infineon |
| C16x | Infineon |
| ST10 | ST-MicroElectronics |
| SH2 | Hitachi |
| FR60 V850 M32R |
Fujitsu NEC Renesas |










