Перейти к содержанию
    

Есть идея, не знаю получиться микроконтроллер lpc4337 двух ядерный, посмотрел по документации есть контроллер внешней памяти. Мысль такая запустить на одном ядре mo ethernet tcpip, на другом m4 вычисление координат для небольшого станка. А взамен sram подключить fpga. В связи с тем что не знаком с этим процессором есть несколько вопросов. Плис есть в налличии spartan3e хотелось бы использовать ее двухпортовую память в качестве sram размеров 4кб, какие могут быть сложности как это сделать? С двухядерными микроконтроллерами тоже дела пока не имел не знаю как там разделяются потоки или в программе нужно как то указывать что данный код работает на этом ядре или на другом, как сделать что бы на одном ядре работал tcpip на другом код расчетов? Спасибо за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мысль такая запустить на одном ядре mo ethernet tcpip, на другом m4 вычисление координат для небольшого станка.

Нет припятствий сделать такое.

С двухядерными микроконтроллерами тоже дела пока не имел не знаю как там разделяются потоки или в программе нужно как то указывать что данный код работает на этом ядре или на другом, как сделать что бы на одном ядре работал tcpip на другом код расчетов?

Пишется две отдельные программы для каждого ядра своя.

Про плис что-то не понял...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С двухядерными микроконтроллерами тоже дела пока не имел не знаю как там разделяются потоки или в программе нужно как то указывать что данный код работает на этом ядре или на другом, как сделать что бы на одном ядре работал tcpip на другом код расчетов? Спасибо за помощь.

Два процессора - две прошивки. Сначала запускается M4 и исполняет свою прошивку, потом он даёт команду на запуск M0, тот исполняет свою прошивку. Ну и спланировать разделение ресурсов (области памяти, периферия и т.д.), чтобы они друг другу не мешали. Пример реализации межпроцессорного взаимодействия у них приведён в мануале.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пишется две отдельные программы для каждого ядра своя.

Про плис что-то не понял...

Для каждого ядра своя область памяти, нужно указать в скрипте линкера адреса правильно?

Одновременно работать оба ядра не могут?, желательно что бы одно ядро только tcpip, данные которые пришли записать в структуру потом обратно в комп.

А другое занимается вычислениями, как доходит до конца кода, обновляет данные из структуры которое получили по tcp и заполняет структуру для отправки.

Про плис что-то не понял...

Вместо внешней памяти Sram подключить к микроконтроллеру fpaga в которой есть 4кб двухпортовой памяти и использовать ее, взамен sram.

Дело в том что в плис логика которую нужно выполнять быстро и одновременно, результаты она пишет в память с одного порта а с другого нужно прицепить микроконтроллер что бы можно было получить доступ к этим данным в микроконтроллере как к обычной внешней памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для каждого ядра своя область памяти, нужно указать в скрипте линкера адреса правильно?

Для флеши да, причем правильно для каждого ядра свой банк памяти. Озу может быть общее для двух ядер.

Одновременно работать оба ядра не могут?

Могут, иаче какой смысл в двух ядрах.

Подключить плис вместо памяти проблемы не вижу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для флеши да, причем правильно для каждого ядра свой банк памяти. Озу может быть общее для двух ядер.

Нужно переключать в процессе, или в стартап файле какой банк с каким ядром работает?

Подключить плис вместо памяти проблемы не вижу.

Нужно всего 4096 байт подключить: 32 бита данных и 10бит адреса. Ножек у lpc4337 не очень много, как подключить плис к микроконтроллеру в качестве sram, что бы меньше использовать ног, еще нужен ethernet и пару ног к светодиодам.. боюсь не хватит в дальнейшем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

желательно что бы одно ядро только tcpip, данные которые пришли записать в структуру потом обратно в комп.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно но если есть ядро.. А в чем сложность? синхронизации данных или еще нужно следить за какими то ресурсами процессора?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Межядерная синхронизация всяко сложнее межзадачной (в одном ядре).

К тому-же ведомое ядро надо проинитить, и всё ему настроить таблицу прерываний и т.п. Это лишние телодвижения.

Если для задачи хватает одного ядра - зачем усложнять?

Второе ядро имеет смысл задействовать только если невозможно реализовать на одном, или задействование 2-го ядра даёт какие-то преференции... имхо

 

PS: С LPC4337 не работал, но работал с OMAP. Там-то однозначно межядерное разделение имело смысл :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо буду придерживаться такой стратегии пробую запустить все на одном, если не получиться то код можно будет разнести на два в дальнейшем. Остался один вопрос как подключить плис вместо sram как можно меньше используя ножек, на что стоит обратить внимание при таком подключении, не разу так не подключал может какие дополнительные сигналы нужны, длины дорожек еще что?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...