@@ -35,19 +35,19 @@ This example will demonstrate:
3535
3636- PIC16F18446 Curiosity Nano [ (DM164144)] ( https://www.microchip.com/en-us/development-tool/DM164144 )
3737
38- [ ![ PIC16F18446_CNano] ( images\ 190702-MCU8-PHOTO-DM164144-Front-Transparent_crop.png )] ( images\ 190702-MCU8-PHOTO-DM164144-Front-Transparent_crop.png )
38+ [ ![ PIC16F18446_CNano] ( images/ 190702-MCU8-PHOTO-DM164144-Front-Transparent_crop.png )] ( images/ 190702-MCU8-PHOTO-DM164144-Front-Transparent_crop.png )
3939
4040## Setup
4141The following project setup is the same for all the example project pairs. If something goes wrong while running these examples, confirm that the settings in the projects are consistent with the options seen in this section.
4242
4343### Bootloader Client Setup
44- [ ![ mdfu-builder] ( images\ ProjectConfigurationOverview.PNG )] ( images\ ProjectConfigurationOverview.PNG )
44+ [ ![ mdfu-builder] ( images/ ProjectConfigurationOverview.PNG )] ( images/ ProjectConfigurationOverview.PNG )
4545
4646** Configuration Bits**
4747- External Oscillator Selection bits: Oscillator not enabled
4848- Reset Oscillator Selection bits: HFINTOSC (1MHz)
4949
50- [ ![ CFG] ( images\ ConfigBitsSetup.PNG )] ( images\ ConfigBitsSetup.PNG )
50+ [ ![ CFG] ( images/ ConfigBitsSetup.PNG )] ( images/ ConfigBitsSetup.PNG )
5151
5252** Clock Control**
5353- Clock Source: HFINTOSC
@@ -57,13 +57,13 @@ The following project setup is the same for all the example project pairs. If so
5757
5858- Clock Divider: 1
5959
60- [ ![ CLK] ( images\ ClockSetup.PNG )] ( images\ ClockSetup.PNG )
60+ [ ![ CLK] ( images/ ClockSetup.PNG )] ( images/ ClockSetup.PNG )
6161
6262** NVM**
6363- Generate Flash APIs: Enabled
6464- Generate Device ID APIs: Enabled
6565
66- [ ![ NVM] ( images\ NVMSetup.PNG )] ( images\ NVMSetup.PNG )
66+ [ ![ NVM] ( images/ NVMSetup.PNG )] ( images/ NVMSetup.PNG )
6767
6868** UART**
6969- Custom Name: UART1
@@ -77,7 +77,7 @@ The following project setup is the same for all the example project pairs. If so
7777- Redirect Printf to UART: Disabled
7878- Interrupt Driven: Disabled
7979
80- [ ![ UART] ( images\ UARTDriverSetup.PNG )] ( images\ UARTDriverSetup.PNG )
80+ [ ![ UART] ( images/ UARTDriverSetup.PNG )] ( images/ UARTDriverSetup.PNG )
8181
8282** EUSART PLIB**
8383- Actual Baud Rate: 9615.385
@@ -87,13 +87,13 @@ The following project setup is the same for all the example project pairs. If so
8787- Serial Port Enable: Enabled
8888- Transmit Enable: Enabled
8989
90- [ ![ UART_PLIB] ( images\ UARTPLIBSetup.PNG )] ( images\ UARTPLIBSetup.PNG )
90+ [ ![ UART_PLIB] ( images/ UARTPLIBSetup.PNG )] ( images/ UARTPLIBSetup.PNG )
9191
9292** UART Pins**
9393- EUSART TX: RB4
9494- EUSART RX: RB6
9595
96- [ ![ UART_Pins] ( images\ UARTPortsSetup.PNG )] ( images\ UARTPortsSetup.PNG )
96+ [ ![ UART_Pins] ( images/ UARTPortsSetup.PNG )] ( images/ UARTPortsSetup.PNG )
9797
9898** 8-Bit MDFU Client**
9999- Communication Protocol: UART
@@ -105,43 +105,43 @@ The following project setup is the same for all the example project pairs. If so
105105
106106* Example for Checksum Verification*
107107
108- [ ![ MDFU] ( images\ MDFUClientSetup.PNG )] ( images\ MDFUClientSetup.PNG )
108+ [ ![ MDFU] ( images/ MDFUClientSetup.PNG )] ( images/ MDFUClientSetup.PNG )
109109
110110** 8-Bit MDFU Client I/O**
111111- BOOT INDICATE: RA2
112112- BOOT ENTRY: RC2
113113
114- [ ![ IO-Pins] ( images\ IOPortSetup.PNG )] ( images\ IOPortSetup.PNG )
114+ [ ![ IO-Pins] ( images/ IOPortSetup.PNG )] ( images/ IOPortSetup.PNG )
115115- BOOT INDICATE: Start High
116116- BOOT ENTRY: Weak Pullup
117117
118- [ ![ IO-Settings] ( images\ IOPinsSetup.PNG )] ( images\ IOPinsSetup.PNG )
118+ [ ![ IO-Settings] ( images/ IOPinsSetup.PNG )] ( images/ IOPinsSetup.PNG )
119119
120120** 8-Bit MDFU Client Project Properties**
121121- ROM Ranges: This option is configured based on the start address of the application
122122- For example, if the application starts at 0xC00 then this value will reflect as ` 00-7FF,800-BFF `
123123
124- [ ![ IO-Settings] ( images\ ProjectProperties.PNG )] ( images\ ProjectProperties.PNG )
124+ [ ![ IO-Settings] ( images/ ProjectProperties.PNG )] ( images/ ProjectProperties.PNG )
125125
126126---
127127### Application Setup
128- [ ![ app-builder] ( images\ AppConfigurationOverview.PNG )] ( images\ AppConfigurationOverview.PNG )
128+ [ ![ app-builder] ( images/ AppConfigurationOverview.PNG )] ( images/ AppConfigurationOverview.PNG )
129129
130130
131131** Clock And Configuration**
132132- Set the clock and configuration bits to the same values that were set in the MDFU Client
133133
134- [ ![ CLK] ( images\ ClockSetup.PNG )] ( images\ ClockSetup.PNG )
134+ [ ![ CLK] ( images/ ClockSetup.PNG )] ( images/ ClockSetup.PNG )
135135
136- [ ![ CFG] ( images\ ConfigBitsSetup.PNG )] ( images\ ConfigBitsSetup.PNG )
136+ [ ![ CFG] ( images/ ConfigBitsSetup.PNG )] ( images/ ConfigBitsSetup.PNG )
137137
138138** IO Pins**
139139- GPIO Output: RA2
140140
141- [ ![ app_io] ( images\ AppPortSetup.PNG )] ( images\ AppPortSetup.PNG )
141+ [ ![ app_io] ( images/ AppPortSetup.PNG )] ( images/ AppPortSetup.PNG )
142142- Custom Name: LED
143143
144- [ ![ app_io_settings] ( images\ LEDSetup.PNG )] ( images\ LEDSetup.PNG )
144+ [ ![ app_io_settings] ( images/ LEDSetup.PNG )] ( images/ LEDSetup.PNG )
145145
146146** Project Properties**
147147
@@ -150,7 +150,7 @@ Linker Additional Options
150150- Checksum: Dependant on the verification scheme
151151* Check the table below to understand how the Checksum option must be configured in the application projects*
152152
153- [ ![ app_offset] ( images\ AppOffset.PNG )] ( images\ AppOffset.PNG )
153+ [ ![ app_offset] ( images/ AppOffset.PNG )] ( images/ AppOffset.PNG )
154154
155155| Verification Scheme | Checksum Setting |
156156| ---- | ---- |
@@ -167,7 +167,7 @@ Fill Flash Memory
167167- Increment/Decrement: No Incrementing
168168- Memory address range: 0x<APP_START>:0x<FLASH_END> = 0xC00:0x3FFF
169169
170- [ ![ app_fill] ( images\ AppFill.PNG )] ( images\ AppFill.PNG )
170+ [ ![ app_fill] ( images/ AppFill.PNG )] ( images/ AppFill.PNG )
171171
172172## Operation
173173In this section, we will walkthrough how to run the examples in this repository. This example shows how to execute the Checksum verification example and update the device Flash memory with the checksum application image to demonstrate a successful device firmware update (DFU).
@@ -176,44 +176,44 @@ In this section, we will walkthrough how to run the examples in this repository.
176176
1771771 . Open the MDFU Client Project.
178178
179- [ ![ OpenMDFU] ( images\ openBtnMDFU.png )] ( images\ openBtnMDFU.png )
179+ [ ![ OpenMDFU] ( images/ openBtnMDFU.png )] ( images/ openBtnMDFU.png )
180180
181- [ ![ OpenMDFUProject] ( images\ openProjectMDFU.png )] ( images\ openProjectMDFU.png )
181+ [ ![ OpenMDFUProject] ( images/ openProjectMDFU.png )] ( images/ openProjectMDFU.png )
182182
1831832 . Set MDFU Client Project as Main Project.
184184
185- [ ![ OpenMDFUProject] ( images\ setAsMainProject.png )] ( images\ setAsMainProject.png )
185+ [ ![ OpenMDFUProject] ( images/ setAsMainProject.png )] ( images/ setAsMainProject.png )
186186
1871873 . Right click, then select Clean and Build.
188188
189- [ ![ CleanBuild] ( images\ CleanAndBuildMDFU.png )] ( images\ CleanAndBuildMDFU.png )
189+ [ ![ CleanBuild] ( images/ CleanAndBuildMDFU.png )] ( images/ CleanAndBuildMDFU.png )
190190
1911914 . Program the MDFU Client Project.
192192
193- [ ![ ProgramMDFU] ( images\ ProgramMDFU.png )] ( images\ ProgramMDFU.png )
193+ [ ![ ProgramMDFU] ( images/ ProgramMDFU.png )] ( images/ ProgramMDFU.png )
194194
195195** Bootloader Operation after initial programming**
196196
197197After initial programming, the LED must be on.
198198
199- [ ![ MDFU_BootMode] ( images\ PIC16F18446_BootMode.png )] ( images\ PIC16F18446_BootMode.png )
199+ [ ![ MDFU_BootMode] ( images/ PIC16F18446_BootMode.png )] ( images/ PIC16F18446_BootMode.png )
200200
201201** Application Operation**
2022021 . Open the Application Project that is configured for your selected verification scheme.
203203
204- [ ![ OpenApp] ( images\ openBtnApp.png )] ( images\ openBtnApp.png )
204+ [ ![ OpenApp] ( images/ openBtnApp.png )] ( images/ openBtnApp.png )
205205
206- [ ![ OpenAppProject] ( images\ openProjectApp.png )] ( images\ openProjectApp.png )
206+ [ ![ OpenAppProject] ( images/ openProjectApp.png )] ( images/ openProjectApp.png )
207207
2082082 . Set the application project as the Main Project.
209209
210- [ ![ MainAppProject] ( images\ setAppAsMainProject.png )] ( images\ setAppAsMainProject.png )
210+ [ ![ MainAppProject] ( images/ setAppAsMainProject.png )] ( images/ setAppAsMainProject.png )
211211
2122123 . Build the required Application project.
213213
214214Right click, then select Clean and Build
215215
216- [ ![ CleanBuild_App] ( images\ CleanAndBuildApp.png )] ( images\ CleanAndBuildApp.png )
216+ [ ![ CleanBuild_App] ( images/ CleanAndBuildApp.png )] ( images/ CleanAndBuildApp.png )
217217
2182184 . Build the Application Image File using ** pyfwimagebuilder** .
219219
@@ -223,7 +223,7 @@ Right click, then select Clean and Build
223223
224224` pyfwimagebuilder build -i "application_hex_file.hex" -c "mdfu_config_file.toml" -o output.img `
225225
226- [ ![ build_img] ( images\ BuildTheImage.PNG )] ( images\ BuildTheImage.PNG )
226+ [ ![ build_img] ( images/ BuildTheImage.PNG )] ( images/ BuildTheImage.PNG )
227227
2282285 . Use the ** pymdfu** host tool to transfer the application image file to the bootloader.
229229
@@ -233,11 +233,11 @@ Right click, then select Clean and Build
233233
234234` pymdfu update serial ./output.img --baudrate 9600 --port COM## `
235235
236- [ ![ transfer_img] ( images\ SendTheImage.PNG )] ( images\ SendTheImage.PNG )
236+ [ ![ transfer_img] ( images/ SendTheImage.PNG )] ( images/ SendTheImage.PNG )
237237
238238** Application Has Been Updated Successfully**
239239
240- [ ![ MDFU_AppMode] ( images\ PIC16F18446_AppMode.gif )] ( images\ PIC16F18446_AppMode.gif )
240+ [ ![ MDFU_AppMode] ( images/ PIC16F18446_AppMode.gif )] ( images/ PIC16F18446_AppMode.gif )
241241
242242## Summary
243243
0 commit comments