@ru_electronics

Страница 380 из 718
Евгений
14.09.2017
13:38:20
Привет! Столкнулся с такой проблемой в STM32F427 + NAND. Работаю с NAND через FMC. Работа с nand идет в потоке фриртос. Если запустить в этом потоке в цикле стирание блоков, то начинают "тормозить" прерывания. В частности в ПО есть прерывание таймера раз в 10мкс, которое инкрементирует счетчик. Во время стираний счетчик начинает меняться значительно реже. такое впечатление, что как будто бы стирание оформляется в крит. секцию, при выходе из нее срабатывают все обработчики прерываний. Но никакого запрета/разрешения прерываний я не делаю... В даташите не нашел указаний на то, что во время ожидания NAND не работают прерывания...

Ht3
14.09.2017
18:40:08
Если мк выполняет код с нанд, которая еще и стираетсо, то естественно, что милисекундные (?) задержки могут быть, если контроллер ожидает сигнала готовности и не может считать код

Это лишь мои фантазии лишь, лишь

Google
Maxim
14.09.2017
18:43:01
Думаю, что в этом случае контроллер таки выполняет код с флеша

Ibh
14.09.2017
19:27:28
тут другой вопрос на самом деле: было ли у кого-нибудь такое, чтобы работа на stm32 FMC(без прерываний и дма) - блокировала прерывания?

тут или freertos вносит свою лепту, или корявая настройка NVIC или реальный внутрикристальный баг

Евгений
15.09.2017
06:29:59


упростил программу до максимума - ОС выкинул, оставил цикл в main(), в котором стираются блоки по очереди плюс прерывание таймера на 10 мкс в прерывании инвертится ножка Timer Перед стиранием ножка Erase ставится в 1, после стирания - в 0 Перед началом цикла со стираниями - задержка (прерывание срабатывает четко). После начала стирания прерывание срабатывает только между стираниями

Стирание, судя по даташиту на память, занимает порядка 1 мс. По факту получается около 500 мкс. В эти 500 мкс прерывания НЕ РАБОТАЮТ ? Программа выполняется из флэша, все как обычно. Используется аппаратное ожидание ножки R/B (флаг FMC_PCR2_PWAITEN) Мануал на STM32F4 вчера еще раз тщательно проглядел и не нашел там указаний, что во время этого ожидания блокируются прерывания...

Vasiliy
15.09.2017
07:08:41
Там нигде отключение прерывания не используется?

Евгений
15.09.2017
08:59:03
Нет. eraseBlock(BlockInd block) { Debug1.set(true); const uint32_t pageAddr = block * 64; command = 0x60; addr = pageAddr; addr = (pageAddr»8); addr = (pageAddr»16); command2 = 0xD0; command2 = 0x70; byte d = data; Debug1.set(false); return (d & 1) == 0 ? eOk : eOther; }

int main() { ... while (true) { for (unsigned i = 0; i < 4096; ++i) { if (!drv.isBadBlock(i)) drv.eraseBlock(i); } } }

Dolphin
15.09.2017
09:22:18
а если настройки под NAND по-дефолту выставить?

Евгений
15.09.2017
09:41:31
по дефолту таймауты 0, просто работать не будет

Dolphin
15.09.2017
10:16:41
FSMC_Bank2->PCR2 = 0x00000018; FSMC_Bank2->SR2 = 0x00000040; FSMC_Bank2->PMEM2 = 0xFCFCFCFC; FSMC_Bank2->PATT2 = 0xFCFCFCFC; Так не будет?

Google
Dolphin
15.09.2017
10:18:39
а вижу, ок

Евгений
15.09.2017
13:17:42
Убрал флаг FMC_PCR2_PWAITEN, добавил ручное ожидание R/B и ручное же управление CE. Заработали прерывания во время ожидания Странно это все...

Хокейний
17.09.2017
14:57:34
Как искать блок/систему кнопок с фиксацией, среди который может быть нажата только одна?

metaclass
17.09.2017
15:23:26
переключатель этот советский называется п2к

а вот насчет интерлока это вопрос

http://zapadpribor.com/p2k-perekluchatel/

интересно, есть ли у них западные аналоги

shadowsoul
17.09.2017
15:25:50
заливаю пдф обширный по кнопкам и переключателям, западне

посмотрите тут

sifun
17.09.2017
15:25:54
есть но думаю давно сняты

shadowsoul
17.09.2017
15:26:24
может еесть

metaclass
17.09.2017
15:27:44
http://www.farnell.com/datasheets/104875.pdf

ищется частично по interlocking push button switch bank и похожим фразам

dimcha
17.09.2017
21:38:29
У кого есть опыт прошивки MTK65xx под линухом? MTKDroidTool под wine'ом не видит устройство, из-за этого не могу ROM в прошивку конвертнуть (кнопка неактивна). Может есть что-то консольное или весь чина-хакинг удел виндузятников?

Nikita
18.09.2017
02:26:13
Помню проебался долго, пока не запучтил тулзу прд XP

Petr
18.09.2017
02:27:38
Виртуалки нынче изобрели

オレンジ
18.09.2017
04:20:17
Чайнахакинг лучше под виндой

shadowsoul
18.09.2017
04:22:55
чисто потому что китайские утилиты кривые как пиздец изначально

Google
dimcha
18.09.2017
07:04:39
Вы все правы. Adb дает дебаг андрюши, но дампом и конвертацией прошивок MTK он не занимается. Виртуалки есть, но вопрос в решении задачи средствами линя. Я смотрю на китайский софт и тихо охуеваю - таких говноподелий еще поискать надо. С элементрной обработкой ошибок и чувством прекрасного у парней ОГРОМНЫЕ проблемы. Для сохранении психики в стабильном состоянии использование китайского железа в своих разработках противопоказано.

dimcha
18.09.2017
07:08:59
При наличии анлим времени - с удовольствием написал бы сам.

Keroronsk
18.09.2017
10:31:49
кто-нибудь с PIC32 дело имел? Не могу настроить порт RG7 на выход (все остальные порты работают как надо). ANSELG=0, TRISG=0, LATG=FF. на выходе 0. что еще можно проверить?

kaktys
18.09.2017
12:18:49
кто знает аналог 75HC595 но на 12 или 16 бит, и что б не экзотика ?

sifun
18.09.2017
12:21:17
экзотика

Petr
18.09.2017
12:21:33
+

sifun
18.09.2017
12:22:00
может быть дешевле поставить стм8с003ф3п6

Petr
18.09.2017
12:22:21
+++

kaktys
18.09.2017
12:22:40
и пины для прошивки каждого, а надо 10

Petr
18.09.2017
12:22:57
Плис простую?

Страница 380 из 718