Найдено 535 результатов

menzoda
Вс ноя 06, 2016 10:46:13
Форум: Разные вопросы по МК
Тема: Вопросы по С/С++ (СИ)
Ответы: 7703
Просмотры: 1440632

Re: Вопросы по С/С++ (СИ)

Я немного соврал.

volatile int *ptr
это указатель на переменную, которая трактуется как volatile. А в случае
int * volatile ptr
сам указатель трактуется как volatile. Если сделать вот так

volatile int *ptr;
ptr++;
...
*ptr = data;

то компилятор на свое усмотрение может и применить некие ...
menzoda
Вс ноя 06, 2016 09:15:34
Форум: Разные вопросы по МК
Тема: Вопросы по С/С++ (СИ)
Ответы: 7703
Просмотры: 1440632

Re: Вопросы по С/С++ (СИ)

Да

Добавлено
На самом деле не совсем. См. мой ответ ниже.
menzoda
Сб ноя 05, 2016 23:09:19
Форум: Разные вопросы по МК
Тема: Вопросы по С/С++ (СИ)
Ответы: 7703
Просмотры: 1440632

Re: Вопросы по С/С++ (СИ)

Что здесь происходит?
Ничего сложного. Значение data копируется в 16-битную ячейку памяти, на которую указывает ptr. Затем, инкремент смещает указатель так чтобы он указывал на следующую 16-битную ячейку. Ключевое слово volatile гарантирует, что запись в ячейку произойдет именно в этом месте (это ...
menzoda
Ср окт 19, 2016 12:45:21
Форум: ARM
Тема: Библиотека математических операций с фиксированной точкой
Ответы: 46
Просмотры: 18427

Re: Библиотека математических операций с фиксированной точко

Вроде такого способа вычисления до этого не встречал. Посмотрю на досуге.
menzoda
Пн окт 03, 2016 15:46:45
Форум: ARM
Тема: Библиотека математических операций с фиксированной точкой
Ответы: 46
Просмотры: 18427

Re: Библиотека математических операций с фиксированной точко

Ага, я тоже споткнулся об эту фразу, но спрашивать было как-то лень
menzoda
Вс окт 02, 2016 20:19:57
Форум: ARM
Тема: Библиотека математических операций с фиксированной точкой
Ответы: 46
Просмотры: 18427

Re: Библиотека математических операций с фиксированной точко

Уточню: арктангенс отношения и десятичный логарифм отношения. Первый - для вычисления фазы комплексного аргумента, второй - для перевода в децибелы. Многие наверное согласятся, что это будет полезнее даже синуса/косинуса, а тем паче тангенса.
Что же, тогда сделаю себе заметку, что первым делом их ...
menzoda
Вс окт 02, 2016 00:58:14
Форум: ARM
Тема: Библиотека математических операций с фиксированной точкой
Ответы: 46
Просмотры: 18427

Re: Библиотека математических операций с фиксированной точко

Ага, некрасивое. Точнее, в нуле оно у всех нормальное, а вот в окрестности произвольной точки у синуса/косинуса оно хорошее, а у тангенса не очень. Я имею ввиду что производные синуса и косинуса это те же самые синусы и косинусы, и их можно получить из таблицы. А вот у тангенса первая и вторая ...
menzoda
Сб окт 01, 2016 17:52:36
Форум: ARM
Тема: Библиотека математических операций с фиксированной точкой
Ответы: 46
Просмотры: 18427

Re: Библиотека математических операций с фиксированной точко

Посмотрел-подумал и решил объединить репозитории для отдельных архитектур в один общий. Кроме того добавил поддержку GCC. Еще прикинул как реализовать экспоненту и тангенс, вышло не очень хорошо. Для тангенса наверное нужно будет две lookup таблицы, а с экспонентой... тоже не все гладко.
menzoda
Вт сен 20, 2016 10:13:07
Форум: Разные вопросы по МК
Тема: С чего начать работу с TMS320F28035 (DSP)
Ответы: 15
Просмотры: 10841

Re: С чего начать работу с TMS320F28035 (DSP)

Ага, есть такой вывод. Используется при загрузке, чтобы определить что и откуда загружать. Потом то его можно использовать по своему усмотрению, но при сбросе он должен быть в определенном состоянии. Лучше всего повесить датчик на другой вывод. Еще можно придумать какую-нибудь аппаратную приблуду ...
menzoda
Вт сен 20, 2016 08:10:34
Форум: Разные вопросы по МК
Тема: С чего начать работу с TMS320F28035 (DSP)
Ответы: 15
Просмотры: 10841

Re: С чего начать работу с TMS320F28035 (DSP)

А что-за функции у этой ноги? Нет ли каких-нибудь специальных?
menzoda
Пт сен 16, 2016 12:39:02
Форум: ARM
Тема: Библиотека математических операций с фиксированной точкой
Ответы: 46
Просмотры: 18427

Re: Библиотека математических операций с фиксированной точко

Для М0 наработок нет. Я сделал функцию умножения, потом перешел к делению, увидел что у него нет инструкции CLZ, что только лишь её реализация уже будет занимать 1/3 от всей функции деления, и забросил это дело до лучших времен.

на её вызов+возврат тратится 4+3=7 тактов, а собственно на умножение ...
menzoda
Ср сен 07, 2016 08:18:39
Форум: Разные вопросы по МК
Тема: Вопросы по С/С++ (СИ)
Ответы: 7703
Просмотры: 1440632

Re: Вопросы по С/С++ (СИ)

Это типа аналог такой конструкции?
Да, но лучше использовать условие, потому что если MAX_SOCK_NUM не будет равен степени двойки, то операция остатка от деления % будет весьма прожорливой.
menzoda
Вс сен 04, 2016 14:25:16
Форум: ARM
Тема: Библиотека математических операций с фиксированной точкой
Ответы: 46
Просмотры: 18427

Re: Библиотека математических операций с фиксированной точко

Значит дела обстоят следующим образом: 32-битную версию для Cortex-M3 и Cortex-M4 я "релизнул", 16-битную версию для для Cortex-M3 и Cortex-M4 решил отложить и перейти сразу к Cortex-M0 на котором она нужнее. Думал сейчас быстренько все сделаю и тогда уж скажу. Однако, когда я покопался в наборе ...
menzoda
Пт сен 02, 2016 18:29:21
Форум: ARM
Тема: Как установить бит в памяти на ARM?
Ответы: 15
Просмотры: 4801

Re: Как установить бит в памяти на ARM?

С другими еще хуже будет. Не у всех есть этот буфер, который может хоть как-то помогает. Могу сказать, что на TMS320F2810 (это не ARM) на номинальной частоте 150 МГц код из SRAM выполняется примерно в два-три раза быстрее чем из flash.
menzoda
Чт сен 01, 2016 22:13:37
Форум: ARM
Тема: Как установить бит в памяти на ARM?
Ответы: 15
Просмотры: 4801

Re: Как установить бит в памяти на ARM?

Я может попробую с акселератором, если найду свою платку discovery.
menzoda
Чт сен 01, 2016 13:18:18
Форум: ARM
Тема: Как установить бит в памяти на ARM?
Ответы: 15
Просмотры: 4801

Re: Как установить бит в памяти на ARM?

Так я и не против, что в частных случаях из flash может быть даже быстрее. Я говорю про большинство случаев, а в большинстве случаев, как я уже говорил, в МК нет акселератора. Например, у ST он есть только в некоторых продвинутых линейках. А без акселератора, как я тоже уже говорил, flash настолько ...
menzoda
Чт сен 01, 2016 08:27:42
Форум: ARM
Тема: Как установить бит в памяти на ARM?
Ответы: 15
Просмотры: 4801

Re: Как установить бит в памяти на ARM?

Я открыл даташит на первый попавшийся STM32f407, так вот там ICode имеет доступ и к SRAM.

I-bus
This bus connects the Instruction bus of the Cortex®-M4 with FPU core to the BusMatrix.
This bus is used by the core to fetch instructions. The target of this bus is a memory
containing code (internal ...
menzoda
Ср авг 31, 2016 23:06:53
Форум: ARM
Тема: Как установить бит в памяти на ARM?
Ответы: 15
Просмотры: 4801

Re: Как установить бит в памяти на ARM?

Чтобы совсем быть точным

Правильно ли я понимаю, что он будет выполняться 4 такта?
Нет, ldr/str в общем случае выполняется два такта. Иногда N последовательных ldr/str могут быть выполнены за N+1 такт. Кроме того, первый ldr может загружать адрес из константы во flash памяти, это может добавить ...
menzoda
Ср авг 24, 2016 13:57:36
Форум: Разные вопросы по МК
Тема: С чего начать работу с TMS320F28035 (DSP)
Ответы: 15
Просмотры: 10841

Re: С чего начать работу с TMS320F28035 (DSP)

Так ничего не могу сказать. Такой проблемы не встречал. У них сложная периферия, таймер может считать вверх, вниз, вверх-вниз, может тут где-то что-то не то настроено. Нужно отлаживаться. Убедись, что таймер считает вверх до нужного значения, что скважность правильно записывается в регистр сравнения ...
menzoda
Вт авг 16, 2016 21:24:31
Форум: Разные вопросы по МК
Тема: С чего начать работу с TMS320F28035 (DSP)
Ответы: 15
Просмотры: 10841

Re: С чего начать работу с TMS320F28035 (DSP)

Теперь вопрос: как записать и выполнять программу в FLASH?
Если "на столе", то с помощью отладчика. Отладчик подключается через JTAG (в основном) и имеет доступ в том числе к внутренней SRAM. В нее он загружает маленький загрузчик, запускает его, а уже загрузчик получает от отладчика прошивку и ...

Перейти к расширенному поиску