- IAR ARM 9 хочет double вместо float например для fabs, и я так
понимаю по хэдеру math.h, что float остался только для С++. Что
вообще происходит с вещественными числами? Проект на 9 ИАРе для
CM0, проект на 7 ИАРе (где нет никаких предупреждений) для CM4,
бред какой-то получается. - VLLV(21.08.2023 16:04, ARM, полностью)
- Почему, когда я кладу в регистр DMA адрес порта или памяти:
DMA1_CHANNEL1->maddr = (uint32_t)adc_buf; IAR мне правую
сторону подчеркивает и говорит, что я запихиваю большее в меньшее?
Именно IDE IAR-a, не компилятор, тот варнинга не даёт. Всё, как в
примере, размер указателя я проверил, обычные 4 байта. - Idler(18.08.2023 18:36, ARM, полностью)
- Внезапно снова вопрос. STM32F407 (или AT32F407 - не имеет
значения). АЦП в режиме сканирования. Из рефмануала следует, что
при длине группы более 1 входа флаг готовности данных возникает
лишь один раз по завершении преобразования последнего входа из
группы. Вопрос. А как тогда загружать данные АЦП по предыдущим
входам? - my504(17.08.2023 14:39, ARM, полностью)
- Общий файл констант для С и С# ? maleon(392 знак., 16.08.2023 13:13 - 16:23, ARM, полностью)
- Докладываю, работающее решение: maleon(762 знак., 17.08.2023 09:28)
- мб через сериализацию? - Vit(16.08.2023 17:56)
- Ну а почему нельзя сею процедуру софтверно организовать? SERGHIO(872 знак., 16.08.2023 17:50)
- Кстати, что-то на похожую тему на stackoverflow: SciFi(1 знак., 16.08.2023 16:28, ссылка)
- Странно, в обозначении (названии) язык C# есть решетка, а всего, с
чем она обычно должна была бы работать нет. Непорядок - maleon(16.08.2023 16:10)
- Делаем хидер в котором объявляем static const int Conctanta=314;
Хидер инклюдим во все файлы проекта. За одно отключаем
соответствующие предупреждение - IBAH(16.08.2023 14:45)
- Кажись кресты умеют сами определять где extern, но это не точно. - IBAH(16.08.2023 14:39)
- Желание верное. Кросс-языковые, кросс-платформенные и подобные
проекты требуют отдельного обращения. Принято иметь ОДИН исходный
файл с определениями и препроцессирующий инструмент (тулзу,
утилиту), который создаст выходные файлы под разные языки. Для TXT
файла констант вида NAME VALUE такая утилита или скрипт (или две
утилиты, const2c, const2csharp) пишутся быстрее чем ты набил сюда
вопрос, это несколькок строчек. Не надо бояться пистаь скрипты или
си-утилитки. Как RxTx(172 знак., 16.08.2023 14:16)
- Конечно, можно воспользоваться скриптом, скажем на Питоне (ещё один
язык вдобавок), который будет следить за соответствием и приводить
одно в соответствие с другим. Это как решение может быть, но так
делать не хочу, запускать скрипт каждый раз перед компиляцией. Да и
возможны проблемы с переносимостью на другой ПК, где может не быть
Питона, или какого то пакета к нему - maleon(16.08.2023 14:16)
- Всегда можно внедрить в процесс сборки генерацию этих двух файлов
из третьего. Или первого из второго. Или второго из первого. gawk
для этого хорошо подходит. - SciFi(16.08.2023 14:13)
- Вынеси их в переменные сборочных окружений, любым удобным способом. - выaпpвaпp(16.08.2023 14:03)
- нужно этот 1(один) файл прописать в обоих средах, путь к нему
указать и алга. - Nikolay801_(16.08.2023 13:23)
- Цитата: "Часто меняющиеся константы". Не мое дело, но похоже вы
задумали что-то не то. - Cкpипaч(16.08.2023 13:22)
- #define в обоих языках работает одинаково. - =AlexD=(16.08.2023 13:17)
- [off] Eddy_Em(149 знак., 16.08.2023 13:17)
- семейство GD32E1 тоже самое, что STM32F1, только Кортекс М4? по
периферии совместимые? - IBAH(14.08.2023 17:19, ARM, полностью)
- Объясните колхознику. Байтовый доступ к регистрам ВВ у STM32. Какая
разница как писать, ведь старшие все равно нули IBAH(325 знак., 11.08.2023 15:27, ARM, полностью)
- а зачем к слову обращаться как к байту? - 0men(11.08.2023 19:57)
- CRC это отдельный случай. Он сидит на шине AHB и различает
обращение к слову/полуслову/байту, но это не во всех семействах.
Для такого CRC запись слова это как запись 4-х байт подряд, только
быстрее считается. А прочая периферия, которая на APB1 или APB2 не
различает, потому что так работает бридж AHB/APB. В реф.мауале
пишут: "Note: When a 16- or an 8-bit access is performed on an APB
register, the access is transformed into a 32-bit access: the
bridge duplicates the 16- or ЫЫyкпy(38 знак., 11.08.2023 15:58)
- может быть запись 4-х байтного слова работает как запись 4-х байт,
в отличие от записи 1-ого байта. Но это моя фантазия. - Nikolay801_(11.08.2023 15:51)
- Например, в мануале на STM32F407 сказано "The CRC registers have to
be accessed by words (32 bits)." Кто-то ещё рассказывал, что где-то
SPI работает по-разному при доступе 8 и 16 разрядов. Так что
по-всякому бывает. - SciFi(11.08.2023 15:31)
- -> il-2(1 знак., 11.08.2023 18:09, ссылка)
- Китайский ST-link V2 не умеет ресетом дергать?... POV(143 знак., 06.08.2023 19:43, ARM, картинка, полностью)
- Хых, в двух разобранных CK32 и APM32.. вот же же китайцы клонов
наделали. - POV(08.08.2023 00:06)
- У меня таких с десяток, насчитал минимум 3 разных разводки и
распиновки (причем, на парочке обозначение на корпусе не
соответствует реальности). Ни один не умеет дергать резетом. - Eddy_Em(06.08.2023 21:04)
- Китайсца разводит плату как умеет. Корпус на вид один, платы каждый
раз разные. Он тупо может с ноги не выведен быть но обозначен на
корпусе. Еще китайсца может сэкономить на паре SMD резисторов -
места есть, резисторов нет. Про этот конкретный (хотя ты картинку
из интернета взял) не скажу, но у меня так было с SWO, RESET.
Где-то было, где-то не было. Короч, смотришь откуда он идет на
оригинальной схеме и берешь да паяешь проводок. Прошивка у них на
90-99% вряд ли RxTx(112 знак., 06.08.2023 19:50)
- Внезапно вопрос. Перевожу одно изделие с dsPIC33CH на AT32F407. В
изделии нужен пушпульный ШИМ с регулировкой скважности (таким
образом регулируется выходной уровень сигнала). И я с прискорбием
обнаружил, что ни в AT32, ни в STM32 в таймерах такого режима нет.
Комплементарный есть, а пушпульного нет. И кто как решает этот
вопрос? Или я что то упустил? - my504(26.07.2023 11:12, ARM, полностью)
- Имеется некое серийное устройство с STM32F407. На некоторых
образцах иногда слетает прошивка. Вроде бы во время коммутации
питания. Долго ловили экземпляр со слетевшей прошивкой и открытым
кодом. Поймали. Выяснилось, что обнулились (именно стали равны
нулю) первые 9 (девять) байт флеша. Сиречь, инициализация стека и 3
байта из 4 первого адреса таблицы векторов прерываний. Все
остальное ОК. my504(19 знак., 11.07.2023 13:07, ARM, полностью)
- Слегка разгреб текучку и вернулся к вопросу. Повторил недельный
тест (15 мин вкл/5 мин выкл) для трех вариантов кода. 1. В коде
вообще нет обращения к контроллеру флеша в части стирания записи,
включая разблокировку-блокировку. 2. Вставил
разблокировку-блокировку, но стирания-записи нет. 3. Есть полный
функционал стирания-записи. Все тесты делал с BOR=3
(Ris=2,92v/Fal=2,83v). Всего тестил 7 плат. Варианты 1 и 2 в
течении 5 рабочих дней выдержали тест. Вариант 3 слетел my504(388 знак., 07.08.2023 12:10, картинка, картинка)
- У меня тоже есть версии - аппаратные и программные. Взять
обязательно сбоившую плату. Costic(551 знак., 12.07.2023 15:34)
- Для справки мне. А на чем, какая IDE разрабатываете? Стартап-код
свой или тот что шел с IDE? - RxTx(12.07.2023 14:08)
- Я тут отдельно напишу свое видение, в т.ч. отрезюмирую то, что тебе
уже другие тут написали, и что ты упорно игнорируешь. il-2(1519 знак., 12.07.2023 08:07)
- А ресет точно гарантирует, что ни чего в м/к не будет работать?
Вроде как отладчик может запуститься при активном ресете. И вообще
часто ресет рассматривается как одно из прерываний. AlexBi(699 знак., 12.07.2023 10:03)
- Кстати, любопытсва ради. В сигнналовских 51ых VDD рекомендовалось
получать от VDA через дросель или резистор. (мы через резистор
делали). А тут как? VDD от VDA? Или вообще отдельные стабилизаторы? - symbions(12.07.2023 09:54)
- в одном девайсе, дабы не иметь таких гемороев фпынцыпе. Nikolay801_(243 знак., 12.07.2023 09:12)
- У меня такое ощущение, что вы просто решили мне рассказать о чем то
о своем... Вы вообще знакомы с законом Ома? Вы в состоянии
посчитать какое напряжение упадет на резисторе 10 Ом между AVDD и
VDD при имеющемся потреблении AVDD? Вы бы хоть постеснялись такую
пургу писать.... остальное комментировать нет никакого смысла.
Кстати, флеш в моем случае НЕ СТИРАЕТСЯ, а ЗАПИСЫВАЕТСЯ. Причем
побайтно подряд. А в том самом коде побайтно, но с шагом в слово. - my504(12.07.2023 09:04)
- У
палкирезистора 2 конца. Вы их зачем-то перепутали. Посчитайте по закону
ома, что там может упасть при потреблении эээ... 100мА со стороны
VDD. И какое имеет значение, стирается там оно или записывается. Но
вы можете продолжать упорствовать. Кстати, я привел 2 варианта
источника проблемы. Других не бывает. Вы упорно пытаетесь их
игнорировать, и искать какой-то непонятный свой вариант. Не буду
больше мешать. В поисках неведомого иногда совершаются великие il-2(9 знак., 12.07.2023 09:27)
- Я ничего не путал. Очевидно, что фильтр стоит НА АНАЛОГОВОЕ
питание. То есть ток течет из цифрового потенциала в аналоговый.
Это не требовало комментариев. Из контекста было понятно. И 100 мА
контроллер не жрет. Там максимум на все про все 30...40 - my504(12.07.2023 14:37)
- Кстати, про резистор. Уже много лет ставлю там ферритовую бусину.
По-моему, именно её обычно и ставят на всяких демо-платах. - SciFi(12.07.2023 09:31)
- Какой тип/номинал бусины, если не секрет? И конденсатора, после
нее. - AlexBi(12.07.2023 10:04)
- FBMH1608HM102-T + 0.1uF + 1uF. У бусины высокий импеданс в широком
диапазоне частот, выбирали для других дел, сюда поставили
паровозиком, и как-то прижилось. Есть аналог у Sunlord, кстати, но
на кратно меньший ток. SciFi(2 знак., 12.07.2023 10:16, ссылка, ссылка)
- Спасибо! Параметры у бусины зачетные. - Evgeny_CD(12.07.2023 15:05)
- Мне бусины не понравились. Для тех, к которым производитель давал
SPICE-модели, проводил моделирование. Оказывалось, что при
включении в цепь питания промеж конденсаторами (в моих случаях, с
моими номиналами и с моей нагрузкой) - звенят. Есть резонансная
частота с горбом +6..+10дБ на сотнях кГц, до пары МГц в зависимости
от бусины и ёмкостей. В итоге, ставлю бусины для ЭМС, но для
подавления резонансов, последовательно, дополнительно, резисторы
0.8..1.5Ом. - Nikolay_Po(12.07.2023 10:37)
- 1,6 Ом сопротивление постоянному току. Иы тоже подобное ставили, но
в нашем случае разницы с резистиором в 2 Ома не заметили。 - symbions(12.07.2023 10:25)
- товарищ прав в главном. ЕСЛИ в коде есть момент, что может быть
флэш разблокированной и туда что-то записано, то надо рыть всё же
сюда. Вот если б в коде вообще намеков не было на разблокировку
флэш, то рыть в электрическую часть. - Лaгyнoв(12.07.2023 09:13)
- Есть множество свидетельств вот именно того, что вы описываете.
Применительно к МК Silabs C8051 (бывший Cygnal). По-моему, я тоже с
этим сталкивался, просто давно это было. То есть ваш аргумент
разбивается о реальность. Но можете не верить, конечно. - SciFi(12.07.2023 09:08)
- Если б я что-нибудь понимал в этом вашем мёде, я бы... NAUT(494 знак., 11.07.2023 20:40)
- BOD включен? - 0men(11.07.2023 16:40)
- После анализа всего что вы написали, я полагаю что причина порчи
FLASH единственна: исчезновение питания во время записи во FLASH.
Вопрос:исчезновение питания во время записи возможно? То что
портится совсем другая страница, что в коде железно прошиты и адрес
и страница не должно смущать, это не программный сбой а аппаратный.
При записи FLASH отрабатывает конечный автомат, сбой которого при
исчезновении питания непредсказуем. - RxTx(11.07.2023 15:35)
- Кстати, есть вариант подрихтовать кувалдой и в продакшн: прописать
в Option Bytes BOR Level 3. - SciFi(11.07.2023 14:10)
- К кварцу и его конденсаторам идет земля. Этот земляной провод
должен быть подключен к ближайшей земляной ноге процессора, и
только. Т.е. через этот проводник не должно течь никаких других
токов. Конденсаторы питания(керамические) для процессора должны
быть максимально близко к этим выводам процессора. Нет ли на плате
замкнутых контуров по земляным цепям(полигоны не в счет) ? - Sl(11.07.2023 14:00)
- Записи во флеш нет на протяжении штатной схемы работы ? - sav6622(11.07.2023 13:09)
- В режиме, в котором слетает прошивка, обращения к записи во флеш
нет. То есть сама функция присутствует в коде. Однако она пишет в
задефайненый адрес (он не вычисляется) и в ней жестко присутствует
стирание страницы по этому же адресу. И этот адрес очень далеко от
начала. - my504(11.07.2023 13:22)
- Но нет ли разрешения на изменение флешки? Ниже верно сказали -
закомментировать нахер вообще весь код, что может флешку
разлочивать. - POV(11.07.2023 13:46)
- Я уже написал, что в функции записи во флеш имеется совершенно
линейный код в котором ПЕРЕД ЗАПИСЬЮ выполняется СТИРАНИЕ СТРАНИЦЫ.
Но попробовать можно. Правда все осложняется нерегулярностью
происходящего. На стенде лежат два десятка плат питающихся от
источника с таймером включения/выключения от сети и порой нужно
ждать неделю и больше. - my504(11.07.2023 14:18)
- Самое неприятное с закомментированием функции записи в том, что
непонятно что делать потом с результатом. Каким бы он ни был. Я не
могу убрать запись в продакшене. Это сохранение конфигурации
устройства при настройке. - my504(11.07.2023 15:10)
- А аппаратный патч произведенных плат возможен? - RxTx(11.07.2023 15:42)
- Это даст понимание. Софт портит сам себя или иное. Без этого дальше
думать не о чем. - POV(11.07.2023 15:11)
- Это точно не софт. Доступ к функции записи длинен и зело труден.
Для штатной записи нужно получить шифрованный пакет от ПО с
правильной командой на запись, которое (ПО с интерфейсным блоком)
на стенде в принципе отсутствует. Там лежат два десятка плат с
поданным питанием и маленькими петлями в разъеме антенн,
отключенными интерфейсами и индикацией и лишь на расстоянии
полметра от них включен передатчик с крошечной петлей в качестве
антенны заставляет работать эти my504(124 знак., 11.07.2023 15:26 - 15:28)
- ну да, это если логикой нормальной работы пользоваться... а если
прикинуть что при сбое, просто рандомно переходим по памяти и
попадаем на функцию записи, то всё становится гораздо проще... и
да, при ЭМСе у нас, у нас даже осциллограф некоторые функции
вспомнил =)) у него открылись функции более старшей модели, видимо
пролетело и записалось куда не нужно... sav6622(127 знак., 12.07.2023 08:49)
- Ну не верит человек. Что поделать, у нас свобода вероисповедания.
Каждый волен игнорировать те свидетельства, которые не вписываются
в его картину мира. - SciFi(12.07.2023 08:56)
- Дело не в картине мира. дело в минимизации времени для поиска
проблемы. Помимо всего прочего, вся эта история возникла не на всем
выпущенном тираже этих плат. А лишь на одной партии. Поэтому есть
версия и с проблемными чипами. А пока утром одна плата слетела с
совершенно идентичном повреждении флеша, хотя на всех BOR
максимальный. Я дописал в функцию записи во флеш пару входных
uint23 аргументов с проверкой их значения перед исполнением
стирания-записи. Типа такой двойной my504(51 знак., 12.07.2023 09:48)
- Я делал кучу блокировок дополнительных программных как можно ближе
к конкретной асм инструкции записи, пофиг, только вероятность
немного снижалась. ИМХО, Vit прав, говно под кварцем, мы или смд
3225, или выводной HC49S и приподнимаем на 1..2мм. - Andreas(12.07.2023 10:33)
- Это не так работает. Он прыгнет сразу на код разблокировки флеша, в
обход двойного ключа. Закон Мерфи же. Считайте, что PC
инициализируется случайно и притягивается к самому вредному коду.
Если уж делать такие штуки, я бы делал что-то типа того, что
описывает коллега выше. Максимально затруднить процу возможность
прыгнуть сразу на разблокировку флеша. SciFi(1 знак., 12.07.2023 09:53, ссылка)
- Я тоже так думал (ссылко)... POV(334 знак., 11.07.2023 15:31, ссылка)
- +1. Для начала надо диагностировать. Так-то при некотором умении
можно сделать прошивку, которая сама себя залажает и без глюков
железа. - SciFi(11.07.2023 15:17)
- Временно выкиньте данный код записи во флеш ВООБЩЕ, и
перепроверьте... - sav6622(11.07.2023 13:45)
- Если во время коммутации питания что-то жёсткое с цепями питания
происходит, не следует удивляться таким чудесам. Чтобы исключить
эту версию, можно повесить внешний супервизор и посмотреть, будет
ли разница. Кстати, на днях видел блуждающий HardFault (правда, на
STM32L431), и единственным видимым объяснением была просадка Vdd на
0,5 В на единицы микросекунд, пока Vdda оставался стабильным. Некая
нагрузка коммутировалась рядом. - SciFi(11.07.2023 13:29)
- Rockchip RK3568. 2x Gigabit Ethernet и тд. Никто не имел счастья с
ним работать? Samum421(12 знак., 27.07.2023 11:10, ARM, ссылка, полностью)
- IAR7 + GD32F107 + J-Link. Иар7 не поддерживает этот контроллер.
Проект собран под STM32F107, файл линкера от него же. Ставлю
компилировать под Кортекс-М3. В настройках J-Link ставлю GD32F107. Все вроде работает, шьется. Но, на высоких уровнях
оптимизации, иногда сваливается в ХардФалаут. Что я делаю не
так? - IBAH(27.07.2023 19:37 - 29.07.2023 12:56, ARM, полностью)
- Полазал отладчиком. Насколько я понимаю ругается на команду пуш,
вызов функции LL_GPIO_Init по кривому адресу. Вопрос - как
избежать? я так понимаю надо как-то настроить линкер IBAH(1 знак., 03.08.2023 18:53, картинка)
- Делаешь не так вот что: не выясняешь точную причину HardFault.
Обычно там есть все средства, чтобы её вычислить. - SciFi(27.07.2023 19:40)
- +1 - RxTx(27.07.2023 20:03)
- Причина не в коде. В Кейле все нормально. - IBAH(27.07.2023 19:45)
- причина именно в коде, просто в кейле другая оптимизация, она
допускает промахи как и яровская на низких уровнях - 0men(27.07.2023 20:57)
- В этом то и вопрос, почему в кейле работает? Где-то что-то нужно дополнительно указать. - IBAH(29.07.2023 12:59)
- Например, компилятор может неожиданно реагировать на Undefined
Behavior. Своими глазами видел, как компилятор применял чудесатую
оптимизацию адресной арифметики, потому что по каким-то
соображениям диапазон входных значений был ограничен. Когда в жизни
встречалось другое значение, арифметика вычисляла дикий адрес, и
вот тебе HardFault. А другой компилятор может этого не делать, и
твой косяк останется незамеченным. И да, это именно косяк в
исходнике. - SciFi(30.07.2023 14:55)
- Нет такого вопроса, это у тебя в голове какой-то пробел. HardFault
вызывает какая-то АССЕМБЛЕРНАЯ инструкция, выполняемая в нетипичных
условиях с нетипичными значениями. Никто не обещает, что разные
компиляторы Кейл и ЙАР должны генерить одинаковый код. А источник
проблемы все равно - в исходнике на Си. Самый распространенный
случай - невыровненный доступ к памяти, который возникает из-за
преобразования типов указателя. У Cortex-M3 есть инструкции,
которые могут выполняться il-2(411 знак., 30.07.2023 10:34)
- Совместимы только 103, в других даже адресация регистров иная. - Visitor(29.07.2023 13:56)
- Покорнейше прошу прощения. Моя обычно подключать внутрисхемный
отладчик, смотреть в регистры, вычислять точное место, где
процессор споткнулся. Думал, все так делают. Снова прошу пардону. - SciFi(27.07.2023 19:53)
- Пришел десяток CH32V003 в soic8 с Ali по 13 руб. Показались
удобными для всяческой мелкой хренотени. Ну и как у китайцев
положено, их "рыба" из MRS неработоспособна :) Генератор на сей раз
сразу выставил в SYSCLK_FREQ_48MHZ_HSI. Рубится при попытке printf
(). Небось ремап портов не настроен. Напрягает, что отладчик в MRS
завешивает эту MRS наглухо. До перезапуска. Ну и сам чип в дауне.
Стереть flash можно только через WCH-LinkUtility в режиме
передергивания питания (по Гyдвин(43 знак., 26.07.2023 18:12, ARM, полностью)
- Отбой. Работает. Особенности чипа. Вкурил, увидев вот эту пеструю
картинку. В ДШ то все уныленько ;) Гyдвин(1 знак., 27.07.2023 15:07 - 28.07.2023 22:02, картинка)
- Есть альтернатива (8051) в ЧиД по 58 рублей - SH79F084BL (SOIC-16),
SH79F1624BL - 74р., SH79F1612BX (TSSOP-20) - 70р. - Costic(28.07.2023 21:58)
- Щас уже подорожали вдвое Kpoк(1 знак., 26.07.2023 20:26, ссылка)
- 50 шт за 496р? Арихметико - лженауко? - =AlexD=(26.07.2023 22:21)
- Я брал тут -> Гyдвин(1 знак., 26.07.2023 22:02, ссылка)
- Там еще 45р за "доставку", так что 18 за штучку получается. Но все
равно заманчиво. Был бы там USB или хотя бы CAN... А то весь смысл
дешевизны теряется. - Eddy_Em(26.07.2023 23:18)
- Дык подключайся ;) Гyдвин(1 знак., 27.07.2023 15:35, ссылка)
- Нет уж, софтовую реализацию аппаратных протоколов я считаю
идиотизмом. Лучше взять МК, где есть аппаратный USB, чем городить
хрен знает что. Eddy_Em(129 знак., 27.07.2023 15:55)
- Кстати, вот здесь все, как ты любишь - по красноглазиковски :) Гyдвин(1 знак., 27.07.2023 15:40, ссылка)
- Интересно, spi вроде есть, а на самом деле нет! Забыли SCK
доложить. m9rs(1 знак., 30.07.2023 10:49, картинка)
- Зато можно произвольную битовую последовательность гнать с МОСИ
аппаратно. Интересно, SPI в этом камне может подряд байты
передавать, загружая в буфер следующий раньше, чем закончится
предыдущий? - Nikolay_Po(30.07.2023 23:34)
- Не забыли, у А4М6 его нет. enc(1 знак., 30.07.2023 22:13, картинка)
- Ну то есть SPI есть, но без SCK - там же одинаковые кристаллы. - LightElf(30.07.2023 23:45)
- К шиту доверия больше чем к "рисовальщикам". - enc(31.07.2023 09:20)
- По идее, чтобы MOSI, всё же, использовать на вывод потока бит,
придётся настраивать несуществующий (не разваренный с кристалла)
вывод SCK, чтобы сдвиг бит, всё же, тактировался. - Nikolay_Po(30.07.2023 23:51)
- Придётся. Но я сварщик не настоящий - как там у этих зверей ремап
устроен - не знаю. - LightElf(31.07.2023 00:05)
- Просто скопировать ассемблерные инструкции неразваренного вывода с
более жирного чипа. Ну, или красивее, добавить его в свой
заголовочный файл, как у жирного чипа и настроить так же. - Nikolay_Po(31.07.2023 00:48)
- Норот, гораздо проще сделать обычный бит-бэнг. Ибо на максимальных
скоростях, всё равно надо ждать "бизи". - mse homjak(31.07.2023 09:53)
- Один бизи на 8 интервалов или каждый интервал вручную считать - по
моему, разница налицо. - Nikolay_Po(01.08.2023 08:07)
- Busy считывать в цыкле, значит, проц, полюбому, занят. Какая
разница, чем. А если пользоваться прерываниями, то на максимальной
СЦК, накладные от прерывания будут , где-то, в размер 8-битной
транзакцыи. Смотрите это и следуюсчее сообчение с картинками.
Обратите внимание, как отвисает CS на 8-битной посылке. От такая
реакция на прерывание RXRDY. В неё умещается передача ещо одного
байта. Если сыпать байтами, то всё очень не очебачно. Оптимально по
скорости, это жэлезный mse homjak(79 знак., 01.08.2023 10:35, ссылка)
- У меня типичная проблема, что вывод по SPI надо делать без пауз и
задержек, с четкой постоянной скоростью. Иначе светодиодики глючат
;-) На NUC970 пришлось кернеля перчить, шоб оно 6.25мегабита
выдавало без разрывов. Жизнь контроллера светодиодов нелегка ;-) - LightElf(31.07.2023 13:02)
- Это я еще с месяц назад скачал. Когда-нибудь попробую таки начать с
v003, а там, глядишь, кто-нибудь что-нибудь подобное и для других
камней выбросит. Уж слишком много времени понадобится тратить,
чтобы самому такое сбацать. Eddy_Em(140 знак., 27.07.2023 16:02)
- Напротив, blinky занимает всего 500 байт с ch32v003fun, \\ Где-то
разнузданно заржали пикоманы. - Kpoк(27.07.2023 15:48)
- Недорогой WCH LinkE -> Гyдвин(1 знак., 26.07.2023 22:09, ссылка)
- а на что из STM32 он похож? Я в soic-8 работал только с STM32G031. - Лaгyнoв(26.07.2023 18:16)
- Прошу помочь советом по ADuC7020BCPZ62. Суть проблемы: имеется
только hex для указанного MCU, проект не сохранился. Загрузка через
переходник USB-UART сложностей не вызывала. Но по недосмотру были
закуплены и впаяны ADuC7020BCPZ62i (с загрузкой через I2C). Донгла
такого естественно нет. Как проблему решать? - alexem(28.07.2023 20:13, ARM, полностью)
- Скажите, а сеггер жлинки китайские окончательно попячены
обновлениями ПО или можно на каком-нибудь али взять что-нибудь
подобное чтобы виделось в cubemxIDE? - NAUT(26.07.2023 16:47, ARM, полностью)
- printf(), __io_putchar, _write(), --specs=nosys.specs,
--nano.specs и вот это вот всё: хочу сделать печать на UART при использовании printf(). Что для этого надо для arm-none-eabi? Понятно, что можно сделать через snprintf() и свой буфер, но есть впечатление, что это изобретение велосипеда.
Вот только беда - к существующему нет внятного описания. Или я
поисковикам вопрос не смог задать правильно. - Dingo(13.04.2023 15:34, ARM, полностью)
- Так получилось в итоге? - RxTx(27.07.2023 20:04)
- Немного по поискам, может кому-то облегчит их и сократит путь. И о
причинах. Главное - хотелось как и задумано пользоваться printf() как стандартной и всем понятой функцией просто подключив <stdio.h>. У меня - не получилось. Потому что не "просто вывести на
консоль", а консоль это stdout, который есть файл, который есть устройство, ... в доме который
построил Джек. В моём случае FILE (в т.ч. stdout) содержит поле _write с Dingo(524 знак., 15.04.2023 18:05, ссылка)
- Конкретно printf() в конце концов вызывает write(), и тебе надо
переопределить write() так, как тебе надо. VVB(315 знак., 14.04.2023 06:38)
- Эта штука компиляторазависимая, для ИАР нужно переопределить
putchar() для stdout, для вывода по дескриптору переопределить
fputc() IBAH(2256 знак., 13.04.2023 19:22)
- В песках что-то такое было давным-давно >>> SciFi(1 знак., 13.04.2023 15:49, ссылка)
- Переопределяешь функции передачи символов. Чтобы перебить
библиотечные... что-то типа Putchar ... POV(90 знак., 13.04.2023 15:38, ссылка, ссылка)