IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> отладка для stm8, stm8flash допиливание
Mr.Yuran
сообщение 19.5.2016, 10:57
Сообщение #21


Активный участник
***

Группа: Спамеры
Сообщений: 6871
Регистрация: 28.2.2015
Пользователь №: 1190



а что такое прагма пуш и поп?
Перейти в начало страницы
 
+Цитировать сообщение
ViKo
сообщение 19.5.2016, 11:06
Сообщение #22


Активный участник
***

Группа: Пользователи
Сообщений: 10937
Регистрация: 19.4.2011
Пользователь №: 345



Цитата(Mr.Yuran @ 19.5.2016, 11:57) *
а что такое прагма пуш и поп?

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
Перейти в начало страницы
 
+Цитировать сообщение
Mr.Yuran
сообщение 19.5.2016, 12:19
Сообщение #23


Активный участник
***

Группа: Спамеры
Сообщений: 6871
Регистрация: 28.2.2015
Пользователь №: 1190



Цитата(ViKo @ 19.5.2016, 12:06) *
ARM ® Compiler v5.06 for µVision
armcc User Guide

А, понятно smile.gif
Православных не касается smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
ViKo
сообщение 19.5.2016, 14:09
Сообщение #24


Активный участник
***

Группа: Пользователи
Сообщений: 10937
Регистрация: 19.4.2011
Пользователь №: 345



Так что там насчет тактов, Юран?
Перейти в начало страницы
 
+Цитировать сообщение
Mr.Yuran
сообщение 19.5.2016, 14:36
Сообщение #25


Активный участник
***

Группа: Спамеры
Сообщений: 6871
Регистрация: 28.2.2015
Пользователь №: 1190



Цитата(ViKo @ 19.5.2016, 15:09) *
Так что там насчет тактов, Юран?

Получается, что три.
Провел следственный экспериМЕНТ:
Код
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
Перейти в начало страницы
 
+Цитировать сообщение
ViKo
сообщение 19.5.2016, 15:31
Сообщение #26


Активный участник
***

Группа: Пользователи
Сообщений: 10937
Регистрация: 19.4.2011
Пользователь №: 345



В ARM ® Cortex ® -M3 Processor Technical Reference Manual описаны команды и такты. Но точно не понять, сколько получится. От конвейера зависит. Я в отладчике видел 4 такта. Надо будет еще проверить.
Cortex круче MSP? facepalm.gif

Сообщение отредактировал ViKo - 19.5.2016, 15:35
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 19.5.2016, 19:34
Сообщение #27


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



шо ви к кортексам привязались. их основное призвание считать арихметику побыстрее и иногда лазать по регистрам прерывания запрещать разрешать вместе с ПДП
сабж кстати, несмотря на 8 битность, неприятно удивляет невозможностью просто и красиво дергать ногаме в цикле
Перейти в начало страницы
 
+Цитировать сообщение
Harbinger
сообщение 20.5.2016, 3:49
Сообщение #28


посіпака Хунти
Иконка группы

Группа: Мод
Сообщений: 20016
Регистрация: 21.11.2009
Из: Vinnitsa
Пользователь №: 11



Из RAM ЕМНИП код выполняется с предсказуемыми таймингами, но существенно медленнее в целом (из FLASH за такт выбирается 4 байта, а из RAM - 1).
Что ещё плохо в STM8 - недостаточная температурная стабильность HSI, даже нормальная работа UART в индустриальном диапазоне температур не гарантируется (на практике STM8L при стабильном питании в 1% вписываются, но закладываться на это нельзя).
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 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 - и прикрутить к дудойту фичку girl_crazy.gif
Перейти в начало страницы
 
+Цитировать сообщение

2 страниц V  < 1 2
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 21:48