-
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
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem