Skip to content

Commit 013ce4d

Browse files
committed
Pull request #1: Feature/MCU16GITHUB-507 DEE Demo
Merge in MCU16CE/dspic33ck-curiosity-data-eeprom-emulation-demo from ~I15232/dspic33c-data-eeprom-emulation-demo:feature/MCU16GITHUB-507-create-a-demo-for-dee-and-deploy-it to develop * commit 'cc7d8d0d5e721060e2796be54dd2e008a6c98437': added link https://www.microchip.com/en-us/software-library/16-bit_data_eeprom_emulation to readme Addressed review comments Updated README.md Updated README.md updated code updated code Updated metadata and readme Added MPLABX Project
2 parents cb0741d + cc7d8d0 commit 013ce4d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+6490
-37
lines changed

.citd/Jenkinsfilek8s

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ pipeline {
2727
GitHub Deploy Stage Information
2828
*/
2929
//This is the BitBucket source repo URL to be deployed
30-
BITBUCKET_SOURCE_URL = 'https://bitbucket.microchip.com/scm/mcu16ce/dspic33c-data-eeprom-emulation-demo.git'
30+
BITBUCKET_SOURCE_URL = 'https://bitbucket.microchip.com/scm/mcu16ce/dspic33ck-curiosity-data-eeprom-emulation-demo.git'
3131
//Files or folders to be excluded from deployment, if multiple files or folders use comma separator
3232
DEPLOY_EXCLUDE_FOLDER_FILE_LIST = 'mchp_private,.mchp_private,sandbox,.sandbox'
3333
//Branch(s) to be deployed, if multiple branches use comma separator. DEPLOY_BRANCH_LIST is the target branch of the PR.

.main-meta/main.json

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,47 @@
11
{
2-
"metaDataVersion":"1.0.0",
3-
"category":"com.microchip.ide.project",
4-
"content":{
5-
"metaDataVersion":"1.3.0",
6-
"name":"com.microchip.mplabx.project.dspic33c-data-eeprom-emulation-demo",
7-
"version":"x.x.x",
8-
"displayName":"xxxxxxxxxxxxxxx",
9-
"projectName":"dspic33c-data-eeprom-emulation-demo",
10-
"shortDescription":"xxxxxxxxxxxxxxx",
11-
"ide":{
12-
"name":"MPLABX",
13-
"semverRange":">=5.40.0"
2+
"metaDataVersion": "1.0.0",
3+
"category": "com.microchip.ide.project",
4+
"content": {
5+
"metaDataVersion": "1.3.0",
6+
"name": "com.microchip.mplabx.project.dspic33ck-curiosity-data-eeprom-emulation-demo",
7+
"version": "1.0.0",
8+
"displayName": "dsPIC33CK Curiosity Data EEPROM Emulation Demo",
9+
"projectName": "dspic33ck-curiosity-data-eeprom-emulation-demo",
10+
"shortDescription": "dsPIC33CK Curiosity Data EEPROM Emulation Demo",
11+
"ide": {
12+
"name": "MPLABX",
13+
"semverRange": ">=6.0.0"
1414
},
15-
"compiler":{
16-
"name":"XC16",
17-
"semverRange":"^1.50.0"
15+
"compiler": {
16+
"name": "XC16",
17+
"semverRange": "^2.0.0"
1818
},
19-
"dfp":{
20-
"name":"xxxxxxxxxxxxxxx",
21-
"semverRange":">=x.x.x"
19+
"dfp": {
20+
"name": "dsPIC33CK-MP_DFP",
21+
"semverRange": ">=1.6.176"
2222
},
23-
"configurator": {
23+
"configurator": {
2424
"name": "MCC",
25-
"semverRange": ">=4.0.1"
25+
"semverRange": ">=5.1.1"
2626
},
27-
"device":{
28-
"metaDataVersion":"1.0.0",
29-
"category":"com.microchip.portal.contentRef",
30-
"content":{
31-
"metaDataVersion":"1.0.0",
32-
"category":"com.microchip.device",
33-
"name":"xxxxxxxxxxxxxxx",
34-
"versionRange":"*"
27+
"device": {
28+
"metaDataVersion": "1.0.0",
29+
"category": "com.microchip.portal.contentRef",
30+
"content": {
31+
"metaDataVersion": "1.0.0",
32+
"category": "com.microchip.device",
33+
"name": "DSPIC33CK256MP508",
34+
"versionRange": "*"
3535
}
3636
},
37-
"peripherals":[
38-
"GPIO",
37+
"peripherals": [
38+
"UART",
39+
"FLASH"
3940
],
40-
"keywords":[
41-
"GPIO",
42-
"UART"
41+
"keywords": [
42+
"EEPROM",
43+
"DEE",
44+
"Data EEPROM Emulation"
4345
]
4446
}
4547
}

README.md

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,58 @@
11
![image](images/microchip.jpg)
22

3-
## DSPIC33C DATA EEPROM EMULATION DEMO
3+
## dsPIC33CK Curiosity Data EEPROM Emulation Demo
44

5-
Board Image if any.
65

76
## Summary
87

8+
Microchip Technology Inc., has expanded its product portfolio to include a wide variety of cost-effective PIC® Microcontrollers (MCUs) without an internal data EEPROM.
9+
10+
Many applications store nonvolatile information in the Flash program memory using table read and write operations. Applications that need to frequently update these data may have greater endurance requirements
11+
than the specified Flash endurance for the MCU/Digital Signal Controller (DSC) devices.
12+
13+
The alternate solution of using an external, serial EEPROM device may not be appropriate for cost-sensitive or pin-constrained applications.
14+
15+
This 16-Bit Data EEPROM Emulation library presents a third alternative that addresses these issues. This library features an interface similar to an internal data EEPROM, which
16+
uses available program memory and can improve endurance by a factor as high as 500.
17+
18+
This code example demonstrate the usage of 16-Bit Data EEPROM Emulation Library.
919

1020
## Related Documentation
1121

22+
- dsPIC33CK256MP508 microcontroller (https://www.microchip.com/dsPIC33CK256MP508)
23+
- Emulating Data EEPROM for PIC18 and PIC24 MCUs and dsPIC33 DSCs (https://www.microchip.com/en-us/application-notes/an1095)
24+
1225

1326
## Software Used
1427

28+
- MPLAB® X IDE v6.00 or newer (https://www.microchip.com/mplabx)
29+
- MPLAB® XC16 v2.00 or newer (https://www.microchip.com/xc)
30+
- Any of the serial terminal application. Example: Tera Term (https://ttssh2.osdn.jp/index.html.en)
31+
- 16-bit Data EEPROM Emulation Library (DEE) for PIC24 MCUs and dsPIC33 DSCs (https://www.microchip.com/en-us/software-library/16-bit_data_eeprom_emulation)
32+
1533

1634
## Hardware Used
1735

36+
- dsPIC33CK Curiosity Development Board (https://www.microchip.com/DM330030)
37+
- Micro USB Cable
1838

19-
## Setup
2039

2140

2241
## Operation
2342

43+
This demo runs the Data EEPROM Emulation , if emulation is succesful then prints a message saying "Data EEPROM Emulation successful. Value at address 0 is 1024 and address1 is 1025"
44+
If emulation fails it prints a message saying "Data EEPROM Emulation failed".
45+
46+
## Accessing 16-Bit Data EEPROM Emulation Library
47+
48+
*Note:* More MCC Melody devices support will be added in future releases.
49+
50+
| Device Family | Procedure |
51+
| ----------- | ----------- |
52+
| "CK" Family of devices| 1. Create project <br> 2. Launch MCC <br> 3. Select "MCC Melody" <br> <img src="images/melodySelection.jpg" width="600"> <br> 4. "16-Bit Data EEPROM Emulation Library "will be available under "Libraries" <br> <img src="images/DEEMelody.jpg" width="600"> |
53+
| All other devices except "CK" device family | 1. Make sure https://ww1.microchip.com/downloads/en/DeviceDoc/script-1.29.3.mc3lib is installed <br> 2. Create project <br> 3. Launch MCC <br> 4. Select "Classic MCC" <br> <img src="images/classicSelection.jpg" width="600"><br> 5. Switch core version to "5.2.1" <br> <img src="images/coreSwitch.jpg" width="600"> <br> 6. "16-Bit Data EEPROM Emulation Library" will be available under "Libraries" <br> <img src="images/DEEClassic.jpg" width="600"> |
54+
55+
56+
2457

2558

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
#
2+
# There exist several targets which are by default empty and which can be
3+
# used for execution of your targets. These targets are usually executed
4+
# before and after some main targets. They are:
5+
#
6+
# .build-pre: called before 'build' target
7+
# .build-post: called after 'build' target
8+
# .clean-pre: called before 'clean' target
9+
# .clean-post: called after 'clean' target
10+
# .clobber-pre: called before 'clobber' target
11+
# .clobber-post: called after 'clobber' target
12+
# .all-pre: called before 'all' target
13+
# .all-post: called after 'all' target
14+
# .help-pre: called before 'help' target
15+
# .help-post: called after 'help' target
16+
#
17+
# Targets beginning with '.' are not intended to be called on their own.
18+
#
19+
# Main targets can be executed directly, and they are:
20+
#
21+
# build build a specific configuration
22+
# clean remove built files from a configuration
23+
# clobber remove all built files
24+
# all build all configurations
25+
# help print help mesage
26+
#
27+
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
28+
# .help-impl are implemented in nbproject/makefile-impl.mk.
29+
#
30+
# Available make variables:
31+
#
32+
# CND_BASEDIR base directory for relative paths
33+
# CND_DISTDIR default top distribution directory (build artifacts)
34+
# CND_BUILDDIR default top build directory (object files, ...)
35+
# CONF name of current configuration
36+
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
37+
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
38+
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
39+
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
40+
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
41+
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
42+
#
43+
# NOCDDL
44+
45+
46+
# Environment
47+
MKDIR=mkdir
48+
CP=cp
49+
CCADMIN=CCadmin
50+
RANLIB=ranlib
51+
52+
53+
# build
54+
build: .build-post
55+
56+
.build-pre:
57+
# Add your pre 'build' code here...
58+
59+
.build-post: .build-impl
60+
# Add your post 'build' code here...
61+
62+
63+
# clean
64+
clean: .clean-post
65+
66+
.clean-pre:
67+
# Add your pre 'clean' code here...
68+
# WARNING: the IDE does not call this target since it takes a long time to
69+
# simply run make. Instead, the IDE removes the configuration directories
70+
# under build and dist directly without calling make.
71+
# This target is left here so people can do a clean when running a clean
72+
# outside the IDE.
73+
74+
.clean-post: .clean-impl
75+
# Add your post 'clean' code here...
76+
77+
78+
# clobber
79+
clobber: .clobber-post
80+
81+
.clobber-pre:
82+
# Add your pre 'clobber' code here...
83+
84+
.clobber-post: .clobber-impl
85+
# Add your post 'clobber' code here...
86+
87+
88+
# all
89+
all: .all-post
90+
91+
.all-pre:
92+
# Add your pre 'all' code here...
93+
94+
.all-post: .all-impl
95+
# Add your post 'all' code here...
96+
97+
98+
# help
99+
help: .help-post
100+
101+
.help-pre:
102+
# Add your pre 'help' code here...
103+
104+
.help-post: .help-impl
105+
# Add your post 'help' code here...
106+
107+
108+
109+
# include project implementation makefile
110+
include nbproject/Makefile-impl.mk
111+
112+
# include project make variables
113+
include nbproject/Makefile-variables.mk

0 commit comments

Comments
 (0)