如何设置配置位 EZBL 引导加载程序项目?
How do you set config bits EZBL bootloader project?
我需要更改 EZBL 引导加载程序项目中的配置位。
我可以编译它,版本 2.11 和 MPLAB X ide 5.4
问题是配置位完全错误,如果我在 mplab ide 中修改它们,它们在重新编译后会变成旧值。这意味着配置位以编程方式设置或在项目中设置。
那么,如何更改项目中的配置位?
您可以在源代码中这样做:
/*Config1*/
#pragma config FEXTOSC = OFF
#pragma config RSTOSC = HFINT32
#pragma config CLKOUTEN = OFF
...
查看文件pic_chipinfo.html
您的控制器中有哪些配置位
好的,经过一些尝试,我明白了。
在 ezbl 中,这些位使用 EZBL_SET_CONF 在您设备使用的文件夹“硬件初始化程序”的右侧文件中更改。
例如,对于我的设备 PIC24J256GB406,文件是 pic24j256gb410_explorer_16.c
里面的文件你可以看到
*EZBL_SET_CONF(_FSEC, BWRP_OFF & BSS_OFF & BSEN_OFF & GWRP_OFF & GSS_OFF & CWRP_OFF & CSS_DIS & AIVTDIS_DISABLE)
EZBL_SET_CONF(_FOSCSEL, FNOSC_FRC & PLLMODE_PLL96DIV2 & IESO_OFF)
EZBL_SET_CONF(_FOSC, POSCMOD_XT & OSCIOFCN_ON & SOSCSEL_ON & PLLSS_PLL_PRI & IOL1WAY_OFF & FCKSM_CSECME)
EZBL_SET_CONF(_FWDT, WDTPS_PS1024 & FWPSA_PR32 & FWDTEN_SWON & WINDIS_OFF & WDTWIN_PS75_0 & WDTCMX_LPRC & WDTCLK_LPRC)
EZBL_SET_CONF(_FPOR, BOREN_ON & LPCFG_ON)
EZBL_SET_CONF(_FICD, ICS_PGx2 & JTAGEN_OFF & BTSWP_ON)
EZBL_SET_CONF(_FDS, DSWDTPS_DSWDTPS0D & DSWDTOSC_LPRC & DSBOREN_ON & DSWDTEN_ON)
EZBL_SET_CONF(_FDEVOPT1, ALTCMPI_DISABLE & TMPRPIN_OFF & TMPRWIPE_OFF & ALTVREF_ALTVREFDIS)
所有不同的配置寄存器和标志来改变它们。
您不能使用其他答案中评论的 pragma 方式,因为它不会导出到使用引导加载程序的项目所需的 .s 文件。
我需要更改 EZBL 引导加载程序项目中的配置位。
我可以编译它,版本 2.11 和 MPLAB X ide 5.4
问题是配置位完全错误,如果我在 mplab ide 中修改它们,它们在重新编译后会变成旧值。这意味着配置位以编程方式设置或在项目中设置。
那么,如何更改项目中的配置位?
您可以在源代码中这样做:
/*Config1*/
#pragma config FEXTOSC = OFF
#pragma config RSTOSC = HFINT32
#pragma config CLKOUTEN = OFF
...
查看文件pic_chipinfo.html
您的控制器中有哪些配置位
好的,经过一些尝试,我明白了。
在 ezbl 中,这些位使用 EZBL_SET_CONF 在您设备使用的文件夹“硬件初始化程序”的右侧文件中更改。
例如,对于我的设备 PIC24J256GB406,文件是 pic24j256gb410_explorer_16.c
里面的文件你可以看到
*EZBL_SET_CONF(_FSEC, BWRP_OFF & BSS_OFF & BSEN_OFF & GWRP_OFF & GSS_OFF & CWRP_OFF & CSS_DIS & AIVTDIS_DISABLE)
EZBL_SET_CONF(_FOSCSEL, FNOSC_FRC & PLLMODE_PLL96DIV2 & IESO_OFF)
EZBL_SET_CONF(_FOSC, POSCMOD_XT & OSCIOFCN_ON & SOSCSEL_ON & PLLSS_PLL_PRI & IOL1WAY_OFF & FCKSM_CSECME)
EZBL_SET_CONF(_FWDT, WDTPS_PS1024 & FWPSA_PR32 & FWDTEN_SWON & WINDIS_OFF & WDTWIN_PS75_0 & WDTCMX_LPRC & WDTCLK_LPRC)
EZBL_SET_CONF(_FPOR, BOREN_ON & LPCFG_ON)
EZBL_SET_CONF(_FICD, ICS_PGx2 & JTAGEN_OFF & BTSWP_ON)
EZBL_SET_CONF(_FDS, DSWDTPS_DSWDTPS0D & DSWDTOSC_LPRC & DSBOREN_ON & DSWDTEN_ON)
EZBL_SET_CONF(_FDEVOPT1, ALTCMPI_DISABLE & TMPRPIN_OFF & TMPRWIPE_OFF & ALTVREF_ALTVREFDIS)
所有不同的配置寄存器和标志来改变它们。
您不能使用其他答案中评论的 pragma 方式,因为它不会导出到使用引导加载程序的项目所需的 .s 文件。