contiki-os / contiki

The official git repository for Contiki, the open source OS for the Internet of Things
http://www.contiki-os.org/
Other
3.71k stars 2.58k forks source link

How to execute the ecc-ecdh.c on an ARM Cortex-M3 CC2650 SensorTag? #2624

Open AyeshaJunejo opened 4 years ago

AyeshaJunejo commented 4 years ago

I want to execute ECC asymmetric encryption scheme on an ARM Cortex-M3 CC2650 SensorTag. The code file "ecc-ecdh.c" in examples/cc2538-common/pka/ directory is for cc2538-based platforms. I have tried to compile it on cc2650 but I am getting following error.

root@aubetin:/data/contiki/examples/cc2538-common/pka# make TARGET=srf06-cc26xx BOARD=sensortag/cc2650 ecc-ecdh.bin CPU_FAMILY=cc26xx
mkdir obj_srf06-cc26xx
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/startup_files/ccfg.c
  CC        ../../../platform/srf06-cc26xx/./contiki-main.c
  CC        ../../../core/lib/sensors.c
  CC        ../../../core/dev/leds.c
  CC        ../../../platform/srf06-cc26xx/sensortag/cc2650/leds-arch.c
  CC        ../../../platform/srf06-cc26xx/sensortag/sensortag-sensors.c
  CC        ../../../platform/srf06-cc26xx/sensortag/sensor-common.c
  CC        ../../../platform/srf06-cc26xx/sensortag/bmp-280-sensor.c
  CC        ../../../platform/srf06-cc26xx/sensortag/tmp-007-sensor.c
  CC        ../../../platform/srf06-cc26xx/sensortag/opt-3001-sensor.c
  CC        ../../../platform/srf06-cc26xx/sensortag/hdc-1000-sensor.c
  CC        ../../../platform/srf06-cc26xx/sensortag/mpu-9250-sensor.c
  CC        ../../../platform/srf06-cc26xx/sensortag/button-sensor.c
  CC        ../../../platform/srf06-cc26xx/sensortag/reed-relay.c
  CC        ../../../platform/srf06-cc26xx/common/ext-flash.c
  CC        ../../../platform/srf06-cc26xx/sensortag/buzzer.c
  CC        ../../../platform/srf06-cc26xx/sensortag/board.c
  CC        ../../../platform/srf06-cc26xx/common/board-spi.c
  CC        ../../../platform/srf06-cc26xx/sensortag/board-i2c.c
  CC        ../../../cpu/cc26xx-cc13xx/./clock.c
  CC        ../../../cpu/cc26xx-cc13xx/./rtimer-arch.c
  CC        ../../../cpu/cc26xx-cc13xx/dev/soc-rtc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/uart.c
  CC        ../../../cpu/cc26xx-cc13xx/dev/contiki-watchdog.c
  CC        ../../../cpu/cc26xx-cc13xx/dev/aux-ctrl.c
  CC        ../../../cpu/cc26xx-cc13xx/./putchar.c
../../../cpu/cc26xx-cc13xx/./putchar.c: In function 'puts':
../../../cpu/cc26xx-cc13xx/./putchar.c:47:5: warning: nonnull argument 'str' compared to NULL [-Wnonnull-compare]
   if(str == NULL) {
     ^
  CC        ../../../cpu/cc26xx-cc13xx/./ieee-addr.c
  CC        ../../../cpu/cc26xx-cc13xx/dev/batmon-sensor.c
  CC        ../../../cpu/cc26xx-cc13xx/dev/adc-sensor.c
  CC        ../../../cpu/cc26xx-cc13xx/./slip-arch.c
  CC        ../../../core/dev/slip.c
  CC        ../../../cpu/cc26xx-cc13xx/dev/cc26xx-uart.c
  CC        ../../../cpu/cc26xx-cc13xx/./lpm.c
  CC        ../../../cpu/cc26xx-cc13xx/dev/gpio-interrupt.c
  CC        ../../../cpu/cc26xx-cc13xx/dev/oscillators.c
  CC        ../../../cpu/cc26xx-cc13xx/rf-core/rf-core.c
  CC        ../../../cpu/cc26xx-cc13xx/rf-core/rf-ble.c
  CC        ../../../cpu/cc26xx-cc13xx/rf-core/ieee-mode.c
  CC        ../../../cpu/cc26xx-cc13xx/./random.c
  CC        ../../../cpu/cc26xx-cc13xx/dev/soc-trng.c
  CC        ../../../cpu/cc26xx-cc13xx/../arm/common/dbg-io/dbg-printf.c
  CC        ../../../cpu/cc26xx-cc13xx/../arm/common/dbg-io/dbg-snprintf.c
  CC        ../../../cpu/cc26xx-cc13xx/../arm/common/dbg-io/dbg-sprintf.c
  CC        ../../../cpu/cc26xx-cc13xx/../arm/common/dbg-io/strformat.c
  CC        ../../../core/sys/autostart.c
  CC        ../../../core/sys/stimer.c
  CC        ../../../core/sys/energest.c
  CC        ../../../core/sys/arg.c
  CC        ../../../core/sys/ctimer.c
  CC        ../../../core/sys/etimer.c
  CC        ../../../core/sys/compower.c
  CC        ../../../core/sys/process.c
  CC        ../../../core/sys/rtimer.c
  CC        ../../../core/sys/mt.c
  CC        ../../../core/sys/procinit.c
  CC        ../../../core/sys/timer.c
  CC        ../../../core/dev/serial-line.c
  CC        ../../../core/dev/nullradio.c
  CC        ../../../core/lib/settings.c
  CC        ../../../core/lib/crc16.c
  CC        ../../../core/lib/mmem.c
  CC        ../../../core/lib/ringbuf.c
  CC        ../../../core/lib/ifft.c
  CC        ../../../core/lib/me_tabs.c
  CC        ../../../core/lib/ccm-star.c
  CC        ../../../core/lib/me.c
  CC        ../../../core/lib/ringbufindex.c
  CC        ../../../core/lib/list.c
  CC        ../../../core/lib/aes-128.c
  CC        ../../../core/lib/trickle-timer.c
  CC        ../../../core/lib/memb.c
  CC        ../../../core/lib/print-stats.c
  CC        ../../../core/lib/petsciiconv.c
  CC        ../../../core/lib/gcr.c
  CC        ../../../core/lib/assert.c
  CC        ../../../core/net/ipv6/websocket.c
  CC        ../../../core/net/ipv6/uip-icmp6.c
  CC        ../../../core/net/ipv6/uip-ds6.c
  CC        ../../../core/net/ipv6/uip-ds6-route.c
  CC        ../../../core/net/ipv6/uip6.c
  CC        ../../../core/net/ipv6/uip-ds6-nbr.c
  CC        ../../../core/net/ipv6/uip-nd6.c
  CC        ../../../core/net/ipv6/websocket-http-client.c
  CC        ../../../core/net/ipv6/sicslowpan.c
  CC        ../../../core/net/ip/slipdev.c
  CC        ../../../core/net/ip/dhcpc.c
  CC        ../../../core/net/ip/uip-packetqueue.c
  CC        ../../../core/net/ip/tcp-socket.c
  CC        ../../../core/net/ip/uip-debug.c
  CC        ../../../core/net/ip/ip64-addr.c
  CC        ../../../core/net/ip/uip-udp-packet.c
  CC        ../../../core/net/ip/psock.c
  CC        ../../../core/net/ip/tcpip.c
  CC        ../../../core/net/ip/resolv.c
  CC        ../../../core/net/ip/uip-nameserver.c
  CC        ../../../core/net/ip/uip-split.c
  CC        ../../../core/net/ip/udp-socket.c
  CC        ../../../core/net/ip/simple-udp.c
  CC        ../../../core/net/ip/uiplib.c
  CC        ../../../core/net/rpl/rpl-nbr-policy.c
  CC        ../../../core/net/rpl/rpl-of0.c
  CC        ../../../core/net/rpl/rpl-dag.c
  CC        ../../../core/net/rpl/rpl-timers.c
  CC        ../../../core/net/rpl/rpl-ext-header.c
  CC        ../../../core/net/rpl/rpl.c
  CC        ../../../core/net/rpl/rpl-mrhof.c
  CC        ../../../core/net/rpl/rpl-ns.c
  CC        ../../../core/net/rpl/rpl-icmp6.c
  CC        ../../../core/net/rpl/rpl-dag-root.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/driverlib_release.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_smph.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/udma.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/setup.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/ssi.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_ioc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/adi.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/i2c.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_wuc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/watchdog.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/crypto.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_adc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/rfc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/rom_crypto.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/systick.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/ioc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_batmon.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/interrupt.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_tdc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/ccfgread.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/smph.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/vims.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/flash.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/cpu.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/event.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/setup_rom.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/ddi.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_wuc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/osc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/pwr_ctrl.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_event.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/prcm.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_timer.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/i2s.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/sys_ctrl.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_rtc.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/chipinfo.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/trng.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/gpio.c
  CC        ../../../core/net/queuebuf.c
  CC        ../../../core/net/nbr-table.c
  CC        ../../../core/net/packetbuf.c
  CC        ../../../core/net/netstack.c
  CC        ../../../core/net/linkaddr.c
  CC        ../../../core/net/net-debug.c
  CC        ../../../core/net/link-stats.c
  CC        ../../../core/net/mac/framer-nullmac.c
  CC        ../../../core/net/mac/nullmac.c
  CC        ../../../core/net/mac/nullrdc-noframer.c
  CC        ../../../core/net/mac/frame802154e-ie.c
  CC        ../../../core/net/mac/mac-sequence.c
  CC        ../../../core/net/mac/nordc.c
  CC        ../../../core/net/mac/csma.c
  CC        ../../../core/net/mac/frame802154.c
  CC        ../../../core/net/mac/mac.c
  CC        ../../../core/net/mac/framer-802154.c
  CC        ../../../core/net/mac/phase.c
  CC        ../../../core/net/mac/nullrdc.c
  CC        ../../../core/net/mac/contikimac/contikimac.c
  CC        ../../../core/net/mac/contikimac/contikimac-framer.c
  CC        ../../../core/net/llsec/nullsec.c
  CC        ../../../core/net/llsec/anti-replay.c
  CC        ../../../core/net/llsec/ccm-star-packetbuf.c
  AR        contiki-srf06-cc26xx.a
  CC        ../../../cpu/cc26xx-cc13xx/./fault-handlers.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/startup_files/startup_gcc.c
  CC        ecc-ecdh.c
  LD        ecc-ecdh.elf
ecc-ecdh.co: In function `process_thread_ecdh_test':
ecc-ecdh.c:(.text.process_thread_ecdh_test+0x26): undefined reference to `ecc_compare'
ecc-ecdh.c:(.text.process_thread_ecdh_test+0x46): undefined reference to `pka_disable'
ecc-ecdh.c:(.text.process_thread_ecdh_test+0x76): undefined reference to `ecc_compare'
ecc-ecdh.c:(.text.process_thread_ecdh_test+0xb6): undefined reference to `ecc_multiply'
ecc-ecdh.c:(.text.process_thread_ecdh_test+0x124): undefined reference to `ecc_compare'
ecc-ecdh.c:(.text.process_thread_ecdh_test+0x162): undefined reference to `ecc_compare'
ecc-ecdh.c:(.text.process_thread_ecdh_test+0x17a): undefined reference to `ecc_multiply'
ecc-ecdh.c:(.text.process_thread_ecdh_test+0x214): undefined reference to `ecc_multiply'
ecc-ecdh.c:(.text.process_thread_ecdh_test+0x26a): undefined reference to `pka_init'
ecc-ecdh.c:(.text.process_thread_ecdh_test+0x298): undefined reference to `ecc_multiply'
collect2: error: ld returned 1 exit status
../../../cpu/cc26xx-cc13xx/Makefile.cc26xx-cc13xx:114: recipe for target 'ecc-ecdh.elf' failed
make: *** [ecc-ecdh.elf] Error 1
rm obj_srf06-cc26xx/startup_gcc.o ecc-ecdh.co obj_srf06-cc26xx/fault-handlers.o

Can someone please guide me in this regard?

Sanath91009 commented 1 year ago

Any updates on this issue ?