Вопросы по теме 'thumb'
Сравнение производительности ARM и Thumb на iPhone 3GS, код без плавающей запятой
Мне было интересно, есть ли у кого-нибудь точные цифры производительности кода ARM и Thumb на iPhone 3GS. Специально для кода без плавающей запятой (VFP или NEON) — мне известно о проблемах с производительностью с плавающей запятой в режиме Thumb....
8356 просмотров
schedule
12.06.2022
Как я могу проверить, скомпилирована ли сторонняя статическая библиотека для iPhone SDK для Thumb?
Я работаю с платформой разработки (monotouch), которая не позволяет мне связывать сторонние библиотеки, скомпилированные для Thumb, из-за ошибки в компоновщике Apple. Как я могу определить, была ли библиотека скомпилирована для большого пальца или...
453 просмотров
schedule
22.06.2022
Взаимодействие ARM-C
Я пробую простую программу для взаимодействия ARM-C. Вот код:
#include<stdio.h>
#include<stdlib.h>
int Double(int a);
extern int Start(void);
int main(){
int result=0;
printf("in C main\n");
result=Start();...
2593 просмотров
schedule
02.08.2022
Разборка одних и тех же бинарных файлов с разными инструкциями
Я использую микроконтроллер at91sam4e16e в своем приложении и примере загрузчика из ASF(xdk-1.15.0) для загрузчика с именем starter_kit_bootloader_demo.
Теперь я настроил проект для sam4e-ek. Я пытаюсь обновить двоичный файл с помощью этого...
101 просмотров
schedule
22.12.2022
GCC ARM Cortex-M3/M4: инструкция SVC переводит ЦП из состояния Thumb в состояние ARM из-за неправильного значения в таблице векторов
Я портирую ядро реального времени TNeoKernel на процессоры Cortex-Mx, оно работает при компиляции с ARMCC, но не работает при компиляции с GCC: сразу после вызова инструкции SVC PC обновляется до SVC_Handler , а при следующей (любой)...
815 просмотров
schedule
01.02.2023
Регистр во время компиляции проверяет наличие кода Thumb-2
В коде Thumb-2 невозможно использовать регистры 8-15 в большинстве инструкций, в то время как в коде ARM это возможно. Следовательно, следующая сборка выдает ошибку Illegal Instruction во время выполнения:
.syntax unified
.fpu...
180 просмотров
schedule
14.06.2022
Функция ARM THUMB2 для сравнения с рядом значений
Я новичок в ARM и хочу сравнить значение в регистре с набором известных шестнадцатеричных значений. На данный момент я делаю это, используя отдельные инструкции CMP, поэтому код выглядит так:
;stuff
CMP r2, #0x41
CMP r2, #0x45
CMP r2, #0x49...
542 просмотров
schedule
01.10.2022
Компилятор IAR 7.40 создает неверную сборку
У меня есть встроенный ассемблерный код для arm cortex-R5.
#include <stdio.h>
#define mtcpsr(v) __asm volatile(\
"msr cpsr,%0\n"\
: : "r" (v)\
)
int mfcpsr (void)
{
int rval;
asm("mrs %0,...
245 просмотров
schedule
12.08.2022
Значение контрольной суммы LPC4088 для большого пальца?
В руководстве пользователя LPC4088 (стр. 876) мы можем прочитал, что микроконтроллер LPC4088 имеет действительно необычную процедуру запуска:
Это выглядит как полная ерунда, и мне нужен кто-то, кто поможет мне разобраться... В мире ARM я...
122 просмотров
schedule
30.04.2023
Простой пример байта ветви таблицы (TBB) в большом пальце руки
Я пытаюсь выяснить детали того, как TBB работает в сборке руки. Я просто пытаюсь понять простой пример, но независимо от того, что мой код переходит в бесконечный цикл или не компилируется.
.syntax unified
.thumb...
827 просмотров
schedule
25.06.2023
Сколько векторов исключений нужно заливать в прошивку?
Я играю с ARM, используя плату STM32F103C8T6 Blue Pill. Согласно его Руководство по программированию (раздел 2.3.4 Таблица векторов), всего должно быть 83 вектора исключений. набор. Однако это руководство заполняет только первые 6 и этот...
99 просмотров
schedule
02.06.2022
Поведение регистра ПК ARM Thumb-2
Thumb-2 имеет размеры инструкций 32 и 16 бит, которые выровнены по 2 байтам. Более того, когда инструкция выполняется, регистр ПК имеет значение двух инструкций перед ней. То есть, когда вы вводите:
0x1 - MOV R1, [PC #xx]
Значение ПК не...
45 просмотров
schedule
06.01.2023
Почему в сгенерированной сборке для обработчика прерываний Cortex-M есть мертвая петля?
Я изучаю Cortex-M с помощью MDK uVision IDE. Я написал простой SysTick_Handler() , чтобы заменить WEAK по умолчанию SysTick_Handler() , который представляет собой простой мертвый цикл.
My SysTick_Handler() :
Разборка:
Меня...
79 просмотров
schedule
25.11.2023