[ISSUE] - Compile problems in Workbench (interrupts_hal, pinmap_hal, wifi, and flash_mal)

I am using VSCode version 1.89.1 and there are no updates available - so that should be the latest version.
Particle Workbench v1.16.20
Operating system: Windows 10
Computer: HP Spectre with Core i7 processor
Particle Device: Photon 2 w/ OS 5.6.0 & 5.8.0

I am new to the Particle world and have been stepping slowly through the process. But I almost always have compile issues. So today I tried compiling the most simple thing I could - the basic 'new project' template - and I get the same compile Problems. They all stem from the following:

  • interrupts_hal_compat.h
  • pinmap_hal.h
  • wifi_conf.c
  • flash.mal.c

Specific steps that I followed:
I deleted all my previous projects.
I created a new project from the Particle Workbench welcome screen.
I configured the project for my Photon 2 device using OS 5.8.0.
I opened the src file (in this case, it is called Display.cpp).
I clicked on the check mark button on the top right corner of the window (Compile Project) and let that process run. It took quite a while (several minutes).
When it was complete, the "Problems" section in the bottom screen says that there are 21 Problems and displays the text shown at the end of this post.

I had an experience yesterday where I had the errors show up once, then a recompiled and no errors orrucced. Then a shut down VSCode. When I opened it again last night thinking I could finally start to make progress, I started getting the compile errors again.

One more point, none of these errors seems to be a critical error because on the compile message in the terminal, the conclusion states:

Creating c:/Users/wesbi/OneDrive/PARTIC~1/Photon2/Display/target/5.8.0/p2/memory_platform_user.ld ...
text data bss dec hex filename
12178 124 4502 16804 41a4 c:/Users/wesbi/OneDrive/PARTIC~1/Photon2/Display/target/5.8.0/p2/Display.elf

*** COMPILED SUCCESSFULLY ***

I won't post the entire stream from the terminal - I expect the below text from the "Problems" output is a sufficient summary.

Even if the compile is successful, this seems to not be a clean environment to work and learn. Any help resolving these base level problems is appreciated.

Thanks,
Wes

[{
	"resource": "/../../../hal/inc/interrupts_hal_compat.h",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "'HAL_InterruptExtraConfiguration' is deprecated: Use hal_interrupt_extra_configuration_t [-Wdeprecated-declarations]",
	"source": "gcc",
	"startLineNumber": 37,
	"startColumn": 1,
	"endLineNumber": 37,
	"endColumn": 1
},{
	"resource": "/../../../hal/inc/interrupts_hal_compat.h",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "'HAL_InterruptCallback' is deprecated: Use hal_interrupt_callback_t [-Wdeprecated-declarations]",
	"source": "gcc",
	"startLineNumber": 77,
	"startColumn": 1,
	"endLineNumber": 77,
	"endColumn": 1
},{
	"resource": "/../../../hal/inc/interrupts_hal_compat.h",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "'HAL_InterruptCallback' is deprecated: Use hal_interrupt_callback_t [-Wdeprecated-declarations]",
	"source": "gcc",
	"startLineNumber": 82,
	"startColumn": 1,
	"endLineNumber": 82,
	"endColumn": 1
},{
	"resource": "/../../../hal/inc/interrupts_hal_compat.h",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "'HAL_Direct_Interrupt_Handler' is deprecated: Use hal_interrupt_handler_t [-Wdeprecated-declarations]",
	"source": "gcc",
	"startLineNumber": 92,
	"startColumn": 1,
	"endLineNumber": 92,
	"endColumn": 1
},{
	"resource": "/../../../hal/inc/pinmap_hal.h",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "'Hal_Pin_Info' is deprecated: Use hal_pin_info_t instead [-Wdeprecated-declarations]",
	"source": "gcc",
	"startLineNumber": 92,
	"startColumn": 1,
	"endLineNumber": 92,
	"endColumn": 1
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 3 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 892,
	"startColumn": 39,
	"endLineNumber": 892,
	"endColumn": 39
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 4 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 892,
	"startColumn": 43,
	"endLineNumber": 892,
	"endColumn": 43
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 5 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 892,
	"startColumn": 47,
	"endLineNumber": 892,
	"endColumn": 47
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 6 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 892,
	"startColumn": 51,
	"endLineNumber": 892,
	"endColumn": 51
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 7 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 892,
	"startColumn": 55,
	"endLineNumber": 892,
	"endColumn": 55
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 10 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 901,
	"startColumn": 35,
	"endLineNumber": 901,
	"endColumn": 35
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 3 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 1110,
	"startColumn": 39,
	"endLineNumber": 1110,
	"endColumn": 39
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 4 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 1110,
	"startColumn": 43,
	"endLineNumber": 1110,
	"endColumn": 43
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 5 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 1110,
	"startColumn": 47,
	"endLineNumber": 1110,
	"endColumn": 47
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 6 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 1110,
	"startColumn": 51,
	"endLineNumber": 1110,
	"endColumn": 51
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 7 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 1110,
	"startColumn": 55,
	"endLineNumber": 1110,
	"endColumn": 55
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%x' expects argument of type 'unsigned int *', but argument 3 has type 'uint32_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 1119,
	"startColumn": 35,
	"endLineNumber": 1119,
	"endColumn": 35
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%d' expects argument of type 'int *', but argument 3 has type 'rtw_security_t *' {aka 'long unsigned int *'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 1476,
	"startColumn": 16,
	"endLineNumber": 1476,
	"endColumn": 16
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%d' expects argument of type 'int', but argument 2 has type 'uint32_t' {aka 'long unsigned int'} [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 2939,
	"startColumn": 19,
	"endLineNumber": 2939,
	"endColumn": 19
},{
	"resource": "/ambd_sdk/component/common/api/wifi/wifi_conf.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "format '%d' expects argument of type 'int *', but argument 3 has type 'unsigned char *' [-Wformat=]",
	"source": "gcc",
	"startLineNumber": 3790,
	"startColumn": 16,
	"endLineNumber": 3790,
	"endColumn": 16
},{
	"resource": "/MCU/rtl872x/src/flash_mal.c",
	"owner": "makefile-tools",
	"severity": 4,
	"message": "comparison of unsigned expression in '>= 0' is always true [-Wtype-limits]",
	"source": "gcc",
	"startLineNumber": 324,
	"startColumn": 29,
	"endLineNumber": 324,
	"endColumn": 29
}]

Interestingly, when I went back to the file and tried compiling again right after posting the above, I got a clean compile. How can there be errors one time and none the next even though nothing has changed?

Those are warnings, not errors, and will always happen for now. They are not harmful. They'll be fixed at a later date.

You don't get them on the second build because there were only warnings so a valid output file (.o) was created. Since the source files have a modification date older than the .o, the file is not recompiled, so you don't get the warnings again.

Thanks. But that only makes learning a bit more difficult. How do I know when I'm building something new whether the problem is because of those 'baseline' errors or because of something that is wrong in my code.

Having an engineering degree tends to be a burden. Errors (or warnings), even though they are 'acceptable', are still errors (or warnings) and are difficult to tolerate. A warning is an indication that something isn't right. I'm new to microcontroller projects and want to know that I'm doing it right. Persistent baseline errors (or warnings) make that difficult.