Skip to content

Commit b1b7f1c

Browse files
committed
MPAE-15256: More README edits. Added Free/Pro configuration
1 parent 10960fd commit b1b7f1c

File tree

3 files changed

+248
-9
lines changed

3 files changed

+248
-9
lines changed

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ This example explains how to read and write both a single byte and an array of m
1818
- MPLAB X IDE [6.0.5 or newer](https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide?utm_source=GitHub&utm_medium=TextLink&utm_campaign=MCU8_MMTCha_pic16f18076&utm_content=pic16f18076-eeprom-demo-mplab-mcc)
1919
- MPLAB XC8 [2.40.0 or newer](https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers?utm_source=GitHub&utm_medium=TextLink&utm_campaign=MCU8_MMTCha_pic16f18076&utm_content=pic16f18076-eeprom-demo-mplab-mcc)
2020
- MPLAB Code Configurator (MCC) [5.2.2 or newer](https://www.microchip.com/en-us/tools-resources/configure/mplab-code-configurator?utm_source=GitHub&utm_medium=TextLink&utm_campaign=MCU8_MMTCha_pic16f18076&utm_content=pic16f18076-eeprom-demo-mplab-mcc)
21-
- MPLAB Code Configurator (MCC) [Device Libraries](https://www.microchip.com/en-us/tools-resources/configure/mplab-code-configurator?utm_source=GitHub&utm_medium=TextLink&utm_campaign=MCU8_MMTCha_pic16f18076&utm_content=pic16f18076-eeprom-demo-mplab-mcc) PIC10/PIC12/PIC16/PIC18 MCUs
2221
- Microchip PIC16F1xxxx_DFP Series Device Support [(1.15.191) or newer](https://packs.download.microchip.com/)
2322

2423
## Hardware Used
@@ -34,17 +33,17 @@ This example explains how to read and write both a single byte and an array of m
3433
The PIC16F18076 Curiosity Nano development board is connected to the Curiosity Nano base board with the Mikroe EEPROM 7 Click board placed in mikroBUS™ 1.
3534
### MPLAB Code Configurator Setup
3635

37-
### Configuration Bits
36+
#### Configuration Bits
3837
![Configuration Bits](images/config_bits.png)
3938

4039
Set "External Oscillator Selection bits" to "Oscillator Not Enabled" and "Reset Oscillator Selection bits" to "HFINTOSC (32 MHz)".
4140

42-
### Clock Control
41+
#### Clock Control
4342
![Clock Control](images/clock_control.png)
4443

4544
Set the "Current Oscillator Source Select" to "HFINTOSC_32MHz" and the "HF Internal Clock" to "32_MHz".
4645

47-
### Pins
46+
#### Pins
4847
Configure pins to the table below:
4948

5049
Module | Function | Pin
@@ -64,12 +63,12 @@ In the **Pins** tab, rename pins RB3, RD3, and RD7 to "CS1", "HLD", and "WP" res
6463

6564
**IMPORTANT NOTE:** Disable the “Slew Rate” for SPI pins: SCK1, SDI1, SDO1 (RB2, RB1, RB0 respectively). Leaving the Slew Rate limit active on the MSSP SPI pins can cause issues with higher MSSP clock frequencies.
6665

67-
### SPI MSSP1
66+
#### SPI MSSP1
6867
![MSSP SPI](images/mssp_spi.png)
6968

7069
Configure the MSSP1 SPI to "Host Mode" and set "SPI Mode" to "SPI Mode 0", with the input data sampled in the middle. Set the "Clock Source Selection" to one of the "FOSC" settings. This example uses "FOSC/4", but "FOSC/16" and "FOSC/64" will work too.
7170

72-
### UART2
71+
#### UART2
7372
![UART](images/uart.png)
7473

7574
The user may set whatever baud rate they choose. A baud rate of 115200 is used for this example.

pic16f18076-external-memory.X/nbproject/configurations.xml

Lines changed: 238 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@
6868
</logicalFolder>
6969
<projectmakefile>Makefile</projectmakefile>
7070
<confs>
71-
<conf name="default" type="2">
71+
<conf name="free" type="2">
7272
<toolsSet>
7373
<developmentServer>localhost</developmentServer>
7474
<targetDevice>PIC16F18076</targetDevice>
7575
<targetHeader></targetHeader>
7676
<targetPluginBoard></targetPluginBoard>
77-
<platformTool>nEdbgTool</platformTool>
77+
<platformTool>noID</platformTool>
7878
<languageToolchain>XC8</languageToolchain>
7979
<languageToolchainVersion>2.40</languageToolchainVersion>
8080
<platform>3</platform>
@@ -217,9 +217,245 @@
217217
<property key="wpo-lto" value="false"/>
218218
</XC8-config-global>
219219
<nEdbgTool>
220+
<property key="AutoSelectMemRanges" value="auto"/>
221+
<property key="Freeze Peripherals" value="true"/>
222+
<property key="communication.activationmode" value="nohv"/>
223+
<property key="communication.interface"
224+
value="${communication.interface.default}"/>
225+
<property key="communication.speed" value="${communication.speed.default}"/>
226+
<property key="debugoptions.debug-startup" value="Use system settings"/>
227+
<property key="debugoptions.reset-behaviour" value="Use system settings"/>
228+
<property key="debugoptions.useswbreakpoints" value="false"/>
229+
<property key="firmware.path"
230+
value="Press to browse for a specific firmware version"/>
231+
<property key="firmware.toolpack"
232+
value="Press to select which tool pack to use"/>
233+
<property key="firmware.update.action" value="firmware.update.use.latest"/>
234+
<property key="freeze.timers" value="false"/>
235+
<property key="memories.aux" value="false"/>
236+
<property key="memories.bootflash" value="true"/>
237+
<property key="memories.configurationmemory" value="true"/>
238+
<property key="memories.configurationmemory2" value="true"/>
239+
<property key="memories.dataflash" value="true"/>
240+
<property key="memories.eeprom" value="true"/>
241+
<property key="memories.exclude.configurationmemory" value="true"/>
242+
<property key="memories.flashdata" value="true"/>
243+
<property key="memories.id" value="true"/>
244+
<property key="memories.instruction.ram.ranges"
245+
value="${memories.instruction.ram.ranges}"/>
246+
<property key="memories.programmemory" value="true"/>
247+
<property key="memories.programmemory.ranges" value="0-3fff"/>
248+
<property key="poweroptions.powerenable" value="false"/>
249+
<property key="programoptions.eraseb4program" value="true"/>
250+
<property key="programoptions.preservedataflash" value="false"/>
251+
<property key="programoptions.preservedataflash.ranges"
252+
value="${memories.dataflash.default}"/>
253+
<property key="programoptions.preserveeeprom" value="false"/>
254+
<property key="programoptions.preserveeeprom.ranges" value="f000-f0ff"/>
255+
<property key="programoptions.preserveprogram.ranges" value=""/>
256+
<property key="programoptions.preserveprogramrange" value="false"/>
257+
<property key="programoptions.preserveuserid" value="false"/>
258+
<property key="programoptions.programuserotp" value="false"/>
259+
<property key="toolpack.updateoptions"
260+
value="toolpack.updateoptions.uselatestoolpack"/>
261+
<property key="toolpack.updateoptions.packversion"
262+
value="Press to select which tool pack to use"/>
263+
<property key="voltagevalue" value=""/>
264+
</nEdbgTool>
265+
</conf>
266+
<conf name="pro" type="2">
267+
<toolsSet>
268+
<developmentServer>localhost</developmentServer>
269+
<targetDevice>PIC16F18076</targetDevice>
270+
<targetHeader></targetHeader>
271+
<targetPluginBoard></targetPluginBoard>
272+
<platformTool>noID</platformTool>
273+
<languageToolchain>XC8</languageToolchain>
274+
<languageToolchainVersion>2.40</languageToolchainVersion>
275+
<platform>3</platform>
276+
</toolsSet>
277+
<packs>
278+
<pack name="PIC16F1xxxx_DFP" vendor="Microchip" version="1.15.191"/>
279+
</packs>
280+
<ScriptingSettings>
281+
</ScriptingSettings>
282+
<compileType>
283+
<linkerTool>
284+
<linkerLibItems>
285+
</linkerLibItems>
286+
</linkerTool>
287+
<archiverTool>
288+
</archiverTool>
289+
<loading>
290+
<useAlternateLoadableFile>false</useAlternateLoadableFile>
291+
<parseOnProdLoad>false</parseOnProdLoad>
292+
<alternateLoadableFile></alternateLoadableFile>
293+
</loading>
294+
<subordinates>
295+
</subordinates>
296+
</compileType>
297+
<makeCustomizationType>
298+
<makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
299+
<makeUseCleanTarget>false</makeUseCleanTarget>
300+
<makeCustomizationPreStep></makeCustomizationPreStep>
301+
<makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
302+
<makeCustomizationPostStep></makeCustomizationPostStep>
303+
<makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
304+
<makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>
305+
<makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>
306+
</makeCustomizationType>
307+
<HI-TECH-COMP>
308+
<property key="additional-warnings" value="true"/>
309+
<property key="asmlist" value="true"/>
310+
<property key="call-prologues" value="false"/>
311+
<property key="default-bitfield-type" value="true"/>
312+
<property key="default-char-type" value="true"/>
313+
<property key="define-macros" value=""/>
314+
<property key="disable-optimizations" value="false"/>
315+
<property key="extra-include-directories" value=""/>
316+
<property key="favor-optimization-for" value="-speed,+space"/>
317+
<property key="garbage-collect-data" value="true"/>
318+
<property key="garbage-collect-functions" value="true"/>
319+
<property key="identifier-length" value="255"/>
320+
<property key="local-generation" value="false"/>
321+
<property key="operation-mode" value="pro"/>
322+
<property key="opt-xc8-compiler-strict_ansi" value="false"/>
323+
<property key="optimization-assembler" value="true"/>
324+
<property key="optimization-assembler-files" value="false"/>
325+
<property key="optimization-debug" value="false"/>
326+
<property key="optimization-invariant-enable" value="false"/>
327+
<property key="optimization-invariant-value" value="16"/>
328+
<property key="optimization-level" value="-Os"/>
329+
<property key="optimization-speed" value="false"/>
330+
<property key="optimization-stable-enable" value="false"/>
331+
<property key="preprocess-assembler" value="true"/>
332+
<property key="short-enums" value="true"/>
333+
<property key="tentative-definitions" value="-fno-common"/>
334+
<property key="undefine-macros" value=""/>
335+
<property key="use-cci" value="false"/>
336+
<property key="use-iar" value="false"/>
337+
<property key="verbose" value="false"/>
338+
<property key="warning-level" value="-3"/>
339+
<property key="what-to-do" value="ignore"/>
340+
</HI-TECH-COMP>
341+
<HI-TECH-LINK>
342+
<property key="additional-options-checksum" value=""/>
343+
<property key="additional-options-code-offset" value=""/>
344+
<property key="additional-options-command-line" value=""/>
345+
<property key="additional-options-errata" value=""/>
346+
<property key="additional-options-extend-address" value="false"/>
347+
<property key="additional-options-trace-type" value=""/>
348+
<property key="additional-options-use-response-files" value="false"/>
349+
<property key="backup-reset-condition-flags" value="false"/>
350+
<property key="calibrate-oscillator" value="false"/>
351+
<property key="calibrate-oscillator-value" value="0x3400"/>
352+
<property key="clear-bss" value="true"/>
353+
<property key="code-model-external" value="wordwrite"/>
354+
<property key="code-model-rom" value=""/>
355+
<property key="create-html-files" value="false"/>
356+
<property key="data-model-ram" value=""/>
357+
<property key="data-model-size-of-double" value="32"/>
358+
<property key="data-model-size-of-double-gcc" value="no-short-double"/>
359+
<property key="data-model-size-of-float" value="32"/>
360+
<property key="data-model-size-of-float-gcc" value="no-short-float"/>
361+
<property key="display-class-usage" value="false"/>
362+
<property key="display-hex-usage" value="false"/>
363+
<property key="display-overall-usage" value="true"/>
364+
<property key="display-psect-usage" value="false"/>
365+
<property key="extra-lib-directories" value=""/>
366+
<property key="fill-flash-options-addr" value=""/>
367+
<property key="fill-flash-options-const" value=""/>
368+
<property key="fill-flash-options-how" value="0"/>
369+
<property key="fill-flash-options-inc-const" value="1"/>
370+
<property key="fill-flash-options-increment" value=""/>
371+
<property key="fill-flash-options-seq" value=""/>
372+
<property key="fill-flash-options-what" value="0"/>
373+
<property key="format-hex-file-for-download" value="false"/>
374+
<property key="initialize-data" value="true"/>
375+
<property key="input-libraries" value="libm"/>
376+
<property key="keep-generated-startup.as" value="false"/>
377+
<property key="link-in-c-library" value="true"/>
378+
<property key="link-in-c-library-gcc" value=""/>
379+
<property key="link-in-peripheral-library" value="false"/>
380+
<property key="managed-stack" value="false"/>
381+
<property key="opt-xc8-linker-file" value="false"/>
382+
<property key="opt-xc8-linker-link_startup" value="false"/>
383+
<property key="opt-xc8-linker-serial" value=""/>
384+
<property key="program-the-device-with-default-config-words" value="true"/>
385+
<property key="remove-unused-sections" value="true"/>
386+
</HI-TECH-LINK>
387+
<Tool>
220388
<property key="memories.programmemory.ranges" value="0-3fff"/>
221389
<property key="programmerToGoFilePath"
222390
value="C:/Sourcetree Repositories/pic16f18076-rw-external-memory-mplab-mcc/pic16f18076-external-memory.X/debug/default/pic16f18076-external-memory_ptg"/>
391+
</Tool>
392+
<XC8-CO>
393+
<property key="coverage-enable" value=""/>
394+
<property key="stack-guidance" value="false"/>
395+
</XC8-CO>
396+
<XC8-config-global>
397+
<property key="advanced-elf" value="true"/>
398+
<property key="constdata-progmem" value="true"/>
399+
<property key="gcc-opt-driver-new" value="true"/>
400+
<property key="gcc-opt-std" value="-std=c99"/>
401+
<property key="gcc-output-file-format" value="dwarf-3"/>
402+
<property key="mapped-progmem" value="false"/>
403+
<property key="omit-pack-options" value="false"/>
404+
<property key="omit-pack-options-new" value="1"/>
405+
<property key="output-file-format" value="-mcof,+elf"/>
406+
<property key="smart-io-format" value=""/>
407+
<property key="stack-size-high" value="auto"/>
408+
<property key="stack-size-low" value="auto"/>
409+
<property key="stack-size-main" value="auto"/>
410+
<property key="stack-type" value="compiled"/>
411+
<property key="user-pack-device-support" value=""/>
412+
<property key="wpo-lto" value="false"/>
413+
</XC8-config-global>
414+
<nEdbgTool>
415+
<property key="AutoSelectMemRanges" value="auto"/>
416+
<property key="Freeze Peripherals" value="true"/>
417+
<property key="communication.activationmode" value="nohv"/>
418+
<property key="communication.interface"
419+
value="${communication.interface.default}"/>
420+
<property key="communication.speed" value="${communication.speed.default}"/>
421+
<property key="debugoptions.debug-startup" value="Use system settings"/>
422+
<property key="debugoptions.reset-behaviour" value="Use system settings"/>
423+
<property key="debugoptions.useswbreakpoints" value="false"/>
424+
<property key="firmware.path"
425+
value="Press to browse for a specific firmware version"/>
426+
<property key="firmware.toolpack"
427+
value="Press to select which tool pack to use"/>
428+
<property key="firmware.update.action" value="firmware.update.use.latest"/>
429+
<property key="freeze.timers" value="false"/>
430+
<property key="memories.aux" value="false"/>
431+
<property key="memories.bootflash" value="true"/>
432+
<property key="memories.configurationmemory" value="true"/>
433+
<property key="memories.configurationmemory2" value="true"/>
434+
<property key="memories.dataflash" value="true"/>
435+
<property key="memories.eeprom" value="true"/>
436+
<property key="memories.exclude.configurationmemory" value="true"/>
437+
<property key="memories.flashdata" value="true"/>
438+
<property key="memories.id" value="true"/>
439+
<property key="memories.instruction.ram.ranges"
440+
value="${memories.instruction.ram.ranges}"/>
441+
<property key="memories.programmemory" value="true"/>
442+
<property key="memories.programmemory.ranges" value="0-3fff"/>
443+
<property key="poweroptions.powerenable" value="false"/>
444+
<property key="programoptions.eraseb4program" value="true"/>
445+
<property key="programoptions.preservedataflash" value="false"/>
446+
<property key="programoptions.preservedataflash.ranges"
447+
value="${memories.dataflash.default}"/>
448+
<property key="programoptions.preserveeeprom" value="false"/>
449+
<property key="programoptions.preserveeeprom.ranges" value="f000-f0ff"/>
450+
<property key="programoptions.preserveprogram.ranges" value=""/>
451+
<property key="programoptions.preserveprogramrange" value="false"/>
452+
<property key="programoptions.preserveuserid" value="false"/>
453+
<property key="programoptions.programuserotp" value="false"/>
454+
<property key="toolpack.updateoptions"
455+
value="toolpack.updateoptions.uselatestoolpack"/>
456+
<property key="toolpack.updateoptions.packversion"
457+
value="Press to select which tool pack to use"/>
458+
<property key="voltagevalue" value=""/>
223459
</nEdbgTool>
224460
</conf>
225461
</confs>

pic16f18076-external-memory.X/nbproject/project.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@
1111
<sourceRootList/>
1212
<confList>
1313
<confElem>
14-
<name>default</name>
14+
<name>free</name>
15+
<type>2</type>
16+
</confElem>
17+
<confElem>
18+
<name>pro</name>
1519
<type>2</type>
1620
</confElem>
1721
</confList>

0 commit comments

Comments
 (0)