Nano Hash - криптовалюты, майнинг, программирование

сбой при запуске примера файловой системы кофе на Wismote в Contiki

Хочу протестировать пример cfs Contiki на Wismote. Я использовал пример здесь: Пример файловой системы Coffee

Этот пример хорошо работает на небесной пылинке. когда я хочу реализовать на Wismote, я меняю цель на Wismote, и вот makefile:

CONTIKI_PROJECT = [project_name]
all: $(CONTIKI_PROJECT)

#UIP_CONF_IPV6=1
CONTIKI_WITH_RIME = 1   CFLAGS =-DUIP_CONF_IPV6
MODULES += core/net/ipv6/multicast

ifeq ($(TARGET),avr-raven)
COFFEE_FILES = 4
endif 

CONTIKI =../../../
include $(CONTIKI)/Makefile.include

После компиляции я получаю это сообщение об ошибке:

/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld: раздел cfstest.wismote .data' will not fit in regionrom' /usr/local /msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld: раздел .vectors, загруженный по адресу [0000ff80,0000ffff], перекрывает раздел .data загружается по адресу [0000fe82,0000ff81] /usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld: region rom' overflowed by 2 bytes contiki-wismote.a(cfs-coffee.o): In functioncfs_coffee_get_protected_mem' : /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: неопределенная ссылка на xmem_pread' /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: undefined reference toxmem_pread' /home/user/contiki/examples/ mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: неопределенная ссылка на xmem_pwrite' /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: undefined reference toxmem_erase' /home/user/contiki/examples/mySim/Dscv/../../ ..//core/cfs/cfs-coffee.c:1369: неопределенная ссылка на xmem_pread' /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: undefined reference toxmem_pread' /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs- coffee.c:1369: неопределенная ссылка на xmem_pread' /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: undefined reference toxmem_pread' /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: неопределенная ссылка на xmem_pwrite' /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: undefined reference toxmem_pread '/дом/пользователь/contik i/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: неопределенная ссылка на xmem_pread' /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: undefined reference toxmem_pwrite' /home/user/contiki/examples/mySim/Dscv/.. /../..//core/cfs/cfs-coffee.c:1369: неопределенная ссылка на xmem_pwrite' /home/user/contiki/examples/mySim/Dscv/../../..//core/cfs/cfs-coffee.c:1369: undefined reference toxmem_pwrite' /home/user/contiki/examples/mySim/Dscv/../../..//core/ cfs/cfs-coffee.c:1369: неопределенная ссылка на `xmem_pwrite' collect2: ошибка: ld вернул 1 статус выхода rm cfstest.co obj_wismote/contiki-wismote-main.o make: *** [cfstest.wismote] Ошибка 1 Процесс вернул код ошибки 2

Я проверил core/cfs/cfs-coffee.c, чтобы увидеть код в строке 1369, но, как вы можете видеть в cfs-coffee.c такой строчки не было. У кого-нибудь есть идея решить проблему?

28.12.2018

  • Я думаю, у вас может быть две проблемы. У вас много неопределенных символов xmem_*. Но, кроме того, ваш раздел .data слишком велик, чтобы поместиться в доступном ПЗУ. Для получения справки см.: stackoverflow.com/questions/29107134/ Поиск по xmem_pwrite дал эту страницу с исходным кодом для функций xmem_*: dak664.github.io/contiki-doxygen/a01226_source.html 28.12.2018
  • спасибо за ваши советы. Я храню свои данные в двух массивах символов, которые были определены как message[32] и buf[100]. Я изменил их на message[1] и buf[1], но снова получил ошибку. Я новичок в contiki и c. Я искал символы, но не мог понять, что вы имели в виду. не могли бы вы рассказать мне больше о неопределенных символах, которые являются xmem_* ? 28.12.2018
  • xmem_* — это просто сокращение для (например) xmem_pread и xmem_pwrite. Эти [отсутствующие] функции определены в исходниках contiki в файлах вида: platform/blah/dev/xmem.c, где blah может быть одним из: native, wismote, z1 или sky. По какой-то причине они либо не встроены в contiki-wismote.a, либо не находят встроенные. Попробуйте запустить правильную версию nm на своем .a (например, /path_to_cross_build_tools/nm contiki-wismote.a). Вы должны увидеть xmem.o в выводе [который определяет символы с типом T 29.12.2018
  • большое спасибо. Ты прав. в contiki-wismote.a нет файла xmem.o. Я пытаюсь следовать инструкциям, чтобы решить проблему. 29.12.2018
  • @CraigEstey Я очень признателен за ваши советы, не могли бы вы объяснить, как я могу найти правильную версию nm? Я использую contiki 3.0 на Ubuntu 12 на рабочей станции vmware 14. Я хотел добавить xmem.o в contiki-wismote.a, поэтому в каталоге platform/wismote/dev я попробовал gcc xmem.c, я получил ошибку компилятора, которая говорит, что contiki .h не определен. есть ли способ получить файл xmem.o для wismote? 30.12.2018
  • Как именно вы строите код? examples/cfs-coffee очень хорошо подходит для TARGET=wismote. 30.12.2018
  • ну, в папке примеров не было файла cfs-coffee, поэтому я не знал об этом, но нашел его здесь: [github.com/contiki-os/contiki/blob/master/examples/cfs-coffee/. благодарю вас. 31.12.2018

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..