Я немного соврал.
volatile int *ptr
это указатель на переменную, которая трактуется как volatile. А в случае
int * volatile ptr
сам указатель трактуется как volatile. Если сделать вот так
volatile int *ptr;
ptr++;
...
*ptr = data;
то компилятор на свое усмотрение может и применить некие ...
Найдено 535 результатов
- Вс ноя 06, 2016 10:46:13
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1440632
- Вс ноя 06, 2016 09:15:34
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1440632
Re: Вопросы по С/С++ (СИ)
Да
Добавлено
На самом деле не совсем. См. мой ответ ниже.
Добавлено
На самом деле не совсем. См. мой ответ ниже.
- Сб ноя 05, 2016 23:09:19
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1440632
Re: Вопросы по С/С++ (СИ)
Что здесь происходит?
Ничего сложного. Значение data копируется в 16-битную ячейку памяти, на которую указывает ptr. Затем, инкремент смещает указатель так чтобы он указывал на следующую 16-битную ячейку. Ключевое слово volatile гарантирует, что запись в ячейку произойдет именно в этом месте (это ...
Ничего сложного. Значение data копируется в 16-битную ячейку памяти, на которую указывает ptr. Затем, инкремент смещает указатель так чтобы он указывал на следующую 16-битную ячейку. Ключевое слово volatile гарантирует, что запись в ячейку произойдет именно в этом месте (это ...
- Ср окт 19, 2016 12:45:21
- Форум: ARM
- Тема: Библиотека математических операций с фиксированной точкой
- Ответы: 46
- Просмотры: 18427
Re: Библиотека математических операций с фиксированной точко
Вроде такого способа вычисления до этого не встречал. Посмотрю на досуге.
- Пн окт 03, 2016 15:46:45
- Форум: ARM
- Тема: Библиотека математических операций с фиксированной точкой
- Ответы: 46
- Просмотры: 18427
Re: Библиотека математических операций с фиксированной точко
Ага, я тоже споткнулся об эту фразу, но спрашивать было как-то лень
- Вс окт 02, 2016 20:19:57
- Форум: ARM
- Тема: Библиотека математических операций с фиксированной точкой
- Ответы: 46
- Просмотры: 18427
Re: Библиотека математических операций с фиксированной точко
Уточню: арктангенс отношения и десятичный логарифм отношения. Первый - для вычисления фазы комплексного аргумента, второй - для перевода в децибелы. Многие наверное согласятся, что это будет полезнее даже синуса/косинуса, а тем паче тангенса.
Что же, тогда сделаю себе заметку, что первым делом их ...
Что же, тогда сделаю себе заметку, что первым делом их ...
- Вс окт 02, 2016 00:58:14
- Форум: ARM
- Тема: Библиотека математических операций с фиксированной точкой
- Ответы: 46
- Просмотры: 18427
Re: Библиотека математических операций с фиксированной точко
Ага, некрасивое. Точнее, в нуле оно у всех нормальное, а вот в окрестности произвольной точки у синуса/косинуса оно хорошее, а у тангенса не очень. Я имею ввиду что производные синуса и косинуса это те же самые синусы и косинусы, и их можно получить из таблицы. А вот у тангенса первая и вторая ...
- Сб окт 01, 2016 17:52:36
- Форум: ARM
- Тема: Библиотека математических операций с фиксированной точкой
- Ответы: 46
- Просмотры: 18427
Re: Библиотека математических операций с фиксированной точко
Посмотрел-подумал и решил объединить репозитории для отдельных архитектур в один общий. Кроме того добавил поддержку GCC. Еще прикинул как реализовать экспоненту и тангенс, вышло не очень хорошо. Для тангенса наверное нужно будет две lookup таблицы, а с экспонентой... тоже не все гладко.
- Вт сен 20, 2016 10:13:07
- Форум: Разные вопросы по МК
- Тема: С чего начать работу с TMS320F28035 (DSP)
- Ответы: 15
- Просмотры: 10841
Re: С чего начать работу с TMS320F28035 (DSP)
Ага, есть такой вывод. Используется при загрузке, чтобы определить что и откуда загружать. Потом то его можно использовать по своему усмотрению, но при сбросе он должен быть в определенном состоянии. Лучше всего повесить датчик на другой вывод. Еще можно придумать какую-нибудь аппаратную приблуду ...
- Вт сен 20, 2016 08:10:34
- Форум: Разные вопросы по МК
- Тема: С чего начать работу с TMS320F28035 (DSP)
- Ответы: 15
- Просмотры: 10841
Re: С чего начать работу с TMS320F28035 (DSP)
А что-за функции у этой ноги? Нет ли каких-нибудь специальных?
- Пт сен 16, 2016 12:39:02
- Форум: ARM
- Тема: Библиотека математических операций с фиксированной точкой
- Ответы: 46
- Просмотры: 18427
Re: Библиотека математических операций с фиксированной точко
Для М0 наработок нет. Я сделал функцию умножения, потом перешел к делению, увидел что у него нет инструкции CLZ, что только лишь её реализация уже будет занимать 1/3 от всей функции деления, и забросил это дело до лучших времен.
на её вызов+возврат тратится 4+3=7 тактов, а собственно на умножение ...
на её вызов+возврат тратится 4+3=7 тактов, а собственно на умножение ...
- Ср сен 07, 2016 08:18:39
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1440632
Re: Вопросы по С/С++ (СИ)
Да, но лучше использовать условие, потому что если MAX_SOCK_NUM не будет равен степени двойки, то операция остатка от деления % будет весьма прожорливой.Это типа аналог такой конструкции?
- Вс сен 04, 2016 14:25:16
- Форум: ARM
- Тема: Библиотека математических операций с фиксированной точкой
- Ответы: 46
- Просмотры: 18427
Re: Библиотека математических операций с фиксированной точко
Значит дела обстоят следующим образом: 32-битную версию для Cortex-M3 и Cortex-M4 я "релизнул", 16-битную версию для для Cortex-M3 и Cortex-M4 решил отложить и перейти сразу к Cortex-M0 на котором она нужнее. Думал сейчас быстренько все сделаю и тогда уж скажу. Однако, когда я покопался в наборе ...
- Пт сен 02, 2016 18:29:21
- Форум: ARM
- Тема: Как установить бит в памяти на ARM?
- Ответы: 15
- Просмотры: 4801
Re: Как установить бит в памяти на ARM?
С другими еще хуже будет. Не у всех есть этот буфер, который может хоть как-то помогает. Могу сказать, что на TMS320F2810 (это не ARM) на номинальной частоте 150 МГц код из SRAM выполняется примерно в два-три раза быстрее чем из flash.
- Чт сен 01, 2016 22:13:37
- Форум: ARM
- Тема: Как установить бит в памяти на ARM?
- Ответы: 15
- Просмотры: 4801
Re: Как установить бит в памяти на ARM?
Я может попробую с акселератором, если найду свою платку discovery.
- Чт сен 01, 2016 13:18:18
- Форум: ARM
- Тема: Как установить бит в памяти на ARM?
- Ответы: 15
- Просмотры: 4801
Re: Как установить бит в памяти на ARM?
Так я и не против, что в частных случаях из flash может быть даже быстрее. Я говорю про большинство случаев, а в большинстве случаев, как я уже говорил, в МК нет акселератора. Например, у ST он есть только в некоторых продвинутых линейках. А без акселератора, как я тоже уже говорил, flash настолько ...
- Чт сен 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 ...
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 ...
- Ср авг 31, 2016 23:06:53
- Форум: ARM
- Тема: Как установить бит в памяти на ARM?
- Ответы: 15
- Просмотры: 4801
Re: Как установить бит в памяти на ARM?
Чтобы совсем быть точным
Правильно ли я понимаю, что он будет выполняться 4 такта?
Нет, ldr/str в общем случае выполняется два такта. Иногда N последовательных ldr/str могут быть выполнены за N+1 такт. Кроме того, первый ldr может загружать адрес из константы во flash памяти, это может добавить ...
Правильно ли я понимаю, что он будет выполняться 4 такта?
Нет, ldr/str в общем случае выполняется два такта. Иногда N последовательных ldr/str могут быть выполнены за N+1 такт. Кроме того, первый ldr может загружать адрес из константы во flash памяти, это может добавить ...
- Ср авг 24, 2016 13:57:36
- Форум: Разные вопросы по МК
- Тема: С чего начать работу с TMS320F28035 (DSP)
- Ответы: 15
- Просмотры: 10841
Re: С чего начать работу с TMS320F28035 (DSP)
Так ничего не могу сказать. Такой проблемы не встречал. У них сложная периферия, таймер может считать вверх, вниз, вверх-вниз, может тут где-то что-то не то настроено. Нужно отлаживаться. Убедись, что таймер считает вверх до нужного значения, что скважность правильно записывается в регистр сравнения ...
- Вт авг 16, 2016 21:24:31
- Форум: Разные вопросы по МК
- Тема: С чего начать работу с TMS320F28035 (DSP)
- Ответы: 15
- Просмотры: 10841
Re: С чего начать работу с TMS320F28035 (DSP)
Теперь вопрос: как записать и выполнять программу в FLASH?
Если "на столе", то с помощью отладчика. Отладчик подключается через JTAG (в основном) и имеет доступ в том числе к внутренней SRAM. В нее он загружает маленький загрузчик, запускает его, а уже загрузчик получает от отладчика прошивку и ...
Если "на столе", то с помощью отладчика. Отладчик подключается через JTAG (в основном) и имеет доступ в том числе к внутренней SRAM. В нее он загружает маленький загрузчик, запускает его, а уже загрузчик получает от отладчика прошивку и ...