forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Inline assembler

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> ARM
 
hazardrok
Profesionál
Profesionál


Založen: 16.1.2012
Příspěvky: 141

PříspěvekZaslal: 09 červenec 2018, 10:53    Předmět: Inline assembler Citovat

Ahoj nadlidi, mám prosbu...tento kód:
kód:

asm("movw r9, #0xE000"); 
asm("movt r9, #0x0800");


dělá to co bych chtěl, ale potřeboval bych předat hodnoty z Cčka. Zkusil jsem něco jako:
kód:

uint32_t Index1 = 0xE000;
uint32_t Index2 = 0x0800;

asm volatile(
    "movw r9, %[value1]\n\t"
    "movt r9, %[value2]\n\t"
    :: [value1] "r" (Index1), [value2] "r" (Index2)
    );   


ale překladači se to nelíbí s chybou:
kód:

Error: constant expression expected -- `movw r9,r3'
Error: constant expression expected -- `movt r9,r2'


nedokáže někdo poradit kde je problém? Dík
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 511

PříspěvekZaslal: 10 červenec 2018, 1:11    Předmět: Citovat

GCC ? To bych se raději šel zastřelit než toto Wink Bohužel neporadím...
_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
hazardrok
Profesionál
Profesionál


Založen: 16.1.2012
Příspěvky: 141

PříspěvekZaslal: 10 červenec 2018, 7:33    Předmět: inline Citovat

No já jsem to nakonec obešel jinak, ale tohle mi furt vrtá hlavou.

Funguje to takto:
kód:

register uint32_t adr asm("r3") = 0x0800E000;
   
asm volatile("mov r9, r3" :: "r" (adr));


Ještě bych potřeboval upravit ld script, ale to už je jiná písnička...
L.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> ARM Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2018 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)