Кто любит RISC в жизни, заходим, не стесняемся.
Пт фев 24, 2023 22:25:47
ARV писал(а):ну, дождался я ST-Link v2 из Китая.
вот такой примерно:
Изображение
ну и не видит его CubeIDE. утилитка обновления прошивки видит, а IDE - нет.
и чо делать?
Что, что ... я что-то пропустил? Повторите, пожалуйста.
Вс фев 26, 2023 09:41:05
ARV писал(а):утилитка обновления прошивки видит
Ну и как, решили обновить?
А то у меня чип без маркировки, как то не рискнул, второго-то ST-Linkа нету.
Вс фев 26, 2023 16:32:43
Так обновил сразу же, как только выяснил, что утилита обновления опознала девайс. Т.е. через 15 минут после неудачной попытки запустить отладку.
Добавлено after 5 hours 42 minutes 39 seconds:в общем, благодаря исключительной помощи
Alex-а сумел я наладить STLink и остальное...
как оказалось, наибольшая проблема была в USB-хабе с алиэкспресса за 90 рублей
но не только.
теперь буду пробовать идти дальше не спеша...
Вс фев 26, 2023 17:08:28
Ипал я в рот эти стм-ы ! Думал что с ними всё норм будет. Нихрена ... там разобраться , это надо быть программистом. После установки ПО стм-ов , и дальнейшего его удаления , оказалось , что не работает драйвер AVRISP-MKII. И всё ... Никакие пляски с бубнами не помогли. Теперь на моём компе АВР можно прошить только через рс232 и унипроф.
Вс фев 26, 2023 17:21:45
Alex_641 писал(а):Ипал я в рот эти стм-ы ! Думал что с ними всё норм будет. Нихрена ... там разобраться , это надо быть программистом.
Ну я то уж точно не программист.
Пн мар 20, 2023 22:47:07
нид хелп. есть stm32l562re, оперативка разделена на два региона. с 0х2000'0000 192K и с 0x20030000 64K
хочу использовать эти 64К для размещения массива.
Делаю
в ld:
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K
RAM2 (xrw) : ORIGIN = 0x20030000, LENGTH = 64K
FLASH (rx) : ORIGIN = 0x8006000, LENGTH = 512K-24K
}
SECTIONS
{
....
.sram2 :
{
*(.sram2)
} >RAM2
....
}
пробовал так секцию описать:
.sram2 (NOLOAD):
{
*(.data) /* .data sections */
*(.data*) /* .data* sections */
. = ALIGN(4);
*(.sram2)
. = ALIGN(4);
} >RAM2
объявляю массивы:
static lv_color_t buf1_1[TFT_HOR_RES * LVGL_BUF_SIZE] __attribute__((aligned (4))) __attribute__((section(".sram2"))) = {0};
static lv_color_t buf1_2[TFT_HOR_RES * LVGL_BUF_SIZE] __attribute__((aligned (4))) __attribute__((section(".sram2"))) = {0};
(да, это буферы lvgl)
при прошивке все нормально. но если включаю генерировать bin, получается файл 400МБ размером. при попытке сделать bin2hex - эти же 400М
закидываю hex в CubeProg, говорит про две секции, что в принципе эти полгига объясняет. Но мне нужно получить бинарник для передачи в загрузчик.
Где я налажал в линкере?
Йа сделаль
section
.sram2 (NOLOAD):
{
. = ALIGN(4);
_ssram2 = .; /* create a global symbol at ccmram start */
*(.sram2)
*(.sram2*)
. = ALIGN(4);
_esram2 = .; /* create a global symbol at ccmram end */
} >RAM2
объявление
static lv_color_t buf1_1[TFT_HOR_RES * LVGL_BUF_SIZE] __attribute__((aligned (4))) __attribute__((section(".sram2")));
static lv_color_t buf1_2[TFT_HOR_RES * LVGL_BUF_SIZE] __attribute__((aligned (4))) __attribute__((section(".sram2")));
выравнивание в объявлении и символы начала и конца секции в моем случае не нужны.
для неинициализированных переменных!
Вт мар 21, 2023 08:49:23
Такой вопрос - сколько прошивок может пережить stm?
Ну вот очередная макетка stm32f030, с месяц назад спаянная, терзал её много.
Сегодня в нормальном режиме камень перестал определятся, перевёл в boot, прошил, но стартует только после ресета, сам - никак, при попытке прошить опять не определяется, опять его в boot, очистка, заново, ... и никак, хана ему?
//
upd. Прошил простейшим, всё норм, косяк где-то у меня, но изменений не было и вчера работало... по кускам своё творчество пошёл проверять...
Вт мар 21, 2023 18:19:21
Такой вопрос - сколько прошивок может пережить stm?
Открываем DataSheet, Table 40. Flash memory endurance and data retention.
Чт мар 23, 2023 18:00:12
Деление может быть виной странного поведения F0?
Избавился от него, и пока всё вроде норм.
Сб мар 25, 2023 12:38:31
Деление может быть виной странного поведения F0?
Деление может быть виной исключения.
Сб мар 25, 2023 13:22:17
В F0 нет инструкции деления.
Сб мар 25, 2023 13:30:51
И что, на ноль не делить теперь?
Сб мар 25, 2023 13:39:54
И что, на ноль не делить теперь?
поделите в уме.
Сб мар 25, 2023 19:02:39
И что, на ноль не делить теперь?
Раз уж речь зашла о делении на ноль, то спрошу тут.
VladislavS, а где описана процедура правильной обработки исключения при делении на ноль в STM32, в которых эта операция реализована аппаратно? Особенно интересно, как правильно продолжить выполнение программы после команды деления, вызвавшей исключение.
Сб мар 25, 2023 19:22:29
То что возникает исключение у вас вопросов, я так понял, не вызывает? Как работают исключения описано, например, в "STM32 Cortex®-M4 MCUs and MPUs programming manual" (ну или какое там ещё ядро). Правильное продолжение программы - автоматически послать факс в отдел кадров с заявлением "просю по собственному".
Сб мар 25, 2023 22:02:58
Доброго времени.
stm32g0c1ket6 может-ли тактироваться от кварцевого резонатора (не от кварцевого генератора). С английским туговато, в шитодате указано 4 to 48 MHz crystal oscillator, но ноги RCC_OSC_OUT у МК нету. Есть RCC_OSC_EN. Вот и возникли сомнения, надо генератор или резонатор тоже сойдет? Кто знает поясните плиз.
Сб мар 25, 2023 23:50:36
В кубе есть визуальный конфигуратор. Там на вкладке тактовых частот можно натыкать любую допустимую конфигурацию.
Вс мар 26, 2023 00:59:38
где описана процедура правильной обработки исключения при делении на ноль в STM32, в которых эта операция реализована аппаратно?
FPU_IRQHandler() Для чипов с аппаратной математикой, срабатывает с небольшим запаздыванием - так-что на ноль всё-же поделить успевает. Так-же всегда срабатывает при получении NAN, попытке деления нуля на число, и ещё несколько десятков очень редких случаев. Но эта сволочь полностью игнорирует бесконечное число, отчего серия умножений может выдать нереальный результат, и при этом совершенно непонятно где ошибка. Один раз получили inf, и во всех местах его применения останется inf.
В программном варианте тоже есть исключения, но я так и не понял как ведётся обработка, и где.
Добавлено after 7 minutes 53 seconds:Правильное продолжение программы - автоматически послать факс в отдел кадров с заявлением "просю по собственному".
Это когда девайс в серию ушёл, а деньги с премии уже успели потратить.
Самое просто и разумное - стоп машина, возврат, и пошаговое по граблям.
Каким-то программным способом обрабатывать совершенно бесполезно, это придётся заглушки на каждую операцию писать, глупости.
Вс мар 26, 2023 06:01:04
stm32g0c1ket6 может-ли тактироваться от кварцевого резонатора (не от кварцевого генератора). Есть RCC_OSC_EN. Вот и возникли сомнения, надо генератор или резонатор тоже сойдет? Кто знает поясните плиз.
Где вы увидели RCC_OSC_EN? Для вашего корпуса предусмотрено только подключение часового кварца для LSE. Для тактирования используйте HSI.
Добавлено after 10 minutes 58 seconds:Самое просто и разумное - стоп машина, возврат, и пошаговое по граблям.
Лет десять назад натыкался на топик, где парень делал квадрокоптер. И у него спонтанно возникала ошибка деления на ноль в мат. библиотеке, в результате чего дрон падал вниз. Чип был вроде F103, топик был огромным, на сотни постов, помогали ему всем форумом. Я заглянул в последний пост. В общем, в очередной раз ошибка возникла, когда дрон был над рекой. Тема была закрыта.
Вс мар 26, 2023 07:19:04
Для вашего корпуса предусмотрено только подключение часового кварца для LSE.
А если найду?
Спойлер
Сделали для вас же удобный инструмент - пользуйтесь!
Спойлер
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.