Difference between revisions of "Microchip PIC32CM Lx"

From SEGGER Wiki
Jump to: navigation, search
(Device Specific Handling)
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  +
The '''Microchip PIC32CM Lx''' are Robust Security, Ultra-Low Power and Enhanced Touch Microcontrollers Based on Arm® Cortex®-M23 Core.
.
 
The '''Microchip PIC32MC Lx''' are Robust Security, Ultra-Low Power and Enhanced Touch Microcontrollers Based on Arm® Cortex®-M0+ Core.
 
 
__TOC__
 
__TOC__
   
Line 9: Line 8:
 
! Flash Bank || Base address !! Size || J-Link Support
 
! Flash Bank || Base address !! Size || J-Link Support
 
|-
 
|-
| [BANK_NAME] || [BANK_BASE_ADDRESS] || Up to [FLASH_SIZE] KB || style="text-align:center;"| {{YES}} / {{NO}}
+
| Internal Flash || 0x00000000 || 256/512 KB || style="text-align:center;"| {{YES}}
|}
 
 
====ECC Flash [OPTIONAL]====
 
*Describe ECC Flash restriction here.
 
 
===QSPI Flash===
 
QSPI flash programming requires special handling compared to internal flash. For more information about this, please see the [[QSPI Flash Programming Support | QSPI Flash Programming Support article]].<br>
 
J-Link supports multiple pin configurations for [DEVICE]. The default loader is marked in '''bold'''.
 
{| class="seggertable"
 
 
|-
 
|-
  +
| Data Flash || 0x00400000 || 8/16 KB || style="text-align:center;"| {{YES}}
! Device !! Base address !! Maximum size !! Supported pin configuration
 
 
|-
 
|-
  +
| User Row || 0x00804000 || 36 B || style="text-align:center;"| {{YES}}
| [DEVICE]|| [BANK_BASE_ADDRESS] || [MAX_SPI_FLASH_SIZE] MB ||
 
  +
|-
*'''[LOADER_NAME]'''
 
  +
| BOCOR || 0x0080C000|| 8/32/48 B || style="text-align:center;"| {{YES}}
*[LOADER_NAME]
 
*[LOADER_NAME]
 
 
|}
 
|}
 
==ECC RAM [OPTIONAL]==
 
*Describe ECC RAM restriction here.
 
 
==Vector Table Remap [OPTIONAL]==
 
*Describe Vector Table Remap here..
 
   
 
==Watchdog Handling==
 
==Watchdog Handling==
  +
*If the watchdog is enabled, it is feed.
*The device does not have a watchdog.
 
  +
*If watchdog is in window mode, no feeding is done, because timer registers are no accessible.
*The device has a watchdog [WATCHDOGNAME].
 
*The watchdog is fed during flash programming.
 
*If the watchdog is enabled, it is turned off during flash programming and turned back on afterwards.
 
   
  +
==Device Specific Handling==
   
  +
===Connect===
==Multi-Core Support [OPTIONAL]==
 
  +
*The devices access level is checked first, we need 0x02 for full access.<br>
Before proceeding with this article, please check out the generic article regarding Multi-Core debugging [[Multi-Core_Debugging | here]].<br>
 
  +
*If devices access level is not 0x02, user is asked for protection remove by chip erase.<br>
The [DeviceFamily]family comes with a variety of multi-core options.<br>
 
  +
*If CPU can be accessed, hot plugging(attach) is tried, otherwise cold plugging is executed, which puts CPU after BOOT Rom in CPU Park mode.
Some devices from this family feature a secondary core which is disabled after reset / by default.<br>
 
Some of the are available with enabled ''lockstep'' mode, only. <br>
 
In below, the debug related multi-core behavior of the J-Link is described for each core:
 
===Main core===
 
====Init/Setup====
 
*Initializes the ECC RAM, see [[XXX | XXX]]
 
*Enables debugging
 
====Reset====
 
*Device specific reset is performed, see [[XXX | XXX]]
 
====Attach====
 
*Attach is not supported because the J-Link initializes certain RAM regions by default
 
===Secondary core(s)===
 
====Init/Setup====
 
*If the main core session has not been started / debugging is not enabled yet, the secondary core executes the enable debug sequence.
 
*If the secondary core is not enabled yet, it will be enabled / release from reset
 
====Reset====
 
No reset is performed.
 
====Attach====
 
*Attach is supported / desired
 
   
==Device Specific Handling==
 
 
===Reset===
 
===Reset===
*The devices uses normal Cortex-M reset, no special handling necessary, like described [[J-Link_Reset_Strategies#Type_0:_Normal | here]].
+
*The devices uses normal Cortex-M reset, but special communication with BOOT Rom is done afterwards to put CPU in CPU park mode.
*The devices uses Cortex-M Core reset, no special handling necessary, like described [[J-Link_Reset_Strategies#Type_1:_Core | here]].
 
*The devices uses Cortex-M Rest Pin, no special handling necessary, like described [[J-Link_Reset_Strategies#Type_2:_ResetPin | here]].
 
*The device uses custom reset:.....
 
 
==Limitations==
 
===Dual Core Support===
 
Some XXX devices feature a second core. Right now, the J-Link software does support the main core, only. Support for the second core is planned for future versions.
 
   
 
===Attach===
 
===Attach===
Attach is not supported by default because the J-Link initializes certain RAM regions by default.
+
Attach is supported if device is not secured.<br>
  +
This is called hot plugging by Microchip.
   
 
==Evaluation Boards==
 
==Evaluation Boards==
  +
*Microchip PIC32CM LS60 Curiosity Pro evaluation board: [[Microchip CuriosityPro PIC32CMLS60]]
*[SiliconVendor] [EvalBoardName] evaluation board: http://techwiki.segger.local/WikiTemplateEvalBoard
 
  +
*Microchip PIC32CM LS00 Curiosity Pro evaluation board: [[Microchip CuriosityPro PIC32CMLS00]]
  +
*Microchip PIC32CM LE00 Curiosity Pro evaluation board: [[Microchip CuriosityPro PIC32CMLE00]]
   
 
==Example Application==
 
==Example Application==
*[SiliconVendor] [EvalBoardName] evaluation board: http://techwiki.segger.local/WikiTemplateEvalBoard#Example_Project
+
*Microchip PIC32CM LS60 Curiosity Pro evaluation board: [[Microchip CuriosityPro PIC32CMLS60#Example_Project]
  +
*Microchip PIC32CM LS00 Curiosity Pro evaluation board: [[Microchip CuriosityPro PIC32CMLS00#Example_Project]
  +
*Microchip PIC32CM LE00 Curiosity Pro evaluation board: [[Microchip CuriosityPro PIC32CMLE00#Example_Project]

Revision as of 11:22, 10 October 2023

The Microchip PIC32CM Lx are Robust Security, Ultra-Low Power and Enhanced Touch Microcontrollers Based on Arm® Cortex®-M23 Core.

Flash Banks

Internal Flash

Flash Bank Base address Size J-Link Support
Internal Flash 0x00000000 256/512 KB YES.png
Data Flash 0x00400000 8/16 KB YES.png
User Row 0x00804000 36 B YES.png
BOCOR 0x0080C000 8/32/48 B YES.png

Watchdog Handling

  • If the watchdog is enabled, it is feed.
  • If watchdog is in window mode, no feeding is done, because timer registers are no accessible.

Device Specific Handling

Connect

  • The devices access level is checked first, we need 0x02 for full access.
  • If devices access level is not 0x02, user is asked for protection remove by chip erase.
  • If CPU can be accessed, hot plugging(attach) is tried, otherwise cold plugging is executed, which puts CPU after BOOT Rom in CPU Park mode.

Reset

  • The devices uses normal Cortex-M reset, but special communication with BOOT Rom is done afterwards to put CPU in CPU park mode.

Attach

Attach is supported if device is not secured.
This is called hot plugging by Microchip.

Evaluation Boards

Example Application

  • Microchip PIC32CM LS60 Curiosity Pro evaluation board: [[Microchip CuriosityPro PIC32CMLS60#Example_Project]
  • Microchip PIC32CM LS00 Curiosity Pro evaluation board: [[Microchip CuriosityPro PIC32CMLS00#Example_Project]
  • Microchip PIC32CM LE00 Curiosity Pro evaluation board: [[Microchip CuriosityPro PIC32CMLE00#Example_Project]