LINUX.ORG.RU

Rust stm32 i2c slave

 , ,


0

3

Не могу найти, есть ли всё таки сейчас в рамках rust-embedded (или rtfm) i2c slave.

Я хочу сделать i2c proxy, т.е. чтобы CPU ходил физически к одному устройству, думая, что там много разных.

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

Ощущение, что этот кусок не заимплементили и надо дописать чутка.

нет чтоб на С писать, как все нормальные люди

Harald ★★★★★
()

i2c-slave это таки сложнее чем мастер. В контроллерах-то давно есть, но вот так чтобы обёртку и готовую - хз, скорее всего придётся брать шашку в руки и писать в регистры и обмазываться над прерываниями.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от max_lapshin

c rtfm и думать не надо, так-то, всё укладывается в пусть развесистый, но конечный автомат. это не руками лепить,благо

Dark_SavanT ★★★★★
()

А как у вас в этом вашем расте с ключевым словом «volatile» дела обстоят? Ну например, чтоб одну и ту же переменную из прерывания и из главного потока дёргать

Harald ★★★★★
()
Ответ на: комментарий от Harald

слушай, там совершенно мозговзрывательные штуки в расте.

Эти наркоманы сделали так, что из прерывания приоритетом повыше нельзя просто так редактировать общедоступную переменную: её надо в лок заворачивать. Эта проверка делается в compile time

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от Dark_SavanT

я пробовал прогать без «думать» — фигня получается. какие-то баги компилятор сыпет

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

В том и смысл же, чтобы ты не мог data race себе устроить. Прерываниям на борроу чекер похеру.

я пробовал прогать без «думать» — фигня получается. какие-то баги компилятор сыпет

Я подобную штуку на си под msp430 выпиливал, там думать вообще не надо было, конечный ватомат на прерываниях, а между ними спим. На stm32 подозреваю что ничего сильно не меняется, но надо побороть растовый чекатель.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

так вот как раз в rtfm типы настроены так, что тебя заставляют правильно обернуть всё в borrow checker.

На прерывания посмотрю.

max_lapshin ★★★★★
() автор топика

я продолжаю читать спеки и слегка взволнован: есть подозрение, что прийдется писать весь i2c руками. По ходу мульти адрес для слейва никак не получается.

max_lapshin ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.