Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
S
Software for White Rabbit PTP Core
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 27
    • Issues 27
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 3
    • Merge Requests 3
  • CI / CD
    • CI / CD
    • Pipelines
    • Schedules
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • Software for White Rabbit PTP Core
  • Issues
  • #46

Closed
Open
Opened Mar 05, 2021 by Adam Wujek@awujek💬
  • Report abuse
  • New issue
Report abuse New issue

Reduce the size of WRPC

With the new PPSI (used in WRS v6.0), the footprint of WRPC is bigger than the available memory (128KB). There was some work done in this area, this issue is to keep track of it.

The size at the beginning of the WP1b was 139968 Bytes, the size was reduced to 125596 Bytes (by 14372 Bytes) with possible further reduction to 123640 (total reduction by 16328 Bytes) if Single port, One instance per port and One foreign master options are selected in PPSI's config. Additionally, it was identified that the use of RISCV can reduce the footprint by 7844B.

Also following can reduce the size (tested not for the latest commit):

  • Use newer compiler for RISCV (10.2.0 instead of 7.3.0), reduction ~1.5KB
  • Use Compressed Instructions in RISCV, reduction ~27KB
  • Use LTO (Link Time Optimization) for RISCV, reduction ~5KB.

If all of the above are used, the footprint can be reduced by more than 40KB, from ~125KB down to ~85KB (or even less).

The attached file contains the detailed information about size reduction of WRPC.

Size_report.ods

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
No due date
2
Labels
Done feature
Assign labels
  • View project labels
Reference: project/wrpc-sw#46