-
Data: 2010-05-06 16:51:04
Temat: Re: STM32 i GNU assembler - problem z movs
Od: cepu69 <c...@t...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]SM wrote:
> cepu69 pisze:
>> Jacek Radzikowski wrote:
>>
>>> On 05/06/2010 02:00 AM, SM wrote:
>>> [...]
>>>> Wywołuję go: as.exe -mcpu=cortex-m3 -mthumb
>>>> I nie wiem czy aby poprawnie, bo nie łyka mi
>>>>
>>>> movs R11, #0x000B
>>>>
>>>> Pisze:
>>>> only lo regs allowed with immediate -- 'movs R11,#0x000B'
>>>>
>>>> Czy ten asembler się nie nadaje dla tego procka?
>>>> A może użyte opcje są niewłaściwe?
>>
(..)
>
> Cortex-M3 nie ma thumb, tylko thumb-2 i wtedy ma dostęp
> do wszystkich rejestrów.
Niekoniecznie :
http://www.arm.com/files/pdf/IntroToCortex-M3.pdf
"The Cortex-M3 core contains a decoder for
traditional Thumb and new Thumb-2 instructions"
> -mthumb jest OK, brakowało mi "-march=armv7-m" - to przełącza
> gcc na thumb-2 a .syntax unified "łączy" ARM i thumb.
Czlowiek uczy sie cale zycie :)
eCos http://ecos.sourceware.org/ (pozwole sobie na drobna reklame)
ma ustawine opcje gcc takie jak uzywales poczatkowo
-mcpu=cortex-m3 -mthumb
i jak najbardziej wykorzystywane sa instrukcje thumb-2
(...)
.syntax unified
.thumb
(...)
.global hal_switch_state_vsr
.thumb
.thumb_func
.type hal_switch_state_vsr, %function
hal_switch_state_vsr:
mov r0,#CYGNUM_HAL_CORTEXM_PRIORITY_MAX
msr basepri,r0
^^^^^^^
to jest raczej thumb-2
mov r0,#2 // Set CONTROL register to 2
msr control,r0
isb // Insert a barrier
Dziwnie to wyglada jak dla mnie.
BTW.
http://infocenter.arm.com/help/index.jsp?topic=/com.
arm.doc.ddi0337e/Chdbhfja.html
2.3.1. General-purpose registers
The general-purpose registers r0-r12 have no special architecturally-defined
uses. Most instructions that can specify a general-purpose register can
specify r0-r12.
Low registers
Registers r0-r7 are accessible by all instructions that specify a
general-purpose register.
High registers
Registers r8-r12 are accessible by all 32-bit instructions that specify
a general-purpose register.
Registers r8-r12 are not accessible by all 16-bit instructions.
Następne wpisy z tego wątku
- 06.05.10 17:55 SM
- 07.05.10 06:09 Adam Dybkowski
Najnowsze wątki z tej grupy
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
- Czym obecnie programuje się EPROM-y?
- zagadka sieciowa
- W Polsce powstaje grawitacyjny magazyn energii
- Linux wciąż wspiera dyskietki. Porządki w sterownikach do FDD
- Koniec z instalacją niezatwierdzonych aplikacji na Androidzie
Najnowsze wątki
- 2025-09-09 Lublin => Delphi Programmer <=
- 2025-09-09 Lublin => Programista Delphi <=
- 2025-09-09 Warszawa => Specialist in Administration <=
- 2025-09-09 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-09-09 Warszawa => Specjalista/tka ds. Administracji <=
- 2025-09-08 Długi kabel zasilający a na końcu procek
- 2025-09-08 Dużo niższe temperatury procesora po obudzeniu komputera... tak ma być czy jest coś nie tak?
- 2025-09-08 Warszawa => Senior Fullstack Developer <=
- 2025-09-08 Warszawa => Head of Technology <=
- 2025-09-08 Pozbawianie obywatelstwa: Rosja olewa konstytucyjny zakaz "jak RP3"?
- 2025-09-08 Wrocław => Android Developer (Java) <=
- 2025-09-08 Warszawa => Programista C <=
- 2025-09-08 Warszawa => Software .Net Developer <=
- 2025-09-08 Polacy zbiednieli
- 2025-09-08 UK: Transparent "Sprzeciwiam się ludobójstwu. Popieram Palestine Action" => 890 "terrorystów" zatrzymanych