-
- Чем больше
узнаю людейработаю с СПИ у 003, тем большелюблю собак... Как так можно обосраться с простейшей периферией? - mse homjak(29.06.2023 12:15)- Они учатся у великих. ;-) STM уже лет 15 не может сделать
нормальный I2C - LightElf(29.06.2023 14:48)
- Так периферия 003 цэльнотянутая с СТМ. - mse homjak(29.06.2023 17:09)
- с самого начала пользования I2C в STM32 (L476, F030, G030) не знал забот. Может потому что использовал только для ЕЕПРОМ? И потому что пользовался HAL-ом? Всегда просто напрямую читаю и записываю память. От 16 до 64 байт. - Лaгyнoв(29.06.2023 15:14)
- "ST - это когда, приступая к работе, надеешься, что их софт лучше их документации, а заканчиваешь мольбами, чтобы железо было лучше их софта" - lloyd(29.06.2023 14:51)
- Я на днях подключал I2C на STM32L431. Гораздо приятнее, чем на
F100. Или там тоже накосячили? - SciFi(29.06.2023 14:50)
- А можно по-подробнее про приятность? Так-то оно и на f1xx выглядит
красиво.. только через жопу потом работает )) - POV(29.06.2023 14:55)
- I2c у f1 и f0 и последующих семейств совершенно разные, на f0 уже нормально можно пользоваться и багов почти нет - Andreas(29.06.2023 16:14)
- Транзакции можно делать полностью через DMA. Настроили, старт,
ждём, когда DMA закончит, стоп. - SciFi(29.06.2023 14:58)
- аа, я DMA не использовал... POV(356 знак., 29.06.2023 15:02)
- А можно по-подробнее про приятность? Так-то оно и на f1xx выглядит
красиво.. только через жопу потом работает )) - POV(29.06.2023 14:55)
- Они учатся у великих. ;-) STM уже лет 15 не может сделать
нормальный I2C - LightElf(29.06.2023 14:48)
- Кагбы, да, приятно. Но, цука, реакция на прерывание, при 40МГц,
порядка 700нС. Кажысь, 16МГц Мега и то быстрее. - mse homjak(26.06.2023 12:50)
- Вы неправы. Если использовать атрибут m9rs(383 знак., 26.06.2023 17:45, ссылка)
- У меня проще. Я по ЕИНТ делаю прерывание и дёргаю ношкой. Вход в
прерывание, это ниачом. Кроме входа, нужно кое что сделать с
контентом, а это достаточно нудное занятие. На пикче 800 нС, но два
такта, 50нС, это время до команды вывода в порт. mse homjak(1 знак., 26.06.2023 20:19, картинка)
- Хотя, стоп... Хуйня какойты. "1" должна быть 50нС, а она 100нС.
ПЛЛка слетела? Ща гляну... - mse homjak(26.06.2023 20:21)
- Не ПЛЛ в норме, другие таймингипод 40МГц настроены и работают
правильно... А пошто 100нС? - mse homjak(26.06.2023 20:41)
- А-а-а... Пардоньте... В прерывании компилятор экономит контент и
вместо двух регистров юзает один с лишней загрузкой. И, да, там
можэт быть не 100, а ещо 75нС. От прерывания зависит. Если
обрабоччик юзает больше регистров, то время меньше. - mse homjak(26.06.2023 20:52)
- М-даааа!... Уж...! Прочитал весь этот... пакет траблов. Вот теперь
окончательно стало понятно ассоциативный базис причин... почему
батискаф "Титан" тонул по пути к утонувшему "Титанику"! Ох и
"обрабоччик". етит! - SERGHIO(27.06.2023 22:55)
- Где тут "траблы"? Логичное поведение компилера. Чо не так-то? - mse homjak(27.06.2023 23:01)
- Тайминги [регистро-настраиваемые] компайлер превратил в
..."цыганочку" на выходе ?? Должно быть 50 [нс] в настройках!
Какого %уя... 100 на выходе с "кассы"=проца т.с.?? .Это ж для него
должно быть святым! Броня!>>> SERGHIO(53 знак., 27.06.2023 23:26, youtube)
- Не пойму, чо вас так поразило? В бэкграунде компилер можэт
использовать скока угодно регистров в mse homjak(723 знак., 27.06.2023 23:39)
- Насчёт оптимизации должен был быть мой второй вопрос. Но ты
опередил. (Сам "Мож завтра" ... посмотришь). Дай знать, по
возможности, как влияет. Оч. антерэсно! - SERGHIO(27.06.2023 23:47)
- Попробовал. Оптимизация не влияет. Как было 75нС, так и осталось. Есть менее накачанное действиями прерывание, там 100нС(осциллограмма выше по треду). Бэкграунд - 50нС. Видать, логика компилятора для обрабоччиков довольно жостко прописана. - mse homjak(27.06.2023 23:59)
- Насчёт оптимизации должен был быть мой второй вопрос. Но ты
опередил. (Сам "Мож завтра" ... посмотришь). Дай знать, по
возможности, как влияет. Оч. антерэсно! - SERGHIO(27.06.2023 23:47)
- Не пойму, чо вас так поразило? В бэкграунде компилер можэт
использовать скока угодно регистров в mse homjak(723 знак., 27.06.2023 23:39)
- Тайминги [регистро-настраиваемые] компайлер превратил в
..."цыганочку" на выходе ?? Должно быть 50 [нс] в настройках!
Какого %уя... 100 на выходе с "кассы"=проца т.с.?? .Это ж для него
должно быть святым! Броня!>>> SERGHIO(53 знак., 27.06.2023 23:26, youtube)
- Где тут "траблы"? Логичное поведение компилера. Чо не так-то? - mse homjak(27.06.2023 23:01)
- М-даааа!... Уж...! Прочитал весь этот... пакет траблов. Вот теперь
окончательно стало понятно ассоциативный базис причин... почему
батискаф "Титан" тонул по пути к утонувшему "Титанику"! Ох и
"обрабоччик". етит! - SERGHIO(27.06.2023 22:55)
- А-а-а... Пардоньте... В прерывании компилятор экономит контент и
вместо двух регистров юзает один с лишней загрузкой. И, да, там
можэт быть не 100, а ещо 75нС. От прерывания зависит. Если
обрабоччик юзает больше регистров, то время меньше. - mse homjak(26.06.2023 20:52)
- Не ПЛЛ в норме, другие таймингипод 40МГц настроены и работают
правильно... А пошто 100нС? - mse homjak(26.06.2023 20:41)
- Хотя, стоп... Хуйня какойты. "1" должна быть 50нС, а она 100нС.
ПЛЛка слетела? Ща гляну... - mse homjak(26.06.2023 20:21)
- У меня проще. Я по ЕИНТ делаю прерывание и дёргаю ношкой. Вход в
прерывание, это ниачом. Кроме входа, нужно кое что сделать с
контентом, а это достаточно нудное занятие. На пикче 800 нС, но два
такта, 50нС, это время до команды вывода в порт. mse homjak(1 знак., 26.06.2023 20:19, картинка)
- не спешите, процессор qkv2a не так прост как кажется... если
внезапно не пользоватся crt кодом и примерами из MRS. как минимум
двухуровневый аппаратный стек для входа эксепшена. попробую
проверить время реакции и отпишусь. это жеж главное в эмбедеде.
700нс это что то пошло не так, как я думаю. но посмотрим. - klen(26.06.2023 13:23)
- там, походу, вся печаль в программном сохранении контента. В АВРке,
как минимум, половина обязательной инфы сохраняется аппаратно, а
тут, закат солнца вручную. - mse homjak(26.06.2023 13:42)
- все тут ньрмально и даже быстрее чем в кортексах: 1) в qkv2a
аппаратное двухуровневое сохранение регистров при входе в
обработчик 2) это можно включить, или выключить и делать руками как
обычно. - klen(26.06.2023 13:46)
- Кстате, а есть возможность сделать так, чтобы в листинге видеть
порождающий код на Ц? Иногда хочеца глянуть чо там, а там мешанина
какая-то. - mse homjak(26.06.2023 13:51)
- да - klen(26.06.2023 14:01)
- Ка-а-ак?!! - mse homjak(26.06.2023 14:11)
- вот это нужно или что то другое? (см.файл) klen(1 знак., 26.06.2023 23:50, ссылка)
- Ну да. У меня щас так: mse homjak(1 знак., 27.06.2023 00:07, ссылка)
- Т.е. он тупо дизассемблирует. - mse homjak(27.06.2023 00:09)
- нет. не тупо: riscv32-kgp-elf-objdump --disassemble --source --demangle
image.elf > image.lss - klen(27.06.2023 02:07)
- Пасибо. Вот, бдь, что им стоило эту галочку поставить по умолчанию?
Я бы и не полез искать если не знал. - mse homjak(27.06.2023 10:29)
- Красноглазики не такие простые, какими могут показаться на первый
взгляд. Охраняют свои владения от залётных гастролёров :-) - SciFi(27.06.2023 10:31)
- наоборот. заманивают в дебри, а потом слушают истошный вой и визг
попавших в потные лапы линкера и маке, юзверей. - mse homjak(27.06.2023 10:43)
- И дружно скандируют: "RTFM! RTFM! RTFM!" - SciFi(27.06.2023 10:45)
- а что такое "они не поставили галочку"? звучит тревожно... а вдруг
"они" еще что нибудь не поставили а мы не знаем.. - klen(27.06.2023 12:17)
- Настройки билда прожэкта у MRS. Там галочка напротив ключа --source
для objdump в make. - mse homjak(27.06.2023 12:22)
- бросайте вы все эти визарды на костер. делайие руками. никто за вас
не сделает хорошо. особенно за деньги. - klen(27.06.2023 12:25)
- Та при чом те визарды? Я сразу полез в маке, посмотрел чо там с
обжкопи, полез в билд и поставил шкрябку на сорс. Ну не знаю я всех
ключей обжкопи, шо делать? - mse homjak(27.06.2023 12:36)
- выдаю самый секретный секрет всех красноглазиков: objcopy --help . а между тем я протянул все что касается fpic и прерываний, они
заработали. доразберусь с сохранением и подъемом контекста и
перейдем к измерению времени входа и выхода. - klen(27.06.2023 13:53)
- Да читал я его. В рамках того, что приспичило в своё время. - mse homjak(27.06.2023 14:13)
- выдаю самый секретный секрет всех красноглазиков: objcopy --help . а между тем я протянул все что касается fpic и прерываний, они
заработали. доразберусь с сохранением и подъемом контекста и
перейдем к измерению времени входа и выхода. - klen(27.06.2023 13:53)
- Та при чом те визарды? Я сразу полез в маке, посмотрел чо там с
обжкопи, полез в билд и поставил шкрябку на сорс. Ну не знаю я всех
ключей обжкопи, шо делать? - mse homjak(27.06.2023 12:36)
- бросайте вы все эти визарды на костер. делайие руками. никто за вас
не сделает хорошо. особенно за деньги. - klen(27.06.2023 12:25)
- красноглазики никогда не примут мсье хомяка за своего, противоречия
слишком глубоки :-) - SciFi(27.06.2023 12:19)
- Та ланна... Я тока-тока с АСМ на Ц пересел. И то, исключительно по
причине переезда на 32р машины, чтобы говнокодить в мегабайтах
флэша и десятках-сотнях кб ОЗУ ниучом себе не отказывая. - mse homjak(27.06.2023 12:41)
- остановитесь!!! пока не поздно - откатитесь назад. забудьте С и с
нуля начните С++. у нас у охотников есть наблюдение - если первые
выстрелы из гладкоствола сделать неправильно - потом всю жизнь
моторику и рефлексы не переправишь и будешь мазать. - klen(27.06.2023 14:06)
- дада, остановитесь, иначе потом придется работать и писать программы для железа вместо того чтобы переложить свои проблемы на производителя железа, который вынужден будет делать его под вашу альтернативную реальность. - Ralex(28.06.2023 16:27)
- Такое хорошее начало фразы, и такое херовое окончание! - Kpoк(28.06.2023 15:05)
- 20 лет пишу на плюсах, столько же на сях. Каждому овощу своё место.... POV(165 знак., 28.06.2023 11:54)
- +1 - 3m(27.06.2023 14:36)
- Не поможет - на асме можно писать хоть на С, хоть на С++. Я вот на
Ruby умудрился - symbions(28.06.2023 11:37)
- "Настоящий программист способен написать программу на Фортране, на
любом языке"(С) - mse homjak(28.06.2023 11:41)
- сам люблю надевать штанеи через голову, чисто из любопытства где треснет, на штанеях или голове. - klen(28.06.2023 14:02)
- "Настоящий программист способен написать программу на Фортране, на
любом языке"(С) - mse homjak(28.06.2023 11:41)
- Не поможет - на асме можно писать хоть на С, хоть на С++. Я вот на
Ruby умудрился - symbions(28.06.2023 11:37)
- а как быть если начинал с С++, потом ассемблер, после которого обычный Си был просто сказкой и другого под целевые платформы не было. Ну сейчас и С# иногда. Как жить то :) - AVF(27.06.2023 14:36)
- После 30+АСМа? На ЦПП?.. Меня до сих пор выворачивает, что в Ц нет
цыклического сдвига. - mse homjak(27.06.2023 14:15)
- Если при написании программы на ЯВУ вам понадобился циклический
сдвиг - значит вы делаете что-то не так. А скорее всего все не так.
И все таки лучше потратить год-два, себя сломать и таки вкурить плюсы и хотя бы часть современных паттернов
разработки ПО. Да, придется опыт десятков лет выкинуть на свалку.
Иначе вымрете как динозавры. - 3m(27.06.2023 14:41)
- В написании каких веб-страниц, баз датых или ещо какой %ни под 100Мб, оно, конешно, не нужно. А в эмбеддед, я вам сходу напридумываю применений, чтобы оно было нужно. Ясен%, что с помощью заката солнца вручную это всё обходится. И весь этот кипешь, тока как повод поугарать и не более. Кстате, у МИПС, например, нет переноса. - mse homjak(27.06.2023 14:50)
- Напишите интринсик - lloyd(27.06.2023 14:31)
- Это из рубрики "вредные советы". Типа "сделайте из сишечки асм, и
всё будет как раньше". Тогда зачем Си? Ему хочется циклического
сдвига, потому что он был в асме, привычный и родной. 99,9% времени
сишники вполне комфортно живут без него, потому что он почти
никогда не нужен. - SciFi(27.06.2023 14:36)
- Да он и в АСМе не всегда нужэн. Но когда нужэн - вотонооно,
пользуйся. А ещо в Ц нет арифметического сдвига вправо. - mse homjak(27.06.2023 14:39)
- Разбиваем мифы: SciFi(441 знак., 27.06.2023 15:09)
- Да он и в АСМе не всегда нужэн. Но когда нужэн - вотонооно,
пользуйся. А ещо в Ц нет арифметического сдвига вправо. - mse homjak(27.06.2023 14:39)
- Это из рубрики "вредные советы". Типа "сделайте из сишечки асм, и
всё будет как раньше". Тогда зачем Си? Ему хочется циклического
сдвига, потому что он был в асме, привычный и родной. 99,9% времени
сишники вполне комфортно живут без него, потому что он почти
никогда не нужен. - SciFi(27.06.2023 14:36)
- Если при написании программы на ЯВУ вам понадобился циклический
сдвиг - значит вы делаете что-то не так. А скорее всего все не так.
И все таки лучше потратить год-два, себя сломать и таки вкурить плюсы и хотя бы часть современных паттернов
разработки ПО. Да, придется опыт десятков лет выкинуть на свалку.
Иначе вымрете как динозавры. - 3m(27.06.2023 14:41)
- Поздно. Асм уже проехался по извилинам... - SciFi(27.06.2023 14:11)
- остановитесь!!! пока не поздно - откатитесь назад. забудьте С и с
нуля начните С++. у нас у охотников есть наблюдение - если первые
выстрелы из гладкоствола сделать неправильно - потом всю жизнь
моторику и рефлексы не переправишь и будешь мазать. - klen(27.06.2023 14:06)
- законы природы однако жеж.... межвидовое скрещивание обычно не дает
плодовитого потомства. а ващето хватит издеватся - человек имеет
потенциал развития. нужно только мозг из задницы вытащить. - klen(27.06.2023 12:23)
- Красноглазие - дело молодых. Вы, видимо, пропустили здесь перекличку по возрасту :-) - SciFi(27.06.2023 12:30)
- Та ланна... Я тока-тока с АСМ на Ц пересел. И то, исключительно по
причине переезда на 32р машины, чтобы говнокодить в мегабайтах
флэша и десятках-сотнях кб ОЗУ ниучом себе не отказывая. - mse homjak(27.06.2023 12:41)
- Настройки билда прожэкта у MRS. Там галочка напротив ключа --source
для objdump в make. - mse homjak(27.06.2023 12:22)
- а что такое "они не поставили галочку"? звучит тревожно... а вдруг
"они" еще что нибудь не поставили а мы не знаем.. - klen(27.06.2023 12:17)
- И дружно скандируют: "RTFM! RTFM! RTFM!" - SciFi(27.06.2023 10:45)
- наоборот. заманивают в дебри, а потом слушают истошный вой и визг
попавших в потные лапы линкера и маке, юзверей. - mse homjak(27.06.2023 10:43)
- Красноглазики не такие простые, какими могут показаться на первый
взгляд. Охраняют свои владения от залётных гастролёров :-) - SciFi(27.06.2023 10:31)
- Пасибо. Вот, бдь, что им стоило эту галочку поставить по умолчанию?
Я бы и не полез искать если не знал. - mse homjak(27.06.2023 10:29)
- нет. не тупо: riscv32-kgp-elf-objdump --disassemble --source --demangle
image.elf > image.lss - klen(27.06.2023 02:07)
- Т.е. он тупо дизассемблирует. - mse homjak(27.06.2023 00:09)
- Ну да. У меня щас так: mse homjak(1 знак., 27.06.2023 00:07, ссылка)
- вот это нужно или что то другое? (см.файл) klen(1 знак., 26.06.2023 23:50, ссылка)
- Ка-а-ак?!! - mse homjak(26.06.2023 14:11)
- да - klen(26.06.2023 14:01)
- Кстате, а есть возможность сделать так, чтобы в листинге видеть
порождающий код на Ц? Иногда хочеца глянуть чо там, а там мешанина
какая-то. - mse homjak(26.06.2023 13:51)
- все тут ньрмально и даже быстрее чем в кортексах: 1) в qkv2a
аппаратное двухуровневое сохранение регистров при входе в
обработчик 2) это можно включить, или выключить и делать руками как
обычно. - klen(26.06.2023 13:46)
- там, походу, вся печаль в программном сохранении контента. В АВРке,
как минимум, половина обязательной инфы сохраняется аппаратно, а
тут, закат солнца вручную. - mse homjak(26.06.2023 13:42)
- А я, кстати, уже и не помню, когда мне хотелось молниеносной
реакции на прерывание. Очень давно это было. Наверное,
возрастное... - SciFi(26.06.2023 12:53)
- Недавно только вылизывал, бо прерывания на CM0 съедали все, не
оставляя на основную задачу. Удалось обойтись сугубо
алгоритмической полировкой, в ассемблер не полез ;) - LightElf(26.06.2023 15:18)
- Вот. А я обо что? - SciFi(26.06.2023 15:36)
- Ну я был готов, но обошлось. - LightElf(26.06.2023 20:43)
- Вот. А я обо что? - SciFi(26.06.2023 15:36)
- сейчас кладут программируемую логику для быстрой реакции - lloyd(26.06.2023 12:59)
- вот делать прям нечего как логикукласть, давайте еще к avr tiny прикрутим ксилинксовский цинк. для ускореня прерываний тиньки. - klen(26.06.2023 13:28)
- Возможно, дело в том, что обычно у меня стм32 с множеством
таймеров, дма и прочего. Там без прерываний можно много разных
фокусов делать. - SciFi(26.06.2023 13:04)
- я доигрался с таймерами, DMA и прочим до того, что пришлось на
рассыпухе делать, потому что джиттер доступа к шине нарушал
времянки - lloyd(26.06.2023 13:07)
- играть уметь нужно, подозреваю что небыло учтено что и где лежать должно. куча шин и куча кусков памяти не просто так. у меня тоже не спервого раза получилось. - klen(26.06.2023 13:31)
- как говорят, "играл с таймерами и проиграл" :-) - SciFi(26.06.2023 13:08)
- я доигрался с таймерами, DMA и прочим до того, что пришлось на
рассыпухе делать, потому что джиттер доступа к шине нарушал
времянки - lloyd(26.06.2023 13:07)
- Недавно только вылизывал, бо прерывания на CM0 съедали все, не
оставляя на основную задачу. Удалось обойтись сугубо
алгоритмической полировкой, в ассемблер не полез ;) - LightElf(26.06.2023 15:18)
- Вы неправы. Если использовать атрибут m9rs(383 знак., 26.06.2023 17:45, ссылка)
- типа нашли людей, которые честно прочитали GPL? - lloyd(26.06.2023 11:56)
- ага, у нас у джентльменов принято доверять на слово.
прокостылил-собрал . работает! можно допиливать если че отвалится.
теперь мне сухо и комфортно - во всей цепочке тулсов нет бинарей
(все из исходников) в целевом коде для микроконтроллеров нет ни
буквы кода которого писал не я (разумеется за исключением библиотек
stdc++ и тд. libc как основа тоже моя - newlib в моих сборках для
людей. сам не использую). - klen(26.06.2023 12:21)
- Советую взглянуть на dietlibc. Местами интересно. SciFi(1 знак., 26.06.2023 12:24, ссылка)
- ага, у нас у джентльменов принято доверять на слово.
прокостылил-собрал . работает! можно допиливать если че отвалится.
теперь мне сухо и комфортно - во всей цепочке тулсов нет бинарей
(все из исходников) в целевом коде для микроконтроллеров нет ни
буквы кода которого писал не я (разумеется за исключением библиотек
stdc++ и тд. libc как основа тоже моя - newlib в моих сборках для
людей. сам не использую). - klen(26.06.2023 12:21)
- Чем больше