169 похожих чатов

В Reset_Handler у тебя инструкции 32-битные. Откуда они там и

зачем?

9 ответов

25 просмотров

Кстати да.. Только заметил

16 битные желательно использовать?

s54820- Автор вопроса
Simple Sorcerer
16 битные желательно использовать?

Не желательно, а STM32, как и прочие микроконтроллеры не умеет A32 в принципе. Так что любой не-thumb код не заведётся вообще никак. А так, да, thumb кодируется 16 или 32 битами. Вычисления и адреса при этом 32-битные.

s54820- Автор вопроса

«Классический» формат кодирования ARM-инструкций.

s54820- Автор вопроса

org 0x08000000 thumb dw 0x20004000 ; Stack dw start dw 14 dup dummy dummy: b dummy GPIOC_ADDR = 0x40011000 RCC_ADDR = 0x40021000 LED_PIN = 13 start: movs r0,RCC_ADDR and 0xffff movt r0,RCC_ADDR shr 16 movs r1,0x10 ; Port C str r1,[r0,0x18] ; Enable port C in RCC.APB2ENR subs r0,1 shl 16 ; R0 = GPIOC_ADDR movs r1,0010b shl ((LED_PIN - 8) * 4) ; GPIO_C.CRH: output, 2 MHz str r1,[r0,0x04] loop: mov r1,0x100000 delay: subs r1,r1,1 bcs delay ldr r1,[r0,0x0c] ; GPIO_C.ODR eors r1,r1,1 shl LED_PIN str r1,[r0,0x0c] b loop Это фасмарм, околоминимальное мигание светодиодом под F103. Больше уже нечего выкинуть, наверное.

s54820
Не желательно, а STM32, как и прочие микроконтролл...

cortex-m3 умеет в некоторые 32-битные команды

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта