跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. Clarification on CRC32 Algorithm Differences (YTM32B1MD Series)

Clarification on CRC32 Algorithm Differences (YTM32B1MD Series)

已定时 已固定 已锁定 已移动 YTM32B1M系列
2 帖子 2 发布者 129 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • tuanduongT 离线
    tuanduongT 离线
    tuanduong
    编写于 最后由 编辑
    #1

    Dear Yuntu Support Team,

    I hope you are doing well.
    I am currently working with the YTM32B1MD microcontroller series and using the on‑chip CRC32 hardware module to verify firmware integrity. However, we have observed that the CRC32 result generated by the Yuntu hardware CRC engine does not match the CRC32 result produced by the IAR ielftool (CRC32/Ethernet configuration).
    To ensure our firmware integrity workflow is correct, we would like to request official confirmation of the exact CRC32 parameters used by the Yuntu CRC hardware.
    Specifically, could you please help confirm the following details?

    1. CRC Polynomial

    We currently understand the polynomial as:
    X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 + X^8 + X^7 + X^5 + X^4 + X^2 + X + 1
    which corresponds to 0x04C11DB7 (CRC‑Ethernet / IEEE 802.3).
    Please confirm whether this is correct.

    1. Input and Output Reflection

    Does the Yuntu CRC module perform:

    REFIN (bit reflection on input bytes)?
    REFOUT (bit reflection on the final CRC value)?

    1. Initial CRC Value (Init / Seed)

    What is the default initial value used by the hardware?
    (e.g., 0xFFFFFFFF, 0x00000000, or another value)

    1. Final XOR Value

    Does the hardware apply a final XOR (e.g., 0xFFFFFFFF) automatically, or should this be done in software?

    1. Byte Ordering / Word Feeding

    When feeding 32‑bit data into the CRC module:

    Should bytes be provided in little‑endian order?
    Does the hardware internally reverse byte order?

    1. Any Known Differences Compared to Standard CRC‑Ethernet

    Are there any Yuntu‑specific variations that may cause mismatch with tools such as IAR, Python, or standard CRC32 calculators?

    Understanding these exact CRC parameters is important for us to:

    • Align our bootloader and firmware integrity checks
    • Ensure IAR post‑build CRC matches Yuntu HW CRC results
    • Comply with integrity requirements in our production workflow

    We would greatly appreciate your guidance or example code/configuration showing the correct CRC32 usage for YTM32B1MD.

    fdcc3fa0-dd3d-4050-b4c4-ee70ae4f9513-image.png

    IAR generated CRC32
    ielftool --checksum=__CRC32:4,crc32:i,0xFFFFFFFF;0x00000000-0x000203FB
    firmware.out firmware_crc.out

    1 条回复 最后回复
    0
    • DerrickD 离线
      DerrickD 离线
      Derrick YunTu
      编写于 最后由 编辑
      #2

      Our hardware CRC32 may require a ByteSwap of uint32 values when passing arrays as arguments. The hardware CRC should be big-endian aligned.

      1 条回复 最后回复
      0

    • 云途开发生态介绍

      快速上手云途开发生态

    • 云途论坛规则/Yuntu Forum Rules

      发帖前请查看

    • YT CONFIG TOOL调查问卷

      帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

    • can
      22
      demo
      20
      uds
      13
      lin stack
      11
      md14
      6
      fbl
      5
      yt-link
      5
      adc模块
      4
      Online Users
      Gavin2G
      Gavin2
      Tiger987T
      Tiger987
      swustS
      swust
      swordsS
      swords
      pengszP
      pengsz
      zwt-dotZ
      zwt-dot
      自然魂自
      自然魂
      • 登录

      • 登录或注册以进行搜索。
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 最新
      • 标签
      • 热门