отладка для stm8, stm8flash допиливание |
Здравствуйте, гость ( Вход | Регистрация )
отладка для stm8, stm8flash допиливание |
19.5.2016, 10:57
Сообщение
#21
|
|
Активный участник Группа: Спамеры Сообщений: 6871 Регистрация: 28.2.2015 Пользователь №: 1190 |
а что такое прагма пуш и поп?
|
|
|
19.5.2016, 11:06
Сообщение
#22
|
|
Активный участник Группа: Пользователи Сообщений: 10937 Регистрация: 19.4.2011 Пользователь №: 345 |
а что такое прагма пуш и поп? ARM ® Compiler v5.06 for µVision armcc User Guide Цитата 9.96 #pragma push
This pragma saves the current pragma state. Related concepts 5.3 Controlling compiler diagnostic messages with pragmas on page 5-208. Related references 9.95 #pragma pop on page 9-610. Сообщение отредактировал ViKo - 19.5.2016, 11:07 |
|
|
19.5.2016, 12:19
Сообщение
#23
|
|
Активный участник Группа: Спамеры Сообщений: 6871 Регистрация: 28.2.2015 Пользователь №: 1190 |
|
|
|
19.5.2016, 14:09
Сообщение
#24
|
|
Активный участник Группа: Пользователи Сообщений: 10937 Регистрация: 19.4.2011 Пользователь №: 345 |
Так что там насчет тактов, Юран?
|
|
|
19.5.2016, 14:36
Сообщение
#25
|
|
Активный участник Группа: Спамеры Сообщений: 6871 Регистрация: 28.2.2015 Пользователь №: 1190 |
Так что там насчет тактов, Юран? Получается, что три. Провел следственный экспериМЕНТ: Код 66 while(period >0){ 08003e86: b.n 0x8003e8a <Delay+10> 67 period --; 08003e88: subs r3, #1 66 while(period >0){ 08003e8a: cmp r3, #0 08003e8c: bne.n 0x8003e88 <Delay+8> 69 } Но это после того, как написал волшебное слово register. Код void Delay(uint32_t register period) До этого вдвое больше было. Сообщение отредактировал Mr.Yuran - 19.5.2016, 14:54 |
|
|
19.5.2016, 15:31
Сообщение
#26
|
|
Активный участник Группа: Пользователи Сообщений: 10937 Регистрация: 19.4.2011 Пользователь №: 345 |
В ARM ® Cortex ® -M3 Processor Technical Reference Manual описаны команды и такты. Но точно не понять, сколько получится. От конвейера зависит. Я в отладчике видел 4 такта. Надо будет еще проверить.
Cortex круче MSP? Сообщение отредактировал ViKo - 19.5.2016, 15:35 |
|
|
19.5.2016, 19:34
Сообщение
#27
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
шо ви к кортексам привязались. их основное призвание считать арихметику побыстрее и иногда лазать по регистрам прерывания запрещать разрешать вместе с ПДП
сабж кстати, несмотря на 8 битность, неприятно удивляет невозможностью просто и красиво дергать ногаме в цикле |
|
|
20.5.2016, 3:49
Сообщение
#28
|
|
посіпака Хунти Группа: Мод Сообщений: 20016 Регистрация: 21.11.2009 Из: Vinnitsa Пользователь №: 11 |
Из RAM ЕМНИП код выполняется с предсказуемыми таймингами, но существенно медленнее в целом (из FLASH за такт выбирается 4 байта, а из RAM - 1).
Что ещё плохо в STM8 - недостаточная температурная стабильность HSI, даже нормальная работа UART в индустриальном диапазоне температур не гарантируется (на практике STM8L при стабильном питании в 1% вписываются, но закладываться на это нельзя). |
|
|
6.3.2020, 6:30
Сообщение
#29
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
давно не использую stm8
но чуваки которые делали texane stlink aka st-util оказывается додумались до такого: Код struct stlinky { uint32_t magic; uint32_t bufsize; uint32_t up_tail; uint32_t up_head; uint32_t dw_tail; uint32_t dw_head; char upbuf[CONFIG_LIB_STLINKY_BSIZE]; char dwbuf[CONFIG_LIB_STLINKY_BSIZE]; } __attribute__ ((packed)); */ #define STLINKY_MAGIC 0xDEADF00D эта штука являет собой рингбуфер для отладочной консоли не поверх ITM (я сейчас об stm32) а прямо в памяти. найти начало структуры можно сканируя память на предмет означенного мажика и в общем, можно заглянуть в потроха st-util в особенности st-term - и прикрутить к дудойту фичку |
|
|
Текстовая версия | Сейчас: 29.3.2024, 1:05 |