This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to compile sample project from SDK for nRF52 successfully after importing it to IAR workbench

Right now I am facing a problem as mentioned below: I downloaded nRF52 SDK version 12.3.0. It contains lot of example code. I found .eww file in each example project folder. I was able to open the project by double clicking on the .eww file. In IAR IDE, under workspace, it lists down the project name and associated files. It lists all the included header files as well. However, the problem arises when I try to compile the project. It gives lot of errors which are kind of dependency errors. I am not sure, how to readily use the given example code, compile them and run it on target board. Following are some of the errors that I see on compiling any of the example project:

Error[Pe223]: function "__REV" declared implicitly E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\libraries\util\app_util.h 908 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 143 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 143 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 158 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 158 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 174 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 174 
Error[Pe012]: parsing restarts here after previous syntax error E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 180 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 190 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 190 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 201 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 201 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 208 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 208 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 216 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 216 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 224 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 224 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 235 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 235 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 246 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 246 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 255 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 255 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 264 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 264 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 274 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 274 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 284 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 284 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 298 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 298 
Error[Pe757]: variable "__STATIC_INLINE" is not a type name E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 310 
Error[Pe101]: "uint32_t" has already been declared in the current scope (at line 30 of "C:\Program Files (x86)\IAR  E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 310 
Systems\Embedded Workbench 8.0\arm\inc\c\stdint.h") 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 310 
Error[Pe757]: variable "__STATIC_INLINE" is not a type name E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 319 
Error[Pe101]: "uint32_t" has already been declared in the current scope (at line 30 of "C:\Program Files (x86)\IAR  E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 319 
Systems\Embedded Workbench 8.0\arm\inc\c\stdint.h") 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 319 
Error[Pe757]: variable "__STATIC_INLINE" is not a type name E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 328 
Error[Pe101]: "nrf_gpio_pin_sense_t" has already been declared in the current scope (at line 127) E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 328 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 328 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 337 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 337 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 346 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 346 
Error[Pe077]: this declaration has no storage class or type specifier E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 355 
Error[Pe065]: expected a ";" E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 355 
Error[Pe757]: variable "__STATIC_INLINE" is not a type name E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 364 
Error[Pe101]: "uint32_t" has already been declared in the current scope (at line 30 of "C:\Program Files (x86)\IAR  E:\<Path To SDK>\nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\components\drivers_nrf\hal\nrf_gpio.h 364
Related