@@ -14,7 +14,8 @@ The table below provides information about the changes delivered with specific v
1414 <td>
1515 <ul>
1616 <li>Core(M) and Core(A) joined into single Core component</li>
17- <li>Core header files reworked, aligned with TRMs</li>
17+ <li>Core header files reworked, aligned with Cortex-M Technical Reference Manuals (TRMs).
18+ <br/>See \ref core6_changes "Breaking changes in CMSIS-Core v6 header files" for details, and [GitHub issue #122](https://github.com/ARM-software/CMSIS_6/issues/122).</li>
1819 <li>Previously deprecated features removed</li>
1920 <li>Dropped support for Arm Compiler 5</li>
2021 </ul>
@@ -366,3 +367,105 @@ The table below provides information about the changes delivered with specific v
366367 </td>
367368 </tr>
368369</table >
370+
371+
372+ \anchor core6_changes
373+ <h1 >Breaking changes in CMSIS-Core v6 header files</h1 >
374+
375+ \ref cmsis_standard_files in CMSIS-Core v6.0.0 have received a number of changes that are incompatible with CMSIS-Core v5.6.0.
376+
377+ In summary, following types of incompatible changes are present:
378+ - struct member is renamed in an existing structure (e.g. NVIC->PR -> NVIC->IPR)
379+ - struct name is changed (e.g. CoreDebug_Type -> DCB_Type)
380+ - define name is changed (e.g. CoreDebug_DEMCR_TRCENA_Msk -> DCB_DEMCR_TRCENA_Msk)
381+
382+ [ GitHub issue #122 ] ( https://github.com/ARM-software/CMSIS_6/issues/122 ) discusses how to resolve such incompatibilities.
383+
384+ Below is detailed information about the changes relevant for each Cortex-M core.
385+
386+ ** Cortex-M0, Cortex-M0+, Cortex-M1:**
387+ - struct NVIC_Type
388+ - member IP renamed to IPR
389+ - struct SCB_Type
390+ - member SHP renamed to SHPR
391+
392+
393+ ** Cortex-M3, Cortex-M4:**
394+ - struct NVIC_Type
395+ - member IP renamed to IPR
396+ - struct SCB_Type
397+ - member SHP renamed to SHPR
398+ - member PFR renamed to ID_PFR
399+ - member PFR renamed to ID_PFR
400+ - member DFR renamed to ID_PFR
401+ - member ADR renamed to ID_AFR
402+ - member MMFR renamed to ID_MMFR
403+ - member ISAR renamed to ID_ISAR
404+ - member STIR added
405+ - struct ITM_Type:
406+ - members PIDx and CIDx removed
407+ - define names for ITM_TCR_ * changed
408+ - define names for ITM_LSR_ * changed
409+ - struct TPI_Type renamed to TPIU_Type
410+ - define names for TPI_ * renamed to TPIU_ *
411+ - define names for FPU_MVFR0/1_ * changed (Cortex-M4)
412+ - struct CoreDebug_Type renamed to DCB_Type
413+ - defines for CoreDebug_ * renamed to DCB_ *
414+
415+
416+ ** Cortex-M7:**
417+ - struct NVIC_Type
418+ - member IP renamed to IPR
419+ - struct SCB_Type
420+ - member ID_MFR renamed to ID_MMFR
421+ - struct ITM_Type:
422+ - members PIDx and CIDx removed
423+ - define names for ITM_TCR_ * changed
424+ - define names for ITM_LSR_ * changed
425+ - struct TPI_Type renamed to TPIU_Type
426+ - define names for TPI_ * renamed to TPIU_ *
427+ - define names for FPU_MVFR0/1_ * changed
428+ - struct CoreDebug_Type renamed to DCB_Type
429+ - defines for CoreDebug_ * renamed to DCB_ *
430+
431+
432+ ** Cortex-M23:**
433+ - struct DWT_Type
434+ - member RESERVED0[ 6] replaced by CYCCNT, CPICNT, EXCCNT, SLEEPCNT, LSUCNT, FOLDCNT
435+ - other RESERVED members mainly removed
436+ - struct TPI_Type renamed to TPIU_Type
437+ - define names for TPI_ * renamed to TPIU_ *
438+ - struct CoreDebug_Type removed (struct DCB_Type already existed)
439+ - defines CoreDebug_ removed (defines DCB_ already existed)
440+
441+
442+ ** Cortex-M33:**
443+ - struct ITM_Type:
444+ - members LAR, LSR removed
445+ - members PIDx and CIDx removed
446+ - struct TPI_Type renamed to TPIU_Type
447+ - define names for TPI_ * renamed to TPIU_ *
448+ - define names for FPU_MVFR0/1_ * changed
449+ - struct CoreDebug_Type removed (struct DCB_Type already existed)
450+ - defines CoreDebug_ removed (defines DCB_ already existed)
451+
452+
453+ ** Cortex-M55, Cortex-M85:**
454+ - struct ITM_Type:
455+ - members LAR, LSR removed
456+ - members PIDx and CIDx removed
457+ - struct DWT_Type:
458+ - members PIDx and CIDx removed
459+ - struct EWIC_Type
460+ - all members renamed
461+ - define names EWIC_ * changed
462+ - struct TPI_Type renamed to TPIU_Type
463+ - members LAR, LSR replaced
464+ - define names for TPI_ * renamed to TPIU_ *
465+ - struct PMU_Type
466+ - members PIDx and CIDx removed
467+ - struct CoreDebug_Type removed (struct DCB_Type already existed)
468+ - defines CoreDebug_ removed (defines DCB_ already existed)
469+ - struct DIB_Type
470+ - members DLAR, DLSR removed (replaced by RESERVED0[ 2] )
471+ - defines for DIB_DLAR_ * and DIB_DLSR_ * removed
0 commit comments