SAMR34 basic example fails with, unknown field 'pfnNMI_Handler', 'pfnSVC_Handler'

31 Views Asked by At

I am new to AVR, and I am exploring with SAMR34J18 custom built board, for LoRA.

The example codes for basic functions seem to work fine with no issues. So, I suppose the board works fine.

When I try to create my project and bring it up, I face a compilation error;

Building file: ../src/ASF/sam0/utils/cmsis/samr34/source/gcc/startup_samr34.c

Invoking: ARM/GNU C Compiler : 6.3.1

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\arm\arm-gnu-toolchain\bin\arm-none-eabi-gcc.exe" -x c -mthumb -D__SAMR34J18B__ -DDEBUG -DTC_ASYNC=true -DBOARD=SAMR34_XPLAINED_PRO -DARM_MATH_CM0PLUS=true -DEXTINT_CALLBACK_MODE=true -D__SAMR34J18B__ -DUSART_CALLBACK_MODE=true -DSYSTICK_MODE -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\arm\CMSIS\5.4.0\CMSIS\Core\Include" -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMR34_DFP\1.0.11\include" -I"../src/ASF/common/boards" -I"../src/ASF/sam0/utils" -I"../src/ASF/sam0/utils/header_files" -I"../src/ASF/sam0/utils/preprocessor" -I"../src/ASF/thirdparty/CMSIS/Include" -I"../src/ASF/thirdparty/CMSIS/Lib/GCC" -I"../src/ASF/common/utils" -I"../src/ASF/sam0/utils/cmsis/samr34/include" -I"../src/ASF/sam0/utils/cmsis/samr34/source" -I"../src/ASF/sam0/drivers/port" -I"../src/ASF/sam0/drivers/system/pinmux" -I"../src/ASF/sam0/drivers/system" -I"../src/ASF/sam0/drivers/system/clock/clock_samr34" -I"../src/ASF/sam0/drivers/system/clock" -I"../src/ASF/sam0/drivers/system/interrupt" -I"../src/ASF/sam0/drivers/system/interrupt/system_interrupt_samr34" -I"../src/ASF/sam0/drivers/system/power/power_sam_l" -I"../src/ASF/sam0/drivers/system/power" -I"../src/ASF/sam0/drivers/system/reset/reset_sam_l" -I"../src/ASF/sam0/drivers/system/reset" -I"../src/ASF/sam0/boards/samr34_xplained_pro" -I"../src/ASF/sam0/boards" -I"../src" -I"../src/config" -I"../src/ASF/sam0/utils/stdio/stdio_serial" -I"../src/ASF/common/services/serial" -I"../src/ASF/common2/services/delay" -I"../src/ASF/common2/services/delay/sam0" -I"../src/ASF/sam0/drivers/extint" -I"../src/ASF/sam0/drivers/extint/extint_sam_l_c" -I"../src/ASF/sam0/drivers/sercom" -I"../src/ASF/sam0/drivers/sercom/usart" -I"../src/ASF/sam0/drivers/tc" -I"../src/ASF/sam0/drivers/tc/tc_sam_l_c" -O1 -fdata-sections -ffunction-sections -mlong-calls -g3 -Wall -mcpu=cortex-m0plus -c -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -MD -MP -MF "src/ASF/sam0/utils/cmsis/samr34/source/gcc/startup_samr34.d" -MT"src/ASF/sam0/utils/cmsis/samr34/source/gcc/startup_samr34.d" -MT"src/ASF/sam0/utils/cmsis/samr34/source/gcc/startup_samr34.o" -o "src/ASF/sam0/utils/cmsis/samr34/source/gcc/startup_samr34.o" "../src/ASF/sam0/utils/cmsis/samr34/source/gcc/startup_samr34.c"

c:\users\lenovo\Documents\Atmel Studio\7.0\GccApplicationSAMR34_XPLAINED_PRO\GccApplicationSAMR34_XPLAINED_PRO\Debug\Makefile(385,1): error: recipe for target 'src/ASF/sam0/utils/cmsis/samr34/source/gcc/startup_samr34.o' failed

c:\users\lenovo\Documents\Atmel Studio\7.0\GccApplicationSAMR34_XPLAINED_PRO\GccApplicationSAMR34_XPLAINED_PRO\src\ASF\sam0\utils\cmsis\samr34\source\gcc\startup_samr34.c(119,9): error: unknown field 'pfnNMI_Handler' specified in initializer

 .pfnNMI_Handler     = (void*) NMI_Handler,

 ^

c:\users\lenovo\Documents\Atmel Studio\7.0\GccApplicationSAMR34_XPLAINED_PRO\GccApplicationSAMR34_XPLAINED_PRO\src\ASF\sam0\utils\cmsis\samr34\source\gcc\startup_samr34.c(128,9): error: unknown field 'pfnSVC_Handler' specified in initializer

 .pfnSVC_Handler     = (void*) SVC_Handler,

 ^

make: *** [src/ASF/sam0/utils/cmsis/samr34/source/gcc/startup_samr34.o] Error 1

make: *** Waiting for unfinished jobs....

Building file: ../src/ASF/sam0/drivers/system/interrupt/system_interrupt.c

Invoking: ARM/GNU C Compiler : 6.3.1

I've added all modules present in getting started example, have defined all symbols as present in the getting started example, but to no avail.

It is frustrating, since I have made no coding, than what comes as default in the basic project.

Any help in getting this compilation work would be of great help.

Tried mapping modules and symbols with default provided getting_started example, but to no avail.

1

There are 1 best solutions below

0
Balaji S On

After a lot of comparison with compiler options, I found out.

  • Start a new Atmel Studio project.
  • Extend ASF wizard, for the project.
  • Select the chipset, in my case it is ATSAMR34J18B.
  • Select a board, in my case it is a user board.
  • A new src folder is created, as can be seen in solution explorer.
  • Remove the main.c that is outside the src folder. main.c in src folder is the entry point going forward.
  • Remove the Device_Startup folder outside src folder as well. We may add it later, if required by altering the compilation script.
  • Now from the Project->properties menu, select Toolchain.
  • In the configuration manager, under ARM/GNU C compiler select Directories. Remove any path starting with $(PackRepoDir).
  • All that should remain is path pointing to ASF, and its sub folders, and src/config folder.

Now, try building the project. It got built successfully, in my case. If you still face problems, check the options from configuration manager, or post them here, so that we could try exploring them further.