Как перенести оболочку contiki на contiki-ng

Раньше я использовал https://github.com/contiki-os/contiki/tree/release-3-0 со следующей настройкой

      # CMakeLists.txt

add_library(contiki STATIC "")

target_sources(contiki
  PRIVATE
    # Serial shell
    contiki/apps/serial-shell/serial-shell.c
    contiki/apps/shell/shell.c
    contiki/core/dev/serial-line.c
    contiki/core/lib/ringbuf.c
    contiki/core/lib/list.c

    # Core system
    contiki/core/sys/etimer.c
    contiki/core/sys/process.c
    contiki/core/sys/timer.c
)

target_include_directories(contiki
  SYSTEM
  PUBLIC
    ${CMAKE_CURRENT_LIST_DIR} # Path to contiki-conf.h and rtimer-arch.h
    contiki/apps
    contiki/apps/serial-shell
    contiki/apps/shell
    contiki/core
)

set_target_properties(contiki
  PROPERTIES
    C_STANDARD 11
    C_STANDARD_REQUIRED ON
    C_EXTENSIONS ON
)

с участием

      // contiki-conf.h

#ifndef CONTIKI_CONF_H
#define CONTIKI_CONF_H

#include <stdint.h>

#define CCIF
#define CLIF
#define CLOCK_CONF_SECOND (10)
#define PROCESS_CONF_NO_PROCESS_NAMES (1)
#define PROCESS_CONF_STATS (0)
#define PROCESS_CONF_NUMEVENTS (32)

typedef uint32_t clock_time_t;
typedef uint32_t uip_stats_t;

#endif // CONTIKI_CONF_H

а также

      // rtimer-arch.h

#ifndef RTIMER_ARCH_H
#define RTIMER_ARCH_H

// Nothing to do!

#endif // RTIMER_ARCH_H

для создания статической библиотеки.

Теперь я хотел переключиться на https://github.com/contiki-ng/contiki-ng/tree/release/v4.6 , потому что кажется, что репозиторий contiki на github больше не поддерживается.

Поэтому я попытался создать еще одну статическую библиотеку с

      # CMakeLists.txt

add_library(contiki-ng STATIC "")

target_sources(contiki-ng
  PRIVATE
    # Serial shell
    contiki-ng/os/dev/serial-line.c
    contiki-ng/os/lib/ringbuf.c
    contiki-ng/os/lib/list.c
    contiki-ng/os/services/shell/serial-shell.c
    contiki-ng/os/services/shell/shell.c          # Not able to compile
    contiki-ng/os/services/shell/shell-commands.c # Not able to compile

    # Core system
    contiki-ng/os/sys/etimer.c
    contiki-ng/os/sys/process.c
    contiki-ng/os/sys/timer.c
)

target_include_directories(contiki-ng
  SYSTEM
  PUBLIC
    ${CMAKE_CURRENT_LIST_DIR} # Path to contiki-conf.h and rtimer-arch.h
    contiki-ng/os
)

set_target_properties(contiki-ng
  PROPERTIES
    C_STANDARD 11
    C_STANDARD_REQUIRED ON
    C_EXTENSIONS ON
)

и то же самое contiki-conf.h (без определения для CCIF и CLIF) и rtimer-arch.h файл, но я не могу скомпилировать shell.c а также shell-commands.c. Жалуется на не определенные макросы конфигурации. Изучая предварительно доставленные файлы Makefile, я не смог понять, какие маркеры мне нужно установить.

Поэтому я хотел бы спросить, может ли кто-нибудь подсказать мне, что делать, или дать мне ссылку (-ы) на то, как настроить оболочку в contiki-ng.

Спасибо за помощь

Златан

0 ответов

Другие вопросы по тегам