Саймонф
Ср 15 июня 2016 г., 21:05
Любой получил какие -либо примеры встроенной сборки в Stmduino32?
Предпочтительно прохождение Int и возвращение Int.
Предпочтительно прохождение Int и возвращение Int.
Rogerclark
Ср 15 июня 2016 г., 21:24
Я гуглил и нашел это
http: // www.Ethernut.de/en/documents/ram-inline-asm.HTML
Ядро имеет некоторую сборку IMLINE, но это просто инструкции, которые будут действовать в качестве задержек.
Существует также активный поток с некоторым кодом FFT в файле ассемблера, вы можете посмотреть, но он не задокументирован, поэтому его трудно читать и, вероятно, далеко за сложные.
КСТАТИ. Что вы собираетесь кодировать в ассемблере ?
http: // www.Ethernut.de/en/documents/ram-inline-asm.HTML
Ядро имеет некоторую сборку IMLINE, но это просто инструкции, которые будут действовать в качестве задержек.
Существует также активный поток с некоторым кодом FFT в файле ассемблера, вы можете посмотреть, но он не задокументирован, поэтому его трудно читать и, вероятно, далеко за сложные.
КСТАТИ. Что вы собираетесь кодировать в ассемблере ?
Саймонф
Ср 15 июня 2016 г. 22:34
Rogerclark написал:Я гуглил и нашел это
http: // www.Ethernut.de/en/documents/ram-inline-asm.HTML
Ядро имеет некоторую сборку IMLINE, но это просто инструкции, которые будут действовать в качестве задержек.
Существует также активный поток с некоторым кодом FFT в файле ассемблера, вы можете посмотреть, но он не задокументирован, поэтому его трудно читать и, вероятно, далеко за сложные.
КСТАТИ. Что вы собираетесь кодировать в ассемблере ?
http: // www.Ethernut.de/en/documents/ram-inline-asm.HTML
Ядро имеет некоторую сборку IMLINE, но это просто инструкции, которые будут действовать в качестве задержек.
Существует также активный поток с некоторым кодом FFT в файле ассемблера, вы можете посмотреть, но он не задокументирован, поэтому его трудно читать и, вероятно, далеко за сложные.
КСТАТИ. Что вы собираетесь кодировать в ассемблере ?
Rogerclark
Ср 15 июня 2016 г., 11:12
Я только что попробовал пример с этой страницы, и он работает хорошо
RTC has set the system time
19:57:45 8/5/2018
SETTING TIME TO 19
0:00:19 1/1/1970
0:00:21 1/1/1970
Rogerclark
Чт 16 июня 2016 г., 12:17
На самом деле, глядя на код и то, как компилятор обрабатывает без подписи длинной и без знаки Int, а Unsigned Long - это 4 байта, что такое же, как и Unsigned int.
Итак, я изменил код, чтобы использовать Unsigned Int, и он все еще работает нормально
Итак, я изменил код, чтобы использовать Unsigned Int, и он все еще работает нормально
SPIClass::setModule(int spi_num)
{
switch (spi_num) {
#if BOARD_NR_SPI >= 1
case 1:
this->spi_d = SPI1;
break;
#endif
#if BOARD_NR_SPI >= 2
case 2:
this->spi_d = SPI2;
break;
#endif
#if BOARD_NR_SPI >= 3
case 3:
this->spi_d = SPI3;
break;
#endif
default:
ASSERT(0);
}
}
ZMEMW16
Чт 16 июня 2016 г., 10:44
В этом фрагменте кода эта ссылка предназначена на страницу довольно всеобъемлющих примеров, включая несколько переменных и регистрации использования.
http: // www.Ethernut.de/en/documents/ram-inline-asm.HTML
и ссылка в нижних точках с документацией GCC Suite, включая Historial
Я уже вытащил 4.8.5. Теперь о чтении этого
http: // gcc.гну.org/onlinedocs/
Стивен
http: // www.Ethernut.de/en/documents/ram-inline-asm.HTML
и ссылка в нижних точках с документацией GCC Suite, включая Historial
Я уже вытащил 4.8.5. Теперь о чтении этого
http: // gcc.гну.org/onlinedocs/
Стивен
Rogerclark
Чт 16 июня 2016 г., 11:30 утра
ZMEMW16 написал:В этом фрагменте кода эта ссылка предназначена на страницу довольно всеобъемлющих примеров, включая несколько переменных и регистрации использования.
http: // www.Ethernut.de/en/documents/ram-inline-asm.HTML
Стивен
http: // www.Ethernut.de/en/documents/ram-inline-asm.HTML
Стивен
ZMEMW16
Чт 16 июня 2016 12:28
Я пытался отметить, что в дальнейшем появляются примеры, расширяющие конкретные элементы, которые вы упомянули в своем посте, также и OP знает, что, когда он пошел туда, он очень полезен.
Стивен
Стивен
Rogerclark
Чт 16 июня 2016 г., 21:30
ХОРОШО
Я надеялся, что ОП прочтет всю страницу.
В основном я просто хотел проверить, действительно ли простой пример будет работать с STM32 и Arduino IDE.
Я добавлю пример в репо, в фиктивной библиотеке, которая содержит примеры
Я надеялся, что ОП прочтет всю страницу.
В основном я просто хотел проверить, действительно ли простой пример будет работать с STM32 и Arduino IDE.
Я добавлю пример в репо, в фиктивной библиотеке, которая содержит примеры
Саймонф
Пт 17 июня 2016 г. 1:09
Что ж, у меня было некоторое время для себя, не по уважительной причине атака камней убийственных почек.
Должен попробовать какую -нибудь сборку рук, только что воспроизвел то, что я сделал 38 лет назад в 6502 Assembler
Квадратная рутина
Должен попробовать какую -нибудь сборку рук, только что воспроизвел то, что я сделал 38 лет назад в 6502 Assembler
Квадратная рутина
static const unsigned long g_ulSSIPort[] = {
#ifdef TARGET_IS_BLIZZARD_RB1
GPIO_PORTA_BASE, GPIO_PORTF_BASE, GPIO_PORTB_BASE, GPIO_PORTD_BASE
#else
#ifdef __TM4C129XNCZAD__
GPIO_PORTA_BASE, GPIO_PORTB_BASE, GPIO_PORTD_BASE, GPIO_PORTF_BASE, GPIO_PORTG_BASE, GPIO_PORTQ_BASE
#endif
#ifdef __TM4C1294NCPDT__
GPIO_PORTA_BASE, GPIO_PORTB_BASE, GPIO_PORTD_BASE, GPIO_PORTF_BASE, GPIO_PORTQ_BASE
#endif
#endif
};
Rogerclark
Пт 17 июня 2016 г. 3:55 утра
Спасибо
Я думаю, что SQRT Func будет полезен с кодом FFT, который находится в другом потоке.
Ну, я полагаю, что в этом случае было бы лучше, если бы ассемблер FFT только что вернул результат Pythag, а не возвращал реальные и мнимые ценности, но его чужой проект и уже достаточно быстро
Я думаю, что SQRT Func будет полезен с кодом FFT, который находится в другом потоке.
Ну, я полагаю, что в этом случае было бы лучше, если бы ассемблер FFT только что вернул результат Pythag, а не возвращал реальные и мнимые ценности, но его чужой проект и уже достаточно быстро
Саймонф
Вт 26 июля 2016 г. 2:06 утра
Ну, я сделал еще одну трещину и сумел получить 32 -битный квадратный корень до 2. Относительные филиалы намного быстрее, чем абсолютные, но могут идти вперед, если я не читаю это неправильно.
static const unsigned long g_ulSSIPins[] = {
#ifdef TARGET_IS_BLIZZARD_RB1
GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5,
GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3,
GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3
#else
#ifdef __TM4C129XNCZAD__
GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5,
GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_4 | GPIO_PIN_5,
GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1 | GPIO_PIN_0,
GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1 | GPIO_PIN_0,
GPIO_PIN_7 | GPIO_PIN_6 | GPIO_PIN_5 | GPIO_PIN_4,
GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3
#endif
#ifdef __TM4C1294NCPDT__
GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5,
GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_4 | GPIO_PIN_5,
GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1 | GPIO_PIN_0,
GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1 | GPIO_PIN_0,
GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3
#endif
#endif
};