环境:MPLAB_IDE_8_50 MPLAB C Compiler for PIC32 MCUs V1.10(B)
1. 下载Microchip官方网站提供的“pic32mx_serial_boot_loader_v1_0_00”
2. 安装pic32mx_serial_boot_loader_v1_0_00.exe,路径默认。
3. 打开“C:pic32_solutionsserial_boot_loadersourceoot_loader”文件里的MPLAB工程文件。选择好MCU类型(我的是PIC32MX440F256H)。
编译后用烧写工具(我的是ICD3)program到MCU里。这就把BOOT LOADER的引导代码写到了MCU的boot区域。
4. 打开“C:pic32_solutionsserial_boot_loadersourcedemo_application”文件里的MPLAB工程文件。同样要选择MCU类型,编译后会生成一个HEX文件。
5. 将第3步中烧写了代码的MCU目标板通过UART2与电脑的RS232连接,波特率选38400。打开“C:Program FilesPIC32BL”里的PIC32BL.exe。选择好COM端口,
波特率当然是38400。
6. 目标板上电,点击第5步中所打开软件的“Connect to Device”,如果连接成功就会显示MCU的型号。
7. 之后Open HEX File,把第4步中生成的HEX文件载入。载入成功后PIC32 Boot Loader这个软件的窗口中灰 {MOD}框框会变成彩 {MOD}。
8. 最后点击“Write Device”就会把刚才载入的HEX文件,烧写到MCU的PFM区域里。再点击“Launch User Application”,或者重启目标板。
MCU就会先从BOOT区启动,然后跳转到PFM区域执行应用代码。
注意事项:
一。 我按照PIC32 serial Boot Loader Help文档里所说:
“The following are necessary steps to create a user application that is compatible with the boot loader:
1. Create MPLAB project and select the PIC32 device of your choice.
2. Add a C Source file in your project.
3. Copy fuse (pragma) settings from the the Boot Loader main.c file (located at SourceootLdr) and paste it in your project C source
file.
4. Copy procdefs.ld from C:Program FilesMicrochipMPLAB C32pic32-libsproc<PIC32 Part Number> to your project folder.
5.Edit the procdefs.ld file in your project folder and make the following changes..........................”
在我的应用程序中,编译始终不成功,后来才知道procdefs.ld 这个文件不是完整的连接文件,用附件中的linkerscript.ld才编译通过。
二。demo_application这个工程生成的HEX文件才可以通过BOOT引导到PFM,我自己的应用程序引导时总是弹出:“run-time error'6'”这个东东,始终写不
不能引导。不知道是因为我的应用程序生成的HEX文件太大(538k),还是以为PIC32 Boot Loader这个VB程序有问题。
说明:我的BOOT代码(即“C:pic32_solutionsserial_boot_loadersourceoot_loader”文件下的)让RF0外接的一个绿 {MOD}LED闪烁。
我的APP代码(即“C:pic32_solutionsserial_boot_loadersourcedemo_application”文件下的)让RF1外接的一个红 {MOD}LED闪烁。
所以,如果程序只运行在BOOT区,只有绿 {MOD}LED闪烁;一旦程序运行在PFM区,就只有红 {MOD}LED闪烁。
Microchip网上的例子:
ourdev_548065.rar(文件大小:2.27M) (原文件名:pic32mx_serial_boot_loader_v1_0_00.rar)
在应用程序中需要添加的连接文件
ourdev_548066.rar(文件大小:4K) (原文件名:linkerscript.rar)
我更改过的Boot Loader
ourdev_548067.rar(文件大小:58K) (原文件名:boot_loader_eagle.rar)
我更改过的Demo Applicaion
ourdev_548068.rar(文件大小:41K) (原文件名:demo_application_eagle.rar)
希望高手们指点一下,若有不清楚的地方,可以看PIC32 serial Boot Loader Help帮助文件,或者给我留言!
一周热门 更多>